如何在系统上导出已安装的Debian软件包列表,然后将这些软件包安装在新系统上?
备份:
sudo dpkg --get-selections > /tmp/dpkglist.txt
恢复:
sudo dpkg --set-selections < /tmp/dpkglist.txt sudo apt-get -y update sudo apt-get dselect-upgrade
另外看到这个问题的其他选项和信息: Ubuntu,如何设置一个像现有的新机器
我有上面的日常cronjob运行,检查dpgklist到SVN作为我们的服务器库存的一部分。 这样可以让您在整个服务器上保留一个合理的已安装软件包的准确清单,并且可以轻松快速地进行并排比较,以查看服务器是否缺less特定的软件包。
aptitude也满足这个用例,它保留了其他方法不包含的“自动安装”包的信息。 在参考机器上运行以下内容:
aptitude search -F '%p' '~i!~M' > package_list
将package_list复制到另一台机器并运行
xargs aptitude --schedule-only install < package_list; aptitude install;
这是一个好主意,如果你养成了这个习惯,你也可以用apt-proxy来build立一个服务器。
faultyservers答案为我工作,只有在运行不同的命令按照http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html
sudo apt-get install dselect sudo dselect access sudo dselect update
在那之前跑步
sudo apt-get dselect-upgrade
只返回
[…]
dpkg:warning:不在数据库中的行302:xfonts-utils
dpkg:警告:发现未知的软件包; 这可能意味着可用的数据库已过时,需要通过前端方法进行更新
pi @ FHEM -new:/ tmp $ sudo apt-get dselect-upgrade
正在读取软件包列表…完成
build立依赖关系树
阅读状态信息…完成
0升级,0新安装,0删除和0未升级。
我试图在我的新Raspberry(Raspbian GNU / Linux 8(jessie))上安装与我的旧版Raspberry Pi相同的软件包(运行Raspbian GNU / Linux 7(wheezy))。