在一个 Linux 发行版中安装应用程序后,我希望能够在另一个 Linux 发行版中安装相同的应用程序,但在 Synaptic 中,并不总是清楚选择哪个顶级 pkg 来获取整个应用程序。 ubuntu 虽然有一个软件中心,仅将顶级 pkg 放在选择中,然后通过一些魔法知道成功安装所需包含的所有依赖项。
是否有某种方法可以获得 monodevelop 附带的所有软件包的完整列表(通过 apt-get 或 dpkg 命令通过管道传输到文件中),然后使用该文件作为另一个发行版(也基于 debian)的引用?
我之前的帖子@ stack_overflow回答了如何将整个安装集从一个系统迁移到另一个系统,所以现在我知道如何为安装提供文件输入。
最佳答案
严格来说这是不可能的。包声明对其他包的依赖关系,需要安装的包的层次结构只能在安装时编译。
示例案例:
应用程序包 A 依赖于包 B 和 C。包 C 依赖于包 D。
机器 X 已经有包 C(因此也有包 D,因为它是包 C 的依赖项)。您想要使用包 A 安装应用程序。包管理器现在检查是否满足所有依赖项。在本例中,C 已经安装,因此只需安装软件包 A 和 B。
机器 Y 没有安装任何依赖包。您想要使用包 A 安装应用程序。计算出的未满足依赖项列表将为 A、B,因为 A 需要它,C,因为 A 需要它,最后是 D,因为 C 需要它。
我希望事情变得清楚:您无需手动指定应用程序的所有包,包管理器会为您完成此操作。
关于linux - 如何获取已安装应用程序的完整 pkg 列表(debian)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703173/