27.02.2023

Güncellemelerden sonra yeniden başlatmaya gerek var mı?

Halen kullanımda olan (çalışan) uygulamanın güncellenebilmesi için sonlandırılıp tekrar çalıştırılması gerekir. Hareket halindeki arabanın lastiklerinin değiştirilememesi gibi birşey. Çalışan uygulamanın karmaşık bir bağımlılık ağı varsa bu durum sistemin kapatıp açılmasını gerektirebilir. Bu elbette sadece yeni özelliklere sahip güncellemenin devreye alınabilmesi için gereklidir. Güncellenmemiş eski sürümle çalışmaya devam etmek için yeniden başlatmamak söz konusu, ama bazen yeni sürüm güvenlik açıklarını da kapatmışsa en kısa sürede yeniden başlatmak gerekebilir.

Windows'da güncellemelerden sonra sistem tepsisinde çıkan bir simge yeniden başlatma gerektiren durumlardan bizi haberdar edebilir. Ancak bunu bir script içinden belirlemek ya da uzak bilgisayardaki durumu görebilmek için şu yöntem kullanılabilir:

function Test-PendingReboot
{
    if (Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" -EA Ignore)
    { return $true }
    if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -EA Ignore)
    { return $true }
    if (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" -Name PendingFileRenameOperations -EA Ignore)
    { return $true }

    try {
        $util = [wmiclass]"\\.\root\ccm\clientsdk:CCM_ClientUtilities"
        $status = $util.DetermineIfRebootPending()

        if(($status -ne $null) -and $status.RebootPending){
            return $true
        }
    }
    catch{}

    return $false
}

Linux'ta güncellemeler sonrasında sistemi yeniden başlatmaya gerek olup olmadığını gösteren bir belirteç yok. Fedora için dnf-utils (veya yum-utils) paketi ile gelen needs-restarting kullanılması öneriliyor:

$ needs-restarting -r

Sistem başlangıcından bu yana hiçbir çekirdek kütüphane veya hizmet güncellenmedi.
Yeniden başlatmaya gerek yok.

ya da

$ needs-restarting -r

Sistem başlangıcından bu yana güncellenen çekirdek kütüphaneler veya hizmetler:
  * glibc
  * kernel
  * linux-firmware

Bu güncellemeleri tam olarak kullanmak için yeniden başlatma gereklidir.
Daha fazla bilgi için: https://access.redhat.com/solutions/27943

gibi bir sonuç dönebilir. Ubuntu'da ise /var/run/reboot-required dosyasının içeriğini kontrol etmek önerilmiş. Aşağıdaki gibi dosyanın bulunmaması yeniden başlatmaya gerek olmadığını gösterir.

$ cat /var/run/reboot-required

cat: /var/run/reboot-required: No such file or directory

ya da aşağıdaki gibi bir sonuç yeniden başlatmanın gerekli olduğunu gösterir:

$ cat /var/run/reboot-required

*** System restart required ***

Ubuntu'dayken needs-restarting, Fedora'dayken ise reboot-required'ı yazmamak için benim bulduğum yöntem bir blog oluşturup her çalıştırma öncesinde blog'daki ilgili girişe bakmak.

---

[1] https://www.cyberciti.biz/faq/how-to-check-if-centos-rhel-needs-a-full-reboot/

[2] https://www.funoracleapps.com/2021/04/how-to-find-if-linux-os-needs-reboot.html

Hiç yorum yok: