如何保存系统上已安装软件包的名称以便在其他地方恢复此状态?

如何保存系统上已安装软件包的名称以便在其他地方恢复此状态?

我有 12.04,我正在寻找一种方法将所有当前安装的软件包名称存储到文件或存档中。不是软件包本身,而是名称。或者软件包管理的状态。

我想这样做是为了能够在两台计算机上按需同步已安装的软件包。这个想法是保存计算机 A 上已安装的名称,转到计算机 B,对名称进行差异化并卸载额外的软件包从 B 开始并安装缺失的部分。

为此,如果可以为每个包保存版本就好了。此外,如果有更适合我的情况的东西,包管理可以尽可能自动地处理,我就不会拘泥于名称。

出于个人喜好,我愿意这么做没有使用同步服务器。寻找基于文件的解决方案。

答案1

此命令将为您提供所有已安装的软件包及其各自的版本:

dpkg-query -W -f='${binary:Package}\t${Version}\n'

或者甚至更短(上述命令是的默认输出-W):

dpkg-query -W

dpkg-query 手册页以获取更多格式选项。

要备份和恢复你的软件包,请参阅回答

答案2

您还可以运行以下命令来列出已安装的软件包及其版本。

dpkg -l | awk '{print $2,$3}'

相关内容