सवाल उबंटू मोल्ड में "सिस्टम रीस्टार्ट आवश्यक" ध्वज का ट्रैक कैसे रखता है?


मेरे पास कुछ उबंटू सर्वर (8.10, 9.10) हैं जो स्वचालित रूप से सुरक्षा अद्यतन स्थापित करने के लिए सेट हैं। कुछ बार इन अद्यतनों को सिस्टम के पुनरारंभ की आवश्यकता होती है, और यह स्ट्रिंग में दिखाया गया है motd:

*** System restart required ***

इनके बारे में नोटिस प्राप्त करने के लिए, यदि सर्वर को रीबूट की आवश्यकता है तो निगरानी करने के लिए मैं नागोस परीक्षण लिखने की योजना बना रहा हूं। तो, मेरा सवाल है:

पार्सिंग से बेहतर तरीका है /etc/motd यह पता लगाने के लिए कि रीबूट की आवश्यकता है या नहीं?


74
2017-12-10 09:33


मूल




जवाब:


की उपस्थिति के लिए जाँच करें /var/run/reboot-required


92
2017-12-10 09:59



ठीक ठीक मैं क्या देख रहा था, धन्यवाद! - Anders Lindahl
नोट: डेबियन सिस्टम के लिए, /var/run/reboot-required जब तक नहीं बनाया जाता है update-notifier-common पैकेज स्थापित है। - Peter V. Mørch
ध्यान दें कि update-notifier-common डेबियन जेसी में हटा दिया गया है। unattended-upgrades अब एक साधारण लिपि शामिल है /etc/kernel/postinst.d/unattended-upgrades कौन कौन से touchफाइल में है। reboot-notifier एक और छोटा पैकेज है जो प्रारूप के साथ संगत है update-notifier-common। - ypid
यह देखने के लिए कि क्या रीबूट शुरू हो चुका है, आप अपनी चल रही प्रक्रियाओं को भी देखना चाहेंगे। उदाहरण के लिए, अप्रतिबंधित-अपग्रेड में रीबूट करने के लिए समय निर्दिष्ट करने का विकल्प होता है; इस समय तक, ऊपर दी गई विधि यह इंगित करती रहेगी कि रीबूट की आवश्यकता है, भले ही किसी को पहले से ही शुरू किया जा चुका है। - DylanYoung


रीबूट उत्पन्न करने वाली स्क्रिप्ट motd के आवश्यक भाग / usr / lib / update-notifier / update-motd-reboot-required है जिसमें निम्न शामिल हैं:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
fi

आपकी नागोस जांच / var / run / reboot-required के अस्तित्व की जांच कर सकती है।


37
2017-12-10 10:08



यह दिखाने के लिए +1 कि यह कौन सी फाइल में स्थित है - Wayne
वह खोल स्क्रिप्ट कुछ भी उत्पन्न नहीं कर रही है। यदि यह मौजूद है तो यह सामग्री प्रदर्शित करता है - Scott


इसके अतिरिक्त फ़ाइल '/var/run/reboot-required.pkgs' फ़ाइलों को सूचीबद्ध करता है जो रीबूट का अनुरोध करते हैं। उदाहरण के लिए:

$ cat /var/run/reboot-required.pkgs 
linux-image-2.6.32-28-generic
dbus
$

उबंटू ल्यूसिड पर (10.4)।


25
2018-01-19 04:44



फ्रेकिंग धन्यवाद, हे भगवान, मैं इतना याद किया! - Lapshin Dmitry


डेबियन और उबंटू पैकेज सृजन को ट्रिगर कर सकते हैं /var/run/reboot-required* उनके में postinst सहायक स्क्रिप्ट निष्पादित करके फ़ाइल करें /usr/share/update-notifier/notify-reboot-required

इस प्रकार रीबूट को संसाधित करने का "आधिकारिक" तरीका पैकेज रखरखाव द्वारा संभाला जाता है। मैं इसे पहले / boot में mtimes के खिलाफ बूट किए गए समय की तुलना करके एक स्क्रिप्ट में कर रहा हूं।


7
2018-02-22 22:49





#!/bin/bash
if [ ! -f /var/run/reboot-required ]; then
        # no reboot required (0=OK)
        echo "OK: no reboot required"
        exit 0
else
        # reboot required (1=WARN)
        echo "WARNING: `cat /var/run/reboot-required`"
        exit 1
fi

4
2018-05-11 12:02