Обновление ядра в CentOS до последней версии
Please use install script Kernel 5 in CentOS 7
curl -O https://mirror.galaxydata.ru/share/scripts/kernel.sh sh kernel.sh
Для IPv6
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://mirror.imt-systems.com/elrepo/archive/kernel/el7/x86_64/RPMS/elrepo-release-7.0-4.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel kernel-ml-headers -y grub2-set-default 'CentOS Linux (5.2.8-1.el7.elrepo.x86_64) 7 (Core)' grub2-mkconfig -o /boot/grub2/grub.cfg grub2-editenv list
Список команд для быстрого обновления:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://elrepo.org/linux/kernel/el7/x86_64/RPMS/elrepo-release-7.0-4.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel kernel-ml-headers -y grub2-set-default 'CentOS Linux (5.2.8-1.el7.elrepo.x86_64) 7 (Core)' grub2-mkconfig -o /boot/grub2/grub.cfg grub2-editenv list yum install yum-utils package-cleanup --oldkernels --count=2 nano /etc/yum.conf ##add exclude=kernel.x86_64 # tuned on virual server tuned-adm profile virtual-guest tuned-adm active === modprobe tcp_bbr echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf echo "# allow testing with buffers up to 64MB net.core.rmem_max = 67108864 net.core.wmem_max = 67108864 # increase Linux autotuning TCP buffer limit to 32MB net.ipv4.tcp_rmem = 4096 87380 33554432 net.ipv4.tcp_wmem = 4096 65536 33554432 # recommended default congestion control is htcp net.ipv4.tcp_congestion_control=htcp # recommended for hosts with jumbo frames enabled net.ipv4.tcp_mtu_probing=1 # recommended for CentOS7/Debian8 hosts net.core.default_qdisc = fq " | sudo tee -a /etc/sysctl.conf sysctl -p == check - sysctl net.ipv4.tcp_available_congestion_control sysctl net.ipv4.tcp_congestion_control == yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel kernel-ml-headers -y
В данном посте будет рассмотрено обновление ядра в CentOS 6,7 до последней версии.
Шаг 1. Добавление репозитория в систему
Импортируем ключ
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Добавляем репозиторий для CentOS 7
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Добавление репозитория для CentOS 6 (Внимание, перед установкой ядра нужно обновить систему командой yum upgrade)
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Шаг 2. Устанавливаем плагин yum-plugin-fastestmirror
yum install yum-plugin-fastestmirror
Шаг 3. Проверяем текущую версию ядра
uname -r
Результат для CentOS 7
Шаг 4. Устанавливаем последнюю версию ядра доступную в репозитории.
yum --enablerepo=elrepo-kernel install kernel-ml grub2-set-default 'CentOS Linux (5.0.2-1.el7.elrepo.x86_64) 7 (Core)' grub2-mkconfig -o /boot/grub2/grub.cfg
пакет kernel-ml это текущий стабильный релиз ядра.
Как видно из скрина мы установили последнюю версию ядра CentOS (На данный момент это версия 4.6)
Перегружаем систему
reboot
Шаг 5. Выбор версии ядра при загрузке системы.
При загрузке системы мы увидим установленное ядро
Шаг 6. Проверка версии ядра CentOS а так же опции
net.ipv6.ip_nonlocal_bind
P.S. для запуска сервера с новым ядром 4.6 нужно внести изменения в загрузчик grub2 командой
grub2-set-default 0
в этом случае по умолчанию будет запускаться первое по списку ядро.
Для просмотра дефолтного пункта загрузки можно воспользоваться командой
grub2-editenv list
Вывод