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