Ядро операционной системы - это один из самых важных компонентов Linux, поскольку именно там выполняются все самые важные операции, такие как, управление памятью, управление процессами, работа с сетью на самом низком уровне и управление аппаратным обеспечением. Если в ядре есть какая-либо уязвимость, то это открывает злоумышленникам полный доступ к системе.
Вот почему очень важно вовремя обновлять ядро. Также в новых версиях, обычно, добавляются новые функции, улучшаются драйвера и многое другое. Кроме того, новое ядро позволит вам использовать все самые новые технологии. В этой статье мы рассмотрим как выполняется обновление ядра в CentOS несколькими способами.
Содержание статьи:
Проверка версии ядра
Вместе с дистрибутивом устанавливается и определенная версия ядра. Перед тем как перейти к обновлению нужно сначала узнать какая версия установлена сейчас и нужно ли ее обновлять. Для этого есть команда uname:
uname -sr
Утилита покажет текущую версию вашего ядра, включая архитектуру, для которой оно было собрано. Чтобы посмотреть всю информацию можно использовать опцию -a:
uname -a
Дальше откройте официальный сайт ядра kernel.org. Здесь вы можете видеть, что самая последняя на данный момент версия - это 4.10.8.
Возможно, на момент прочтения статьи будут и более новые версии. Подробнее о цикле выпуска новых версий можно более подробно узнать из статьи разработка ядра Linux.
Обновление ядра CentOS
В большинстве дистрибутивов, и в том числе в CentOS предусмотрено обновление пакетов с помощью встроенного пакетного менеджера, например, yum или apt. Но тем не менее, такой способ позволяет обновить ядро CentOS только до последней версии, которая есть в репозитории. Естественно, что там еще нет самой свежей версии, которая есть на kernel.org.
В CentOS можно использовать репозиторий ELRepo, с помощью него можно выполнить обновление ядра CentOS 7 до самой новой версии. Сначала нужно подключить репозиторий к системе:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
После того как репозиторий был подключен, можно посмотреть какая версия ядра там доступна. Для этого используйте такую команду:
sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
И так, сейчас мы видим, что доступна версия 4.10.8, а это самая новая стабильная версия, исходники которой есть на kernel.org. Дальше осталось установить версию ядра из этого репозитория:
sudo yum --enablerepo=elrepo-kernel install kernel-ml
После завершения перезагрузите компьютер что активировать самую последнюю версию ядра, которая только что была установлена. Затем вы можете убедиться в том, что была установлена именно эта версия с помощью команды:
uname -sr
Настройка загрузчика Grub
Для того чтобы новое ядро загружалось автоматически, необходимо поменять несколько параметров запуска дистрибутива в загрузчике Grub. Откройте конфигурационный файл /etc/defaul/grub и измените значение переменной GRUB_DEFAULT на 0:
Это означает, что по умолчанию будет использоваться первое ядро , которое находится в списке Grub. А первым обычно размещается именно самое новое. Чтобы обновить конфигурацию выполните команду:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Осталось еще раз перезагрузиться чтобы убедиться, что теперь все по умолчанию выбирается нужное ядро. Теперь готово, обновление ядра CentOS 7 до самой новой версии завершено.
Выводы
Из этой статьи вы узнали как легко обновить ядро CentOS до самой последней версии. Но есть еще один метод, который мы здесь не рассматривали. Вы можете собрать ядро из исходного кода. Такой метод подходит не только для CentOS, но и для других дистрибутивов. С помощью него вы можете очень тонко настроить параметры ядра, а также внести различные оптимизации для улучшения работы системы. Но с такой же легкостью вы можете сломать свою систему.
Источник: www.tecmint.com
Я так давно не смеялся, спасибо
Ты это к чему?
"Но тем не менее, такой способ позволяет обновить ядро CentOS только до последней версии, которая есть в репозитории. Естественно, что там еще нет самой свежей версии, которая есть на kernel.org." - а по какой причине репозитории не обновляются оперативно как выходят новые версии ядер? Возможно специально выдерживают паузу для тестирования?
Если да, то может не стоит так поспешно обновляться с сайте kernel.org?
Ага, до сих пор тестируют, тестируют, недотестируют. В 6 ветке 2.6.32, а в 7 ветке 3.10.0 🙁
Спасибо за статью
yum update
И обновляйте ПО регулярно
Не надо подключать левые репозитории
Разработчики центось не меняют версии ПО, а патчи безопасности регулярно накладывают
Тем самымиу вас ничего не сломается и система будет безопасной
Не решайте за других. Некоторым нужны возможности актуальной версии ядра, а не древней 3.10 с секьюрными патчами.
Не только в безопасности дело. В последних ядрах очень много чего наворотили по сетевому стеку. Например route cache выпилили, что сильно подняло производительность роутеров. Вот и оставайся после этого на 2.6 ядре
Спасибо, интересная статья. Попробую на своем блоге продублировать своими словами. А так спасибо и сайт красивый 🙂
/etc/defaul/grub - очепятка, пропущена T:
/etc/default/grub
ошибка в пути
Откройте конфигурационный файл /etc/defaul/grub и измените значение переменной GRUB_DEFAULT на 0:
нужно /etc/defaulе/grub
Спасибо за статью!
Подскажите, пожалуйста, чем отличаются ядра kernel-ml от обычных ядер?
#mcedit /etc/default/grub
#GRUB_DEFAULT=0
#grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
вот так работает только, видимо потому что EFI, а по статье выбиралось всегда другое ядро, не свежее
К чему такие усложнения? Достаточно ввести команду yum update и если будет новое и стабильное ядро, то оно установится. После установки перезагружаемся и появится выбор с каким ядром загрузиться - старым или новым.
Все сработало! Супер!
С включенным secure boot не грузится. И консоль vmware почему-то перестает работать.