Почему apt upgrade предлагает установить больше пакетов по сравнению с apt -get upgrade?

Вы можете значительно упростить цикл, как показано в следующем примере:

while read username action
do
   if [ "${action}" == "d" ]; then
      echo "deleteUser ${username}"
   elif [ "${action}" == "a" ]; then
      echo "addUser ${username}"
   fi
done < myFile
1
08.09.2020, 10:09
2 ответа

См.man 8 apt:

upgrade (apt-get(8))
   upgrade is used to install available upgrades of all packages currently installed on
   the system from the sources configured via sources.list(5). New packages will be
   installed if required to satisfy dependencies, but existing packages will never be
   removed. If an upgrade for a package requires the removal of an installed package the
   upgrade for this package isn't performed.

Это позволяет apt upgradeобновлять пакеты, которые apt-get upgradeне позволяет, путем установки дополнительных пакетов. Как указано в выводе apt upgrade:

The following NEW packages will be installed:
  linux-headers-5.4.0-47 linux-headers-5.4.0-47-generic linux-image-5.4.0-47-generic linux-modules-5.4.0-47-generic linux-modules-extra-5.4.0-47-generic motd-news-config

Старые версии справочной страницы делают ее более подробной:

DIFFERENCES TO APT-GET(8)

The apt command is meant to be pleasant for end users and does not need to be 
backward compatible like apt-get(8). Therefore some options are different:
[...]

- The option upgrade has --with-new-pkgs enabled by default.
2
18.03.2021, 23:06

apt upgradeпозволяет по умолчанию устанавливать новые пакеты во время обновления, а apt-get upgrade— нет. Это происходит каскадно, поэтому apt-get upgradeотказывается прикасаться к любому пакету, обновление которого приведет к установке нового пакета; это то, что происходит в вашем случае.

Используйте apt upgrade, чтобы убедиться, что у вас установлены все последние обновления безопасности. В некоторых случаях вам может понадобиться дажеapt full-upgrade(или apt-get..., здесь они эквивалентны ), если обновление включает удаление пакетов . FAQ по Debian рекомендует последнее напрямую (, когда не используетсяaptitude); поскольку вы используете другой дистрибутив, вы должны следовать инструкциям этого дистрибутива.

См. также apt -get upgrade задерживает обновление ядра. Каковы официальные инструкции по применению обновлений в Debian 9?

3
18.03.2021, 23:06

Теги

Похожие вопросы