Я надеюсь, что кто-то с большими знаниями сможет объяснить что-нибудь относительно того, как это сделать apt-get upgrade
в Ubuntu 16.04 и более поздних версиях.
Поведение, которое я наблюдаю, заключается в том, что apt-get upgrade
иногда не устанавливаются новые пакеты ядра, а иногда:
т.е. из вывода:
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic linux-tools-generic
яделатьзнаю, что выполнение dist-upgrade
установит эти пакеты (так что не повторяйте этот ответ :-). Чего я не знаю, так это что контролирует удержания этих пакетов.
Иногда новые ядра устанавливаются при выполнении , apt-get upgrade
а иногда пакеты удерживаются.
Устанавливаются ли эти блокировки самой Canonical или связаны ли они с зависимостями от других пакетов?
решение1
Команда apt-get upgrade
только обновляет пакеты до более новой версии, она не устанавливает новый пакет и не удаляет его для обновления пакета.
Когда вы обновляете свое ядро, вы на самом деле устанавливаете новое ядро. Ubuntu не будет обновлять ядро, он установит новое, сохранив старое.
Но почему? Почему мы устанавливаем новую версию ядра вместо того, чтобы обновить его до последней версии? Ответ — из-за стабильности.
Никогда не знаешь, что случится после обновления ядра, может не загрузиться система или заставить ваше оборудование работать правильно. Всегда сохраняйте старую версию, чтобы в случае возникновения проблем у вас все еще была рабочая машина.
Никогда не обновляйте рабочее ядро.
Говорит Slackwareруководство по обновлению системы.
Больше информации
man apt-get
:
Ни при каких обстоятельствах не удаляются установленные в данный момент пакеты, или не извлекаются и не устанавливаются пакеты, которые еще не установлены. Новые версии установленных в данный момент пакетов, которые не могут быть обновлены без изменения статуса установки другого пакета, будут оставлены в их текущей версии.
Однако, как вы знаете, вы также можете использовать apt-get dist-upgrade
или apt upgrade
для установки этих «скрытых» пакетов.
$ apt-cache search linux-image-4.4.*-generic | tail -3
linux-image-4.4.0-75-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-77-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-78-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
видите? это разные пакеты, поэтому вместо обновления выполняется новая установка.