मैं प्रत्येक स्थापित के बाद स्वचालित रूप से सफाई करने के लिए apt-get को कैसे कॉन्फ़िगर कर सकता हूं


12

क्या अन्य डिस्ट्रो की तरह अपने आप apt-get cleanही कोई रास्ता नहीं है apt-get install?


@Braiam के लिए धन्यवाद, मुझे उबंटू में एक बग मिला और मैं इसे रिपोर्ट करूंगा। डेबियन ब्रियम के समाधान में काम ठीक है।
टियागो काररेडो


1
@TiagoCarrondo क्या आप बग लिंक साझा कर सकते हैं?
केन शार्प

Xenial में मेरी सभी मशीनें खुद को साफ करती हैं। मुझे नहीं पता कि यह कहाँ कॉन्फ़िगर किया गया है लेकिन यह काम करता है।
केन शार्प

जवाबों:


13

आपको बस इसे उपयुक्त कॉन्फ़िगरेशन फ़ाइलों में जोड़ना होगा। बस दौडो:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

यह आपके द्वारा हर बार स्वचालित स्वच्छ ट्रिगर करेगा upgrade

मैन पेज से इस प्रविष्टि की व्याख्या करें:

Clean

कैश क्लीन मोड; यह मान हमेशा, प्रॉम्प्ट, ऑटो, प्री-ऑटो और कभी नहीं हो सकता है। हमेशा और शीघ्र उन्नयन के बाद कैश से सभी पैकेजों को हटा देगा, शीघ्र (डिफ़ॉल्ट) सशर्त रूप से करता है। ऑटो केवल उन पैकेजों को हटाता है जो अब डाउनलोड करने योग्य नहीं हैं (उदाहरण के लिए एक नया संस्करण के साथ प्रतिस्थापित)। प्री-ऑटो नए पैकेज डाउनलोड करने से पहले यह क्रिया करता है।

और जानकारी:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ


मुझे लगता है कि इसे अंत में अर्धविराम की आवश्यकता होनी चाहिए ;! और इसलिए यह होना चाहिएsudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
भारतीय

@Braiam मैंने इसे आज़माया है और यह काम नहीं करता है। मैंने APT का भी प्रयास किया :: Get :: Clean "हमेशा" अन्य फ़ाइलों की तरह लेकिन कोई भाग्य नहीं। कोई सुराग?
टियागो काररेडो


@TiagoCarrondo अब कैसे होगा? यह यूनेट संदेश कहता है कि विजेता है।
Braiam

मैंने कोशिश की है कि पहले ही आपकी पहली पोस्ट के बाद। फ़ाइल स्थान बदलने के लिए जा रहे हैं ... प्रतीक्षा करें
Tiago Carrondo

2

एक शेल स्क्रिप्ट लिखें!

sudo nano /usr/bin/aptinstaller 

इस फ़ाइल प्रकार के अंदर:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

सहेजें और इससे बाहर निकलें nanoऔर टाइप करें:

sudo chmod +x /usr/bin/aptinstaller 

अब हर बार आप टाइप करेंगे

sudo aptinstaller <package-name> 

यह स्थापित और फिर साफ होगा।


मैं एक विकल्प पसंद करता हूं, लेकिन एक अच्छी योजना बी की तरह ध्वनि करता हूं, thx
टियागो काररेडो

2
/usr/local/bin/अधिक सही लगता है।
केन शार्प

0

मेरा समाधान, हालांकि एक वास्तविक समाधान नहीं है, अभिलेखागार निर्देशिका को सेट करना है /tmp। यह स्थापित होने के बाद स्वचालित रूप से साफ नहीं होगा, लेकिन इसे रिबूट पर साफ किया जाएगा।

मैंने बनाया /etc/apt/apt.conf.d/99cleanऔर जोड़ा:

Dir::Cache::archives /tmp;

वैकल्पिक रूप से आप माउंट /var/cache/apt/archivesका उपयोग कर सकते हैं tmpfs, हालांकि यह स्पष्ट रूप से रैम का उपयोग करेगा और मैं उस विकल्प की सिफारिश नहीं करूंगा।

में /etc/fstab, उदाहरण के लिए:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0

0

एक हैक उदाहरण के लिए निम्नलिखित को जोड़ रहा है /etc/apt/apt.conf.d/clean(के माध्यम से ):

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

यह dpkg apt द्वारा इनवॉइस किए जाने के बाद कैश को अपने आप साफ कर देगा।

apt-get updateहालांकि यह कैश को साफ नहीं करता है , इसके लिए हुक APT::Update::Post-Invokeका इस्तेमाल किया जा सकता है।

सबसे अच्छी विधि अभी भी कॉलिंग apt-get clean/ aptitude cleanमैन्युअल रूप से दिखाई देती है ।

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