Мне было интересно, почему upgrade иногда не хочет обновлять некоторые части системы, а dist-upgrade. Вот пример после запуска apt-get upgrade:
apt-get upgrade:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
по сравнению с apt-get dist-upgrade:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-headers-3.0.0-13 linux-headers-3.0.0-13-generic
linux-image-3.0.0-13-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.5 MB of archives.
After this operation, 215 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Другими словами, почему не может ли это быть выполнено upgrade?
apt-get upgrade ограничивается случаем, когда пакеты должны быть заменены более новыми версиями, но пакет не нужно добавлять или удалять. Например, новая версия Firefox должна быть установлена с помощью apt-get upgrade.
Однако apt-get upgrade откажется работать, если в обновленных версиях есть дополнения или удаления. Например, если у вас установлено ядро linux-image-3.2.0-10-generic и linux-image-3.2.0-11-generic, пакет linux-image-generic обновляется, чтобы зависеть от более новой версии. Чтобы установить новое ядро, вам нужно запустить apt-get dist-upgrade.
Обратите внимание, что apt-get upgrade скажет, что пакеты ядра были held back. Это подсказка для использования apt-get dist-upgrade.
В основном обновление будет только обновлять существующие пакеты из одной версии в другую. Он не будет устанавливать или удалять пакеты, даже если это необходимо для обновления других. В случае обновлений ядра для обновления пакета linux-generic требуется установить новый пакет linux-3.0.0-13-generic, а так как обновление отказывается устанавливать или удалять пакеты, оно отказывается обновлять linux-generic.
Иногда различные несовместимости между пакетами требуют, чтобы некоторые пакеты были удалены, чтобы обновить другие, и для этого также потребуется dist-upgrade. Обновления ядра всегда требуют dist-upgrade из-за того, как они обрабатываются. Вместо того, чтобы обновлять пакет ядра, каждый раз создается полностью новый пакет ядра, а метапакет ядра обновляется, чтобы зависеть от нового пакета ядра вместо старого. Это было сделано для сохранения старых версий ядра, чтобы в случае возникновения проблемы с загрузкой нового ядра вы можете выбрать старый из меню загрузки и восстановить.
Команда apt-get upgrade обычно устанавливает обновления (или исправления) только установленных пакетов. Как правило, с этой командой будет установлена новая версия Mozilla Firefox.
Однако apt-get upgrade будет apt-get upgrade , как правило, устанавливать новые версии, где основные изменения (в том числе требуется удаление пакетов или обновление GRUB). Например, когда доступно новое ядро Linux (linux-image-3.xx-xx-generic и т. Д.), Пакет не будет установлен.
Чтобы установить новое ядро, вы необходимо запустить apt-get dist-upgrade. Вы будете уведомлены, когда вы запустите Mozilla Firefox , поскольку он скажет, что некоторые пакеты были сдержаны. Это ваша подсказка: apt-get dist-upgrade.