
我正在閱讀有關從一台 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
參與!