在另一个系统上安装相同的 debian 软件包

jes*_*199 13 package-management debian export

如何导出系统上已安装的 Debian 软件包列表,然后在新系统上安装这些相同的软件包?

fau*_*ver 17

备份:

sudo dpkg --get-selections > /tmp/dpkglist.txt
Run Code Online (Sandbox Code Playgroud)

恢复:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade
Run Code Online (Sandbox Code Playgroud)

另请参阅此问题以获取其他选项和信息:Ubuntu, how to setup a new machine like an existing machine

我在每日 cronjob 中运行上述内容,将 dpgklist 作为我们服务器清单的一部分检查到 SVN 中。这将使您能够在您的服务器上保持合理准确的已安装软件包清单,并且可以轻松地进行快速并排比较以查看服务器是否缺少特定软件包。

  • 对于每个输入行,我都收到此错误消息:```dpkg: warning: package not in status or available database at line ...``` (3认同)

小智 11

aptitude也满足这个用例,它保留了其他方法没有的“自动安装”包的信息。在参考机器上运行以下命令:

aptitude search -F '%p' '~i!~M' > package_list 
Run Code Online (Sandbox Code Playgroud)

复制package_list到另一台机器上运行

xargs aptitude --schedule-only install < package_list; aptitude install; 
Run Code Online (Sandbox Code Playgroud)