我已经使用两个运行 Lubutu 的虚拟机对此进行了测试。
首先,我安装了几个程序(VIM 和 cowsay)然后运行:
sudo apt-get update
sudo apt-get upgrade
sudo dpkg --get-selections > /home/klak/my_package_list.txt
Run Code Online (Sandbox Code Playgroud)
然后我启动到另一个虚拟机,它是 VIM 和 cowsay 安装之前的前一个虚拟机的克隆,并运行以下命令:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install dselect
sudo apt-get dselect update
sudo dpkg --set-selections < ./my_package_list.txt && sudo apt-get -u dselect-upgrade
Run Code Online (Sandbox Code Playgroud)
但是,我现在希望能够加载 VIM 或使用 cowsay,但我得到:
klak@klakBox:/media/share$ vim
The program 'vim' can be found in the following packages:
* vim
* vim-gnome
* vim-tiny
* vim-athena
* vim-gtk
* vim-nox
Try: sudo apt-get …
Run Code Online (Sandbox Code Playgroud) 我通常使用https://askubuntu.com/a/99151/371765 上的教程重新安装 Ubuntu 并备份我的 APT 内容 [源、密钥和已安装的包列表] 。但是我通常也会删除图腾、传输、统一范围等软件。
当安装完成并且我从之前的安装中恢复我的 APT 源、密钥和已安装的包时,我发现我得到以下信息:
dpkg: warning: package not in database at line ###: vlc
[vlc 是一个例子,它可能是htop
或iotop
]。我认为它对要在 Universe 存储库中恢复的每个包都会发出此警告,但是我不太确定。在安装其他软件包 [例如 vlc] 期间,如何才能在新系统上卸载从以前系统卸载的任何内容?
我已经开始使用 diff 计划,但是当尝试将版本号转换为 Ubuntu 14.04.2 清单中的“测试”一词 [用于测试目的] 时,它会转换所有行而不是其中的一部分。