[英]how can I get a complete pkg list for an installed app (debian)?
After installing an application in one linux distro, I'd like to be able to install the same in another but in synaptic it isn't always clear which top level pkg to select to get the entire application. 在一个Linux发行版中安装了应用程序之后,我希望能够在另一个Linux发行版中安装该应用程序,但是在突触中,并不总是清楚选择哪个顶级pkg来获取整个应用程序。 ubuntu though has a software center that puts the top level pkg only to select and then via some magic knows all the dependencies to include for a successful install.
ubuntu拥有一个软件中心,该中心仅选择顶级pkg,然后通过某种魔术知道成功安装要包括的所有依赖项。
Is there some way to get a complete list (via an apt-get or dpkg command piped into a file ) of all the packages that came with say, monodevelop and then use that file as a reference on another distro (also debian based)? 是否有某种方法(通过apt-get或dpkg命令通过管道传输到文件中)来获取monodevelop附带的所有软件包的完整列表,然后将该文件用作另一个发行版(也基于debian)上的引用?
My previous post @ stack_overflow answered how to migrate an entire installation set from one system to another so now I know how to provide file input for an install. 我以前的文章@ stack_overflow回答了如何将整个安装集从一个系统迁移到另一个系统,因此现在我知道如何为安装提供文件输入。
Strictly speaking it's not possible to do so. 严格来说,这是不可能的。 Packages declare dependencies on other packages, a hierarchy of packages that need to be installed can only be compiled at the moment of installation.
软件包声明了对其他软件包的依赖关系,仅在安装时才可以编译需要安装的软件包层次结构。
Example case: 示例案例:
Application package A depends on packages B and C. Package C depends on package D. 应用程序程序包A取决于程序包B和C。程序包C取决于程序包D。
Machine X already has package C (and therefore package D, because it's a dependency of package C). 机器X已经具有程序包C(因此还有程序包D,因为它是程序包C的依赖项)。 You want to install the application using package A. The package manager now checks if all the dependencies are met.
您要使用程序包A安装应用程序。程序包管理器现在检查是否满足所有依赖性。 In this case, C is already installed, so there are just the packages A and B that need to be installed.
在这种情况下,已经安装了C,因此仅需要安装软件包A和B。
Machine Y doesn't have any dependent packages installed. 机器Y没有安装任何依赖程序包。 You want to install the application using package A. The calculated list of unmet dependencies would be A, B because A needs it, C because A needs it, and finally D, because C needs it.
您想使用程序包A安装应用程序。计算得出的未满足依赖项列表为A,B,因为A需要它,C是因为A需要它,最后是D,因为C需要它。
I hope it's getting clear: You needn't manually specify all packages for an application, the package manager does that for you. 我希望情况已经清楚了: 您不必手动为应用程序指定所有软件包,软件包管理器会为您完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.