Komut satırından makinenin yeniden başlatılmasını gerektirip gerektirmediğini nasıl anlarım?

218

Ubuntu Masaüstünde belirli güncellemeleri (ör. yeni bir çekirdek) yüklediğinizde, yeniden başlatmanın gerekli olduğuna dair bir işaret alırsınız (Lucid'de, oturum kapatma simgesi kırmızı olur).

Komut satırından, Ubuntu sunucusunun yeniden başlatılmasını gerektirip gerektirmediğini nasıl kontrol edebilirim?

/etc/motd cinsinden 'Sistem yeniden başlatma gerekli' için grep olabilirdim, ancak daha zarif bir çözüm istiyorum. Ayrıca, eski sürümlerde çalışan bir çözüm istiyorum. Hardy (8.04 LTS).

    
sordu Marius Gedminas 28.07.2010 23:49

8 cevap

255

/var/run/reboot-required dosyasının var olup olmadığını kontrol edebilirsiniz.

Örneğin, bunlardan herhangi biri yeniden başlatmanız gerekmiyorsa "böyle bir dosya" veya "dosya bulunamadı" diyecektir, aksi takdirde (yeniden başlatmanız gerekirse) dosya mevcut olacaktır ve bu komutlar hakkında bilgi gösterecektir. dosya:

file /var/run/reboot-required
stat /var/run/reboot-required
ls /var/run/reboot-required

Bir bash komut dosyasında şunları kullanabilirsiniz:

#!/bin/bash
if [ -f /var/run/reboot-required ]; then
  echo 'reboot required'
fi
    
verilen cevap Weboide 29.07.2010 00:02
39

Paket debian-goodies, oldukça yararlı olan checkrestart adlı bir komuttur. Çıktısı tam bir yeniden başlatmadan kaçınmanıza yardımcı olabilir.

    
verilen cevap aquaherd 09.09.2011 16:51
32

Normalde dosya

/var/run/reboot-required 

var, yeniden başlatmalısınız. Bu dosyanın gnome-terminalinde bu basit komutu kullanarak var olup olmadığını görebilirsiniz.

ls /var/run/reboot-required
    
verilen cevap kone4040 28.07.2010 23:59
17

Başkaları tarafından yazılan en doğrudan yöntemlerden biri olarak, byobu 'yı kullanırsanız GNU ekranını yapmak için bir dizi komut dosyası kullanırsanız kullanışlı bir işaret vardır. biraz daha kullanıcı dostu. Ekranın alt kısmında bir bilgi kümesi gösterir ve bu, yeniden başlatma gerekip gerekmediğini, güncellemelerin kullanılabilir olup olmadığını, süreyi, çalışma süresini, belleği kullanıp kullanmamayı içerebilir ...

Bu ekran görüntüsünde, alt satırdaki 199! 'den 199 güncellemenin mevcut olduğu kırmızı arka plan ile görebilirsiniz ve ! , bazılarının güvenlik güncellemeleri olduğunu gösterir. Önalandaki menü, hangi durum bildirimlerinin görüntüleneceğini seçer.

Yeniden başlatma gerekiyorsa, bu, mavi çubukta beyaz metinle alt çubukta görüntülenen (R) simgesiyle belirtilir. Daha fazla ayrıntı ve diğer göstergeler byobu man page adresinden okunabilir.

    
verilen cevap Hamish Downer 29.07.2010 19:59
9

/etc/motd dosyası, /var/run/reboot-required dosyasından yeniden başlatmanın gerekli olup olmadığı hakkında bilgi alıyor.

Bu dosyanın içeriğini cat /etc/motd komutunu kullanarak terminalde kontrol edebilirsiniz

    
verilen cevap ajmitch 28.07.2010 23:53
6

Aşağıdakileri .bash-aliases dosyama ekledim:

alias rr='if [ -f /var/run/reboot-required ]; then echo "reboot required"; else echo "No reboot needed"; fi'

Bu nispeten basit bir görev için bir paket kurmaktan daha basit görünüyordu. Sonra koşuyorum:

[email protected]:~$ rr
No reboot needed
[email protected]:~$ 
    
verilen cevap Capricorn1 16.12.2016 14:22
5

Yeniden başlat-notifier veya güncelleme-notifier-common paketleri yüklü ise, o zaman / var / run / reboot-required ve /var/run/reboot-required.pkgs dosyalarını alırsınız

Yeniden başlat-notifier Ubuntu Wily ve Xenial'de daha yenidir. Debian gergin, ama jessie-backports

güncelleme-notifier-common Xenial ve Debian Wheezy dahil tüm Ubuntu sürümlerinde daha eskidir. Debian Stretch veya Jessie'de değil.

(Yeniden başlatma bildirim paketinin İşte ’deki bazı geçmişleri vardır)

Bu paketleri yüklemediyseniz, yüklü olan linux paketinin sürümünü karşılaştırabilirsiniz:

[email protected]:~$ dpkg -l linux-image-*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                              Version               Architecture          Description
+++-=================================-=====================-=====================-=======================================================================
ii  linux-image-3.16.0-4-amd64        3.16.7-ckt20-1+deb8u4 amd64                 Linux 3.16 for 64-bit PCs
ii  linux-image-amd64                 3.16+63               amd64                 Linux for 64-bit PCs (meta-package)
[email protected]:~$ more /proc/version
Linux version 3.16.0-4-amd64 ([email protected]) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian <b>3.16.7-ckt20-1+deb8u3</b> (2016-01-17)

En son yüklü çekirdeğin 3.16.7-ckt20-1 + deb8u4 olduğunu ancak çekirdek işletiminin 3.16.7-ckt20-1 + deb8u3 olduğunu görebilirsiniz. Yani bu sistemin yeniden başlatılması gerekiyor. U4 vs u3, en sonunda.

Yukarıdaki kutuyu kaydırmanız gerekebilir. / Proc / sürümünde, önemli olan satırın sonuna yakın sürümdür.

Çok küçük sürüm kodu değişikliği, bir Debian güvenlik çekirdeği güncellemesinin tipik bir örneğidir.

needrestart

Başka bir seçenek de needrestart paketini yüklemektir.

sudo apt-get install needrestart
sudo needrestart -k

Çekirdek yükseltildikten sonra needrestart kurulmuş olsa bile çalışmaya devam eder.

    
verilen cevap Tim Bray 06.03.2016 22:48
-1

Sorunun cevabı değil, yanıtların bir kısmı ile ilgili bir uyarı: /var/run/reboot-required , yeniden başlatmanın gerçekten gerekli olup olmadığının güvenilir bir kaynağı değil .

Basit test: Yeni bir çekirdek mevcut olduğunda, yükleyin, yeniden başlatın. Yeniden başlatmanın ardından, bazı eski, artık gerekli olmayan çekirdeklerden kurtulmak için apt autoremove dosyasını çalıştırın. Bunu çalıştırdıktan sonra yeniden başlatmanın gerekli olduğunu belirtir, bu da tam anlamıyla saçmadır.

    
verilen cevap tink 14.09.2017 09:09

Etiketlerdeki diğer soruları oku