所以我可以在一台机器上运行:
dpkg --get-selections '*' > selection.txt
在另一台机器上:
dpkg --set-selections < selection.txt
...,然后执行以下任一操作:
aptitude install
apt-get -u dselect-upgrade
...安装该软件包。
但是,在此过程中似乎丢失了一些信息,例如是否xyz
自动安装了一个软件包(例如)作为对另一个软件包的依赖(abc
)。您可以看到,无论何时执行类似的操作apt-get --purge remove abc
。在原始计算机上,系统将通知您xyz
已安装软件包作为的依赖项abc
,您可以使用apt-get autoremove
它来摆脱它。
现在我知道了deborphan
和debfoster
,但是鉴于手头的(简单)任务,它们使用起来很麻烦。
像上面显示的那样保存和还原选择似乎不足以还原已安装软件包的微妙依赖性。
有没有一种方法可以备份整套元数据以进行程序包管理,然后将其完整还原?
我经常想知道同一件事,我生成了一个大型shell脚本,其中包含所有软件包(减去libs)的“ sudo apt-get install”。当然,我遇到了您遇到的相同问题。
—
Chuck R
我猜想,开始查找的最佳位置是检查dpkg是否实际上负责该信息。如果不是这样,那也许是适当的工作。
—
哈克2012年
如果您采用手动方式,则可能有兴趣
—
Lekensteyn 2012年
apt-mark
保存/恢复有关自动安装或手动安装的软件包的信息
它不在10.04软件包回购中,对吗?这是Canonical仓库还是第三方的一部分?
—
0xC0000022L 2012年