从dpkg恢复所有数据和依赖项–set-selections’*’

所以我可以在一台机器上运行:

dpkg --get-selections '*' > selection.txt 

在另一台机器上:

 dpkg --set-selections < selection.txt 

…后跟以下任一项:

 aptitude install apt-get -u dselect-upgrade 

…安装包。

但是,似乎某些信息在进程中丢失了,例如一个包(比如xyz )是否自动安装为另一个包( abc )的依赖项。 你可以看到,每当你做apt-get --purge remove abc类的东西时, apt-get --purge remove abc 。 在原始计算机上,您将收到通知,包xyz已作为abc依赖项安装,并且您可以使用apt-get autoremove来删除它。

现在我知道deborphandebfoster ,但考虑到手头的(简单)任务,它们使用起来很麻烦。

似乎保存和恢复如上所示的选择不足以恢复已安装软件包的细微依赖关系。

有没有办法备份包管理的完整元数据集,然后将其全部还原?

备份:

 apt-mark showauto > pkgs_auto.lst apt-mark showmanual > pkgs_manual.lst 

恢复:

 sudo apt-mark auto $(cat pkgs_auto.lst) sudo apt-mark manual $(cat pkgs_manual.lst)