Какова логика удержания пакетов ядра?

Какова логика удержания пакетов ядра?

Я надеюсь, что кто-то с большими знаниями сможет объяснить что-нибудь относительно того, как это сделать 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

видите? это разные пакеты, поэтому вместо обновления выполняется новая установка.

Связанный контент