Setting Default Kernel in Linux

Mengupdate kernel Linux secara berkala adalah praktik yang disarankan untuk menjaga keamanan dan performa server. Namun, terkadang kebutuhan spesifik aplikasi yang digunakan memerlukan penggunaan versi kernel yang lebih lama agar tetap berjalan normal.

Berikut adalah cara mengatur kernel Linux agar selalu menggunakan versi yang Anda pilih dan tidak akan berubah meskipun server telah di-reboot.

Method 1

Metode pertama menggunakan tool grubby. Tool ini tersedia untuk sistem operasi RHEL family seperti CentOS, Rocky Linux, dan lainnya.

Untuk menampilkan versi kernel yang tersedia gunakan perintah.

grubby --info ALL | grep '^kernel'
kernel="/boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64" # index 0
kernel="/boot/vmlinuz-4.18.0-513.5.1.el8_9.x86_64" # index 1
kernel="/boot/vmlinuz-0-rescue-9a2b5d3311044f988fa37042fde216ae" # index 2

Kemudian ubah versi kernel default.

grubby --set-default "/boot/vmlinuz-4.18.0-513.5.1.el8_9.x86_64"

Atau bisa dengan perintah.

grub2-reboot 1

Reboot server untuk menerapkan perubahan.

Method 2

Metode kedua menggunakan perintah grub2-set-default untuk mengubah versi default kernel linux.

Untuk menampilkan versi kernel linux yang tersedia.

awk -F\' '$1=="menuentry " {print i++ " =  "$2}' /etc/grub2.cfg
0 =  CloudLinux (3.10.0-1062.9.1.el7.x86_64) 7.9 (Boris Yegorov)
1 =  CloudLinux (3.10.0-962.3.2.lve1.5.27.el7.x86_64) 7.9 (Boris Yegorov)
2 =  CloudLinux (3.10.0-957.27.2.el7.x86_64) 7.9 (Boris Yegorov)
3 =  CloudLinux (0-rescue-65113b1a0d2f6087d515e6a8cd0ee7ef) 7.9 (Boris Yegorov)

Untuk mengubah kernel default.

grub2-set-default 1

Reboot server untuk menerapkan perubahan.

Method 3

Metode 3 adalah cara yang dapat Anda gunakan bila menggunakan sistem operasi Ubuntu.

Untuk menampilkan versi kernel linux yang tersedia.

awk '/menuentry/ && /class/ {count++; print count-1"****"$0 }' /boot/grub/grub.cfg
0****menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7284afe3-68a6-45f2-be7c-fe33984b5825' {
1****   menuentry 'Ubuntu, with Linux 5.15.0-97-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-97-generic-advanced-7284afe3-68a6-45f2-be7c-fe33984b5825' {
2****   menuentry 'Ubuntu, with Linux 5.15.0-97-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-97-generic-recovery-7284afe3-68a6-45f2-be7c-fe33984b5825' {
3****   menuentry 'Ubuntu, with Linux 5.15.0-94-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-94-generic-advanced-7284afe3-68a6-45f2-be7c-fe33984b5825' {
4****   menuentry 'Ubuntu, with Linux 5.15.0-94-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-94-generic-recovery-7284afe3-68a6-45f2-be7c-fe33984b5825' {

Untuk mengubah kernel default.

grub-set-default 3

Atau bisa dengan mengedit file /etc/default/grub

sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=3/g' /etc/default/grub

Update grub lalu reboot server untuk menerapkan perubahan.

update-grub