Kimi durumlarda sunucumuzu reboot etmek istemiyoruz fakat update'lerin ardından sunucuyu yeniden başlatmaya mahkum oluyoruz.

Bu durumda yardımımıza kexec yetişiyor.

kexec'le ilgili detaylı bilgiye

yum install kexec-tools -y


komutu yardımıyla kexec'i yükledikten sonra man kexec komutu yardımıyla komutun detaylarını öğrenebilirsiniz. Bu yüzden ben fazla detay'a girmeden direk işlemleri anlatmaya devam ediyorum.



Mevcut kernel sürümümüzü;

uname -r


Komutuyla bir yere not ediyoruz, malum işlemin başarıyla tamamlandığını ancak bu şekilde anlayabiliriz.

Güncellemeyi henüz yüklemediysek;

yum update kernel-* -y


komutuyla güncellemeleri sunucumuza yükleyip, kexec librarysine yeni yüklediğimiz güncellemeyi tanıtıyoruz;

lastkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1`


komutu yardımıyla /boot klasöründe dosya ismi vmlinuz ile başlayan en güncel dosyanın adını lastkernel değişkenine atıyoruz. Yaptığımız işlemin doğruluğunu konsolda echo $lastkernel yazarak test edebiliriz.

ardından yazmamız gereken komut;

kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"


Bu komutu yazdıktan sonra ekranda unable to gather efi data şeklinde bir uyarı mesajı alabilirsiniz. /sys/firmware/ klasörü altında efi adında bir dosya yoksa uyarıyı yoksayıp işleme devam edebilir; varsa da ilgili dosyayı silip işleme devam edebilirsiniz.

Son olarak yazmamız gereken komut ise;

kexec -e


Bu işlem sonrasında bilgisayar boot ekranına düşmeden, sadece işletim sistemini restart etmekte. Normal hardware reboot'a göre daha kısa sürüyor ve bu işlem sırasında sunucunuz geçici süreliğine kullanılmaz oluyor, tüm servisleriniz yeniden başlıyor.