Како инсталирати најновији кернел са kernel.org на CentOS 7
CentOS није ажуран са верзијама кернела али не зато што га боли уво већ зато што има неку интерну политику која подразумева да је стабилност система испред нових могућности које доноси новија верзија кернела…
Овим упутством овде само ћу укратко проћи кроз процес инсталације тренутно новијег кернела (на дан 20/10/2017 кад је писано ово упуство, најновија верзија је носила ознаку 4.13.8) без неких додатних промена (проверите издате верзије), дубљих конфигурација, избацивање непотребних ствари и одабира могућности кроз config фајл. Инсталацију радим на CentOS 7 минимал инсталацији са одрађеним иницијалним упдатеом (yum update -y). Уколико ви радите апдејт кернела чисто себе ради направите бекап система или ако користите неки вид виртуализације одрадите снепшот система па ако после неког времена у раду не буде некаквих проблема…можете обрисати исти – а свакако, ако се кернел не покаже добро увек можете да бутнете систем са старијег кернела и као да се ништа није десило.
Сама инсталација новог кернела ручно се ради дуго (може бити и неколико сати) тако да се не изненадите – систем за то време ради нормално јер сте бутовани у тренутни кернел и док год је он ту, нема бриге. У неком наредном тексту ћу поставити како изгледа процес инсталације на лакши начин, кроз elrepo-kernel репозиторијум.
Наравно, моја је препорука да кернеле ажурирате само са званичног CentOS репоа (base и updates) јер су то верзије проверене и тестиране у раду са CentOS-ом од стране тима који ради на развоју и одржавању дистре (и CentOS и Red Hat) те је шанса да нешто крене по злу равна нули…. Дакле са доленаведеним упутством радите само ако баш морате из неког разлога. Екипа која је иза CentOS-а ће свакако објавити новију верзију уколико постојећа буде имала неких проблема који могу утицати на стабилност или безбедност.
# Инсталирање потребних пакета за процес компајлирања кернела yum install wget gcc make ncurses-devel openssl-devel elfutils-libelf-devel bc perl -y # Download kernel-a mkdir -p /usr/src/kernels/ cd /usr/src/kernels/ wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.8.tar.gz tar xvf linux-4.13.8.tar.gz rm -f linux-4.13.8.tar.gz cd linux-4.13.8 # Прављење config фајла на основу последњег искоришћеног cp $( ls -1t /boot/config-* | head -1) .config # Покретање менија за одабир опција. За сад, само одаберите Save make menuconfig # Отпочињање процеса надоградње кернела (може трајати и неколико сати) make -j `nproc` && make modules_install && make install # Након инсталације рестартовати сервер да би се видело - има ли новог кернела reboot
После рестарта дочекао ме је нови кернел у понуди – али није био дифолтни за бутовање – и даље се бутовао стари…дакле треба ово променити на нови кернел.
Процес постављања новог кернела за старт је поприлично једноставан (мада има и компликованијих начина) – треба само наћи који је по реду у фајлу /etc/grub2.cfg и простом командом са тим редним бројем га поставити на нову вредност. Напомена је да бројање почиње од нула, дакле први кернел на листигу је са редним бројем нула.
# Видети који је по реду нас кернел, редослед почиње од нула
grep "menuentry '" /etc/grub2.cfg
# Да нас кернел, који је под редним бројем 0 буде дефаултни grub2-set-default 0 # Па рестартовати да се провери ова промена и систем бутне кроз нови кернел reboot
Ако немате приступ дисплеју или конзоли, верзију кернела можете проверити командом: uname -r
Kontranavoj
10/11/2017 @ 22:03
Brate, svaka cast za odlican tekst.
Bas mi drago da postoji ovakav domaci blog.
Svako dobro