简体   繁体   English

如何获得已安装应用程序(debian)的完整pkg列表?

[英]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.

相关问题 如何列出重新创建一组已安装软件包所需的最小Debian软件包集? - How can I list the minimal set of Debian packages needed to recreate a set of installed packages? 如何获取将在基于 debian 的 linux 上使用 apt 安装的 package 的版本信息 - How can I get version information of a package which will be installed using apt on debian-based linux 如何在Debian Lenny中修复apt-get更新,以便可以安装PostgreSql 9.1 - How to fix apt-get update in Debian Lenny so that PostgreSql 9.1 can installed 我怎样才能完成这个? - how can I complete this? 如何在 Gentoo 中列出已安装的屏蔽包? - How can I list installed masked packages in Gentoo? 在Debian vps上安装了gitlab-omnibus 8.16-现在我如何到达它? - Installed gitlab-omnibus 8.16 on debian vps - now how do I reach it? 无法在Debian上安装Telegram:ModuleNotFoundError:没有名为'apt_pkg'的模块 - Can't install Telegram on Debian : ModuleNotFoundError: No module named 'apt_pkg' 如何获取 apt 安装的所有软件包的列表? - How to get list of all packages installed by apt? Java-如何获取已安装的RPM软件包的列表 - Java - how to get list with installed RPM packages 如何在Python2.7的Debian环境中安装pyautogui? - How can I install pyautogui on a Debian environnement on a Python2.7?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM