Есть ли эквивалент работы aptitude safe-upgrade
с использованием apt-get
?
Команда apt-get
ближе к aptitude safe-upgrade
- это upgrade
, но есть разница.
aptitude safe-upgrade
обновляет установленные в настоящее время пакеты и может устанавливать новые пакеты для разрешения новых зависимостей, но никогда не удаляет пакеты.
apt-get upgrade
обновляет установленные в настоящее время пакеты, но никогда не устанавливает и не удаляет пакеты.
Таким образом, apt-get upgrade
сопоставим с aptitude --no-new-installs safe-upgrade
.
Я думаю, что эквивалент будет:
apt-get --with-new-pkgs upgrade
И ключ в том, что --with-new-pkgs
позволяют устанавливать новые пакеты при использовании в сочетании с обновлением, так что это в основном делает то же самое, что aptitude safe-upgrad
установить обновления и новые пакеты, необходимые для этих обновлений.
Чтобы быть более точным при удалении пакетов:
man aptitude говорит:
-safe-upgrade ... Установленные пакеты не будут удалены , если они не будут не используются ...
blockquote>, тогда как man apt-get говорит:
-upgrade ... ни при каких обстоятельствах в настоящее время установленные пакеты не удаляются ...
BLOCKQUOTE>
Комбинируя команду PhoenixS и комментарий Ролана Беккера об удалении неиспользуемых пакетов (и дважды проверяя все это на страницах руководства aptitude
и apt-get
), кажется, что команда, использующая apt-get
, полностью имитирующая бевайор из aptitude safe-upgrade
есть
apt-get upgrade --with-new-pkgs --autoremove
Это было однажды протестировано на Ubuntu 16.04, и оно по крайней мере работало, удаляя некоторые пакеты и обновляя некоторые другие пакеты, но не устанавливая никаких новых пакетов (думаю, что в этом нет необходимости)