
Я читаю руководство по резервному копированию пакетов с одного сервера Ubuntu/Debian и восстановлению на другом (https://www.digitalocean.com/community/tutorials/ubuntu-and-debian-package-management-essentials#передача-списка-пакетов-между-системами), который использует 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
действий!