可重复的包安装

可重复的包安装

有没有办法可以跟踪您在 Ubuntu 上安装的软件包?

比如说“npm install blah”,然后你就可以将 blah 安装在当前目录中,并将其记录在你的 package.json 中。除了使用 Ansible 之类的东西之外,是否有办法跟踪我通过 apt 安装/卸载的软件包(无需跟踪来自基础安装的默认软件包)并将其保存到一个文件中,然后我可以将其置于修订控制之下?

答案1

Ubuntu 系统上安装或删除的软件包由软件包跟踪dpkg。要将一组已安装的软件包从一台机器复制到另一台机器,请在第一台机器上执行以下操作:

sudo dpkg --get-selections > installed-packages

这会将所有已安装(和已删除)的软件包写入文件installed-packages。将此文件传输到另一台机器,然后执行以下操作:

sudo dpkg --set-selections < installed-packages
sudo apt-get dselect-upgrade

(您可能需要手动安装一个名为dselectfirst 的包)这会将选定的包设置为“安装”,并在第二步中实际安装它们。

对于具有不同文件的机器,或者第一台机器上已安装 PPA 时不起作用sources.list,但通常您会将第一个系统的安装复制到第二个系统。

相关内容