मैं किसी विशिष्ट तिथि के बाद स्थापित सभी अपडेट कैसे हटा सकता हूं?


12

मैंने अपडेट मैनेजर को 200 Mib अपडेट स्थापित करने की अनुमति दी है, और मुझे लगता है कि ये अपडेट मेरे ग्राफिक्स ड्राइवर को एक समस्या में चलाते हैं। इसलिए, मुझे 30 वें से लेकर 12 मई (या किसी अन्य तिथि) तक के अद्यतनों को हटाने का एक तरीका चाहिए। अगर मुझे उन्हें मैन्युअल रूप से निकालना है (एक-एक करके उन्हें अनइंस्टॉल करने के मामले में), तो आपसे विनम्र निवेदन है कि मुझे यह निर्देश दें कि यह कैसे करना है।

जवाबों:


8

स्थापना इतिहास प्राप्त करने के लिए एक वैकल्पिक, कमांड लाइन दृष्टिकोण है।

पैकेज प्रबंधक aptमें सब कुछ लॉग इन करने लगता है /var/log/apt/history.logऔर /var/log/apt/term.logdatestamps से सब कुछ अलग करने सहित। दोनों में समान, प्रयोग करने योग्य जानकारी है, लेकिन term.logदोनों अधिक क्रिया है और स्पष्ट रूप से संकेत नहीं देता है कि ऑपरेशन किसने शुरू किया था।

इतिहास लॉग

/var/log/apt/history.logप्रत्येक aptरन का एक संक्षिप्त सारांश संग्रहीत करता है । यहाँ एक मैनुअल स्थापना के लिए मेरा एक टुकड़ा है:

Start-Date: 2014-08-22  17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:amd64 (1.6.1-1), python-gpgme:amd64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22  17:19:13

Commandline:फ़ील्ड इंगित करता है क्या रन शुरू हो रहा है, और अद्यतन प्रबंधक यह कुछ ऐसा दिखाई देगा द्वारा किए गए प्रतिष्ठानों के मामले में:

Commandline: aptdaemon role='role-commit-packages' sender=':1.131'

... और दिनांक, विधि और क्रिया द्वारा क्रमबद्ध (संकुलन / उन्नयन / निकालें) द्वारा संकुल की आपकी सूची है। ध्यान दें कि यदि आप इन पैकेजों को वापस पास करना चाहते हैं apt-get remove ...:

  • जैसा कि उल्लेख किया गया है , यह पैकेजों को पूरी तरह से हटाने के बजाय उन्हें हटा देता है । लॉग में जानकारी निश्चित रूप से उन्नत पैकेज को देखने के लिए इस्तेमाल की जा सकती है, हालांकि उन्हें वापस रोल करना एक और मामला है।
  • आपको अपनी पसंद के पाठ हेरफेर (जैसे sed, vimआदि) के माध्यम से कोष्ठक, उनकी सामग्री और अल्पविराम विभाजक को सूची से अलग करना होगा । इसलिए अगर मैं ऊपर स्निपेट में पैकेज निकालना चाहता था तो मैं अपेक्षाकृत सीधे लाइन का उपयोग कर सकता हूं:

    sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
    

टर्मिनल लॉग

आम तौर /var/log/apt/term.logपर कम आसानी से संरचित होता है लेकिन, पूर्णता के लिए, आप एक ही जानकारी प्राप्त कर सकते हैं। टर्मिनल आउटपुट को टाइमस्टैम्प द्वारा फिर से सीमांकित किया जाता है, और पैकेज इंस्टॉलेशन को निम्न फॉर्म की लाइनों से प्राप्त किया जा सकता है:

Selecting previously unselected package nautilus-dropbox.

निम्नलिखित पूरे लॉग के लिए टर्मिनल पर स्थापित संकुल की सूची को मुद्रित करने का एक तरीका है:

$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log

यह एक तिथि सीमा में स्थापना प्राप्त करने के लिए अनुकूलित या विस्तारित किया जा सकता है।


1
इस किसी के जीवन को आसान बनाने के कर सकते हैं, यहां sed झलकी मैं /var/log/apt/history.log सूचीबद्ध पैकेज से कोष्ठक और अल्पविराम के दूर करने के लिए इतना है कि मैं उन्हें खिलाने सकता है इस्तेमाल किया है apt-get remove: sed 's/ ([^)]*)//g' | sed 's/,//g')
एपर्टेक्स

4

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

आप उबंटू सॉफ्टवेयर सेंटर खोल सकते हैं, और इतिहास पर क्लिक कर सकते हैं

यहाँ छवि विवरण दर्ज करें

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

यहाँ छवि विवरण दर्ज करें

निकालने के लिए, आप Synaptic Package Manager का उपयोग कर सकते हैं। यदि आपके पास यह स्थापित नहीं है, तो आप इसे से स्थापित कर सकते हैं


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