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

标签 linux debian apt-get

在一个 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/

相关文章:

debian - 当系统已安装包时,使用 apt-get 下载包

.net - 如何在 Ubuntu 16.04 LTS 上安装 dotnet SDK

linux - 为什么许多 init.d 脚本以 "exit $?"结尾?

ubuntu - 如何为 Ubuntu 10.04 安装 apt-get?

linux - 如何通过将其内存存储到磁盘并稍后恢复它来在 Linux 中 "hibernate"进程?

linux - 停止 timesyncd 轮询硬编码的 Debian 时间服务器

android - 错误 :Execution failed for task ':app:zipalignDebug' . > 当我在 Android Studio 上运行我的应用程序时

linux - Debian Docker 配置文件

linux - 将本地计算机上的文件(代码)与远程服务器同步

linux - ssh嵌套登录到其他ssh