在一个Linux发行版中安装一个应用程序后,我希望能够在另一个Linux发行版中安装它,但在synaptic中,它并不总是清楚选择哪个顶级pkg来获取整个应用程序。 ubuntu虽然有一个软件中心,只能选择顶层pkg,然后通过一些魔法知道要包含的所有依赖项以便成功安装。
有没有办法获得一个完整的列表(通过apt-get或dpkg命令管道传输到文件中)所有的软件包,比如monodevelop,然后使用该文件作为另一个发行版的参考(也是debian)基于)?
我之前的帖子@ stack_overflow回答了如何将整个安装集从一个系统迁移到另一个系统,所以现在我知道如何为安装提供文件输入。
答案 0 :(得分:0)
严格来说,这是不可能的。包声明了对其他包的依赖性,需要安装的包的层次结构只能在安装时进行编译。
示例案例:
应用程序包A取决于包B和C.包C取决于包D.
机器X已经有了包C(因此包D,因为它是包C的依赖关系)。您希望使用程序包A安装应用程序。程序包管理器现在检查是否满足所有依赖项。在这种情况下,已经安装了C,因此只需要安装包A和B.
机器Y没有安装任何依赖包。您希望使用程序包A安装应用程序。计算出的未满足依赖项列表将是A,B,因为A需要它,C因为A需要它,最后是D,因为C需要它。
我希望它变得清晰:您无需手动指定应用程序的所有包,包管理器会为您执行此操作。