![如何在 Ubuntu 安装/软件清单工具之间保留已安装的软件?](https://linux22.com/image/1121254/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%20%E5%AE%89%E8%A3%85%2F%E8%BD%AF%E4%BB%B6%E6%B8%85%E5%8D%95%E5%B7%A5%E5%85%B7%E4%B9%8B%E9%97%B4%E4%BF%9D%E7%95%99%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%EF%BC%9F.png)
有没有好的方法可以管理/跟踪 Ubuntu 机器上已安装的软件?
这些年来,我们不断改进我们的系统,安装各种有用的工具,使我们在自己的系统中更加“自在”。然后有一天,我们必须买一台新笔记本电脑,安装新版本的 Ubuntu,复制所有文件并设置新系统。然后花几天、几周甚至几个月的时间重新安装所有以前安装的应用程序。
在此过程中,将所有以前的申请延续下来将会非常有帮助。
实现此目的的最佳方法是什么? apt 肯定会维护所有已安装软件包的数据库,但是如何在新安装的系统中轻松地重新安装所有这些软件包?
答案1
dpkg --get-selections > YourFile.txt
会将您当前的所有包的名称放入一个文本文件中。
然后,在新机器上将其放在YourFile.txt
某处(我将使用桌面作为示例)并执行以下操作:
sudo apt-get update
sudo apt-get install aptitude
dpkg --set-selections < ~/Desktop/YourFile.txt
sudo apt-get dselect-upgrade
sudo aptitude install $(cat ~/Desktop/YourFile.txt | awk '{print $1}')
编辑并注明:这将重新安装您已安装的所有软件包。因此,如果您现在正在使用(例如)xubuntu 12.04,但您的新机器将是 kubuntu 14.04,那么您的桌面管理器就会出现许多问题,在这种情况下,您可能需要编辑YourFile.txt
以摆脱其中的一些问题
答案2
上述两个答案都没有提到的一件事是那些来自非标准 PPA 的应用程序——我遇到过一个备份/重新安装脚本,它
备份:
dpkg --get-selections > ~/Package.list
sudo cp -R /etc/apt/sources.list* ~/
sudo apt-key exportall > ~/Repo.keys
恢复
sudo apt-key add ~/Repo.keys
sudo cp -R ~/sources.list* /etc/apt/
sudo apt-get update
sudo apt-get install dselect
sudo dpkg --set-selections < ~/Package.list
sudo apt-get dselect-upgrade -y
我不能为此承担任何责任,是的,它确实存在与上述评论中提到的相同的版本问题,但如果您要寻找的是干净的备份/重新安装,这可能会有所帮助。
另请注意,我已稍微修改了 rsync 脚本以供自己使用
答案3
在旧系统上,运行
sudo apt-get install dpkg-repack fakeroot && mkdir ~/dpkg-repack; cd ~/dpkg-repack && sudo fakeroot -u dpkg-repack `dpkg --get-selections | grep install | cut -f1`
将每个已安装的应用程序作为 deb 包放入文件夹中,然后使用以下命令将其安装在目标计算机上
sudo dpkg -i *.deb
最好的部分是,它会一次安装所有内容,因此您不必担心依赖关系。