Связано с моим предыдущий вопрос, какие параметры apt следует использовать при обновлении пакета, чтобы:
Заранее благодарю за любую помощь
Я провел небольшое исследование на страницах руководства, в частности в man apt.conf
и man apt-get
, и нашел следующее. Прокомментируйте, если вы думаете, что я что-то забыл.
--only-upgrade
, или установите элемент конфигурации apt APT::Get::Only-Upgrade
к правдеAPT::Get::force-yes
установить на ложь--no-remove
, или установите элемент конфигурации apt APT::Get::Remove
ложьНе уверен что --trivial-only
/APT::Get::Trivial-Only
здесь помогает, нужно лучше разобраться.
С участием aptitude
, соответствующие части выглядят так:
safe-upgrade
команда с --no-new-installs
вариантAptitude::Delete-Unused
значение false, чтобы неиспользуемые пакеты не удалялись автоматически (я могу не согласиться с aptitude относительно того, что не используется ...)-R
/--without-recommends
может помочь, требуется дополнительное исследованиеОбновить Я провел несколько тестов на старой системе:
# grep ^Ubuntu /etc/motd
Ubuntu 10.04.4 LTS
apt-get
выглядит осторожнее, а результат не отличается от обычного apt-get upgrade
и apt-get -o APT::Get::Only-Upgrade=true --no-remove -o APT::Get::force-yes=false upgrade
.
aptitude
кажется более агрессивным, а «безопасные варианты», похоже, делают свое дело. Стандартное обновление (фактически выполняется safe-upgrade
)
# aptitude -s -y upgrade
W: The "upgrade" command is deprecated; use "safe-upgrade" instead.
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
Reading extended state information
Initializing package states... Fatto
Resolving dependencies...
The following NEW packages will be installed:
linux-image-2.6.32-55-generic-pae{a}
The following packages will be upgraded:
linux-generic-pae linux-image-generic-pae linux-image-server linux-libc-dev linux-server
5 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/32.8MB of archives. After unpacking 98.2MB will be used.
Would download/install/remove packages.
Теперь с «безопасными» вариантами:
# aptitude -s -y --no-new-installs -R -o Aptitude::Delete-Unused=false safe-upgrade
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
Reading extended state information
Initializing package states... Fatto
Resolving dependencies...
The following packages have been kept back:
linux-generic-pae linux-image-generic-pae
The following packages will be upgraded:
linux-image-server linux-libc-dev linux-server
3 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0B/878kB of archives. After unpacking 0B will be used.
Would download/install/remove packages.
Намного больше похоже на то, что я хотел.
К сожалению, ни один из обоих наборов, похоже, не препятствует установке новых пакетов или обновлению других пакетов при использовании с install
команда вместо upgrade
/safe-upgrade
, так что я как бы вернулся к исходной точке: я не могу apt-get
/aptitude
чтобы остановиться, когда он может выполнить потенциально параноидально опасную операцию. В каком-то смысле у меня есть лучшая подстраховка, но мне ничто не мешает упасть.