我正在編寫一個bash腳本(用於基於apt-get的操作系統),可以自動執行各種程序的安裝過程。在這個過程中,我有時會運行「apt-get -fy update」和「apt-get -fy upgrade」。在升級過程中,偶爾需要重啓。Bash - 如何檢測apt-get是否需要重新啓動
我的問題:有沒有一種測試方法,如果系統在運行「apt-get -fy upgrade」後要求重啓?我正在嘗試編寫腳本,讓它在沒有任何人爲干預的情況下始終運行。
謝謝。
我正在編寫一個bash腳本(用於基於apt-get的操作系統),可以自動執行各種程序的安裝過程。在這個過程中,我有時會運行「apt-get -fy update」和「apt-get -fy upgrade」。在升級過程中,偶爾需要重啓。Bash - 如何檢測apt-get是否需要重新啓動
我的問題:有沒有一種測試方法,如果系統在運行「apt-get -fy upgrade」後要求重啓?我正在嘗試編寫腳本,讓它在沒有任何人爲干預的情況下始終運行。
謝謝。
使用文件/ var/run/reboot-required,它正是你想要的。所以我們會有這個:
apt-get update && apt-get -fy upgrade && [ -f /var/run/reboot-required ] && shutdown -r now
如果你做一個
apt-get -fy update && shutdown -r now
,將尊重秩序,將更新,直到完成最後重新啓動服務器。
這很有趣,但我想只在絕對必要時重新啓動。 – Roger
我不記得apt-get
是否實際上爲您提供了可預測格式的消息,通知您是否需要重新啓動,但是如果是這樣,您可以檢查輸出,像apt-get -fy update | grep -q 'fill in restart message pattern' && reboot
。
另一種可能不太可靠的替代方法是使用debian-goodies
包中的checkrestart
。
完美工作,謝謝。 – Roger