我正在阅读有关从一台 Ubuntu/Debian 服务器备份软件包并恢复到另一台服务器的教程(https://www.digitalocean.com/community/tutorials/ubuntu-and-debian-package-management-essentials#transferring-package-lists- Between-systems)使用 dselect 作为过程的一部分。
然而,无论我在网上查找,每个人似乎都说 dselect 已被弃用,应该使用 apt 来代替,但我不确定 apt 的等价物是什么sudo apt-get dselect-upgrade
。
这真的只是吗sudo apt-get upgrade
?我会这样做吗:
sudo dpkg --set-selections < packagelist.txt
进而
sudo apt-get upgrade
?或者是否存在一些额外的细微差别dselect-upgrade
,需要使用不同的 apt 命令来获得相同的结果?
答案1
apt-get dselect-upgrade
实际上并不使用dselect
,它应用对Status
可用包列表中的字段所做的更改。这是dselect
过去所做的(现在仍然是),但它也是这样做的dpkg --set-selections
- 因此您遵循的说明只是使用 和 之间的旧dselect
接口apt-get
来apt-get
应用dpkg
.
过程是这样的:
dpkg --set-selections
更新可用软件包列表中的软件包状态(存储在 中/var/lib/dpkg/status
,基于 中的可用软件包/var/lib/dpkg/available
),但不执行任何软件包安装;apt-get dselect-upgrade
解决当前安装的包与可用包列表中请求的状态之间的差异,并执行必要的操作来协调两者。
没有dselect
参与!