Назад | Перейти на главную страницу

Когда обновление обновляет ядро ​​Ubuntu?

Меня немного смущают обновления ядра Ubuntu / Linux. Исходя из фона Windows, я как бы ожидаю, что все обновления будут доступны через диспетчер обновлений, в случае Ubuntu. apt/aptitude.

Тем не менее, если я посмотрю на версии ядра всех наших серверов (около 60 из них), я вижу, что у многих есть разные ядра между 3.13.0-24-generic и 3.13.0-52-generic хотя все они работают под управлением Ubuntu 14.04.2.

Если я войду на сервер с 3.13.0-24-generic работает и запускает обновление, никаких обновлений ядра не предлагается.

Почему новые версии ядра не устанавливаются / не применяются с apt-get upgrade и почему не do-release-upgrade обновить ядро ​​таким же (последним) ядром?

Может ли кто-нибудь рассказать немного о том, как работают обновления ядра linux / ubuntu?

Обратите внимание, я бегу apt-get update перед apt-get upgrade пока не установлены обновления ядра.

Большое спасибо!

Ваша проблема может быть связана с недопониманием относительно apt. Репозитории Ubuntu содержат только один текущая версия пакета.

Перед тем как бежать apt-get upgrade, вам нужно обновить aptкеш пакетов. Он должен запрашивать у репозиториев актуальные метаданные. В противном случае, apt не распознает наличие новой версии пакета (в вашем случае, пакета ядра linux). Следовательно, чтобы действительно обновить пакеты на ваших серверах до более новой версии, вы должны запустить

sudo apt-get update && sudo apt-get upgrade

Каждый выпуск Ubuntu содержит список предустановленных ядер, чтобы узнать об установленных ядрах, выполните следующую команду в терминале:

dpkg -l | grep -Ei "linux-headers|linux-image"

ядро состоит из таких файлов, как:

linux-headers-<version>_<version>_all.deb  
linux-headers-<version>-generic_<version>_<architecture>.deb  
linux-image-<version>-generic_<version>_<architecture>.deb  
linux-image-extra-<version>-generic_<version>_<architecture>.deb  

в зависимости от архитектуры системы (x86 или x64) do-release-upgrade или apt-get upgrade обновят все установленные пакеты, включая пакеты ядра, однако мы должны выбрать соответствующее ядро ​​для загрузки с

чтобы загрузить новые ядра, перейдите в kernel.ubuntu.com
скачать файлы и установить их, используя dpkg -i

Вы также можете сделать следующее:

apt-cache search linux-image

Выберите тот, который вам нужен, а затем выполните:

sudo apt-get install linux-image-your_version_choice

Поскольку 4-й номер в версии ядра обычно считается патчем ... Я предполагаю, что система определила, что вам не нужен ЭТОТ патч, т.е. программное обеспечение, установленное в вашей системе, не имеет версии патча ядра в качестве зависимости. Он также говорит мне, что это не обновление безопасности.

Итак, если никакое программное обеспечение не зависит от патча 52, и все установленное программное обеспечение подходит для 24, то я предполагаю, что оно не будет установлено, и система оставит ядро ​​24 в покое.

Ящик получит новое ядро ​​только после перезагрузки. Возможно, у вас уже установлено более новое ядро, но если ящик не перезагружен, у него еще не было возможности переключиться на него. В последних ядрах Linux разрабатывается технология, позволяющая обновлять ядро ​​в реальном времени, но это все еще очень актуально.

Я не помню, в какой версии произошло изменение, но несколько лет назад apt-get и aptitude перестали предлагать обновления ядра по умолчанию, если вы не вошли на сервер локально. Если вы входите на серверы удаленно (через ssh), вы можете использовать команду

sudo apt-get update && sudo apt-get dist-upgrade

для включения обновлений ядра.