यम अद्यतन अंतिम बार चलने पर कैसे जांचें


12

क्या पिछली बार yum updateकिसी सिस्टम पर चलाए गए तरीके का पता लगाने के लिए एक विहित तरीका है?

हमारा सेट अप यह है कि हमारे पास स्वचालित अद्यतन चलाने वाले सर्वर हैं, और बशर्ते वे गिर न जाएं, हम अपने उत्पादन सर्वर को महीने में एक बार (महत्वपूर्ण अपडेट को रोकते हुए) मैन्युअल रूप से अपडेट करेंगे। (मैं मैन्युअल रूप से कहता हूं, आदर्श रूप से मैं उन सभी को मैन्युअल रूप से अपडेट करना चाहता हूं, लेकिन यह एक और मुद्दा है)।

लेकिन आप व्यस्त हैं, कार्य पर्ची आदि। इसलिए मैं एक नगियोस चेक स्थापित करना चाहता हूं जो हमें परेशान कर देगा अगर हमने इसे बहुत लंबा छोड़ दिया है।

वेब पर खोज करना मुझे बहुत दूर नहीं मिला। सिस्टम के आसपास, सबसे अच्छी चीज जो मैंने अब तक पाई है वह कुछ इस तरह होगी:

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

जो मुझे कुछ ऐसा देता है Mar 12जिसे मैं फिर एक तारीख में बदल सकता हूं। इस वर्ष या पिछले वर्ष की तारीख के बारे में कुछ छोटी-मोटी जटिलताएँ हैं, और मुझे /var/log/yum.log.1लॉगऑरेट करने के तुरंत बाद जाँच करने की आवश्यकता होगी । लेकिन यह सिर्फ स्क्रिप्टिंग विवरण है।

यह सामान्य अपडेट के बजाय किसी एकल पैकेज के अपडेट द्वारा निश्चित रूप से 'मूर्ख' हो सकता है।

तो क्या यह देखने के लिए अधिक विहित तरीका है कि कब yum updateचलाया गया था?

संपादित करें: मैंने अब एक Nagios NRPE प्लगइन लिखा है जो उस विचार का उपयोग करता है जिसे मैंने प्रश्न में आगे रखा था। आप इसे https://github.com/aptivate/check_yum_last_update से हड़प सकते हैं

जवाबों:


20

यम इतिहास विकल्प उपयोगकर्ता को यह देखने की अनुमति देता है कि पिछले लेनदेन में क्या हुआ है। इसे और सरल बनाने के लिए आप यम इतिहास से अपडेट प्राप्त कर सकते हैं

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 

1
आप किस संस्करण का उपयोग कर रहे हैं - मुझे यह historyआदेश उपलब्ध नहीं है। (हम ज्यादातर अभी भी CentOS 5 का उपयोग कर रहे हैं)। वास्तव में, बस कोशिश की और CentOS 6 यह है। लेकिन यह हमारे उद्देश्यों के लिए पर्याप्त सार्वभौमिक नहीं है - लेकिन दूसरों के लिए उपयोगी दिखता है।
हामिश डाउनर

1
हाँ यह सेंटोस 6.x पर यम संस्करण 3.2.29 के साथ है। धन्यवाद
चकरी

1
ध्यान दें कि यदि इंस्टॉलेशन और अपडेट का संयोजन था, तो एक्शन कॉलम कहता है I, Uकि grep को थोड़ा और अधिक जटिल बना दें। यह तब हो सकता है जब एक अद्यतन पैकेज नए पैकेज पर निर्भर करता है, जिससे नया पैकेज स्थापित हो सके।
हामिश डाउनर

चूँकि कभी-कभी कुछ और स्थापित करते समय अपडेट होता है, यदि आप भी उन्हें देखना चाहते हैं, तो इस तरह से grep के माध्यम से आउटपुट पास कर सकते हैं: yum history | grep 'U' जो अपडेट को शामिल करते हुए सभी रनों को पकड़ेगा।
JJC

2

मुझे लगता है कि एकमात्र तरीका जो आप पूरी तरह से सुनिश्चित कर सकते हैं वह चल रहा है psacct

यह आपको चलाने की अनुमति देगा lastcomm yum। यदि आप इसे पार्स करते हैं, तो आपको पता चल जाएगा कि इसे किसने और कब चलाया।


1

मैं अनुमान लगा रहा हूं कि आप 'देव' सर्वरों के सेट को देव यम रेपो की ओर इशारा कर रहे हैं?

आप एक क्रोन / कठपुतली / रसोइया स्क्रिप्ट में ऑटो अपग्रेड कर सकते हैं, जो सफलता पर, एक फाइल पर लिखता है। (कहते हैं /etc/yum_last)

तब आप yum check-updateदेव सर्वर पर समय-समय पर क्रोन / अन्य का उपयोग कर सकते थे ताकि यह देखा जा सके कि कोई अपडेट उपलब्ध है या नहीं। यदि यह कमांड कहता है कि 0 नंबर अपडेट उपलब्ध हैं, तो आप अपने द्वारा बनाए गए फ़ाइल के टाइमस्टैम्प के साथ वर्तमान तिथि की तुलना करते हैं जब आपने पिछली बार एक ऑटो यम अपग्रेड किया था।

यदि यह तिथि अंतर दिनों में बढ़ता है, तो आप नागियोस अलर्ट हो सकते हैं।

आप पल्प को देख सकते हैं यदि यह आपकी आवश्यकताओं के अनुरूप है।


0

निम्न आदेश सूची हाल ही में स्थापित या अद्यतन RPM संकुल:

rpm -qa --last  | head

इसमें YUM के बाहर स्थापित पैकेज भी शामिल हो सकते हैं। यह आदेश रूट विशेषाधिकार के बिना भी चल सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.