วิธีการป้องกัน apt-get / aptitude การเก็บแคช


14

ฉันติดตั้งApt-Cacher NGเพื่อจัดทำแพ็กเกจแคชสำหรับหลาย ๆ เครื่อง ดังนั้นผมจึงเห็นจุดใดในการมีความถนัด / apt-get รักษาตัวเอง (ที่สอง) /var/cache/apt/archivesแคชของพวกเขาใน ฉันรู้ว่าฉันสามารถล้างแคชนี้ด้วยsudo apt-get cleanแต่มีวิธีกำหนดค่า apt-get เพื่อล้างแคชโดยอัตโนมัติเมื่อการติดตั้งเสร็จสิ้นหรือไม่?


ฉันกำลังพยายามทำสิ่งเดียวกันกับที่ฉันใช้ LXC จำนวนมากเพื่อทดสอบและทำให้คอมพิวเตอร์ของฉันสะอาดอยู่เสมอ หนึ่งใน LXC เหล่านั้นคือ apt-cacher-ng ของฉัน แต่ตอนนี้ฉันต้องการที่จะป้องกันอินสแตนซ์อื่น ๆ (รวมถึง "ของจริง") เพื่อรักษาคลังเก็บถาวร
jgomo3

คำตอบ:


9

ตามเอกสารที่คุณสามารถเพิ่มไฟล์ config การ/etc/apt/apt.conf.d/ตั้งชื่อno-cacheที่มีDir::Cache "";และตามคู่มือการใช้งานDir::Cache::archives ""; apt.confมีรายงานข้อผิดพลาดที่ทำให้เกิดปัญหากับวิธีนี้และฉันไม่แนะนำ

มีวิธีการหนึ่งที่เหลืออยู่ตามบทช่วยสอนนี้ :

echo 'DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};' | sudo tee /etc/apt/apt.conf.d/clean

นี้จะดำเนินการrmคำสั่งก่อนที่จะหยุด


Archives directory archives/partial is missing. - Acquire (2: No such file or directory)ผมพบว่าเพียงแค่การตั้งค่าเส้นทางแคชไปยังเส้นทางที่ว่างเปล่าให้เกิดข้อผิดพลาดเมื่อทำงานที่ฉลาด: วิธีแก้ไขข้อผิดพลาดนี้คือการตั้งค่าDir::Cache::archivesเป็นเส้นทางที่ว่างเปล่า ฉันได้อัปเดตคำตอบของคุณเพื่อรวมไว้แล้ว (สมมติว่ามีคนที่มีตัวแทนระดับสูงกว่าอนุมัติการแก้ไข)
แบลร์

1
ที่จริงแล้วการตั้งค่าเหล่านี้เป็นเส้นทางว่างเปล่าไม่ทำงาน ฉันทำแล้วติดตั้งและลบแพคเกจ กำลังจะติดตั้งอีกครั้งฉันได้Need to get 0 B/21.9 MB of archivesระบุว่ามีเวอร์ชันแคชอยู่ เมื่อมองไปรอบ ๆ มันกลับกลายเป็นว่าพวกเขาถูกแคชไว้ในรากของระบบไฟล์ ... ไม่ใช่สิ่งที่ฉันต้องการ! นอกจากว่าเราทั้งคู่กำลังอ่าน manpage เพื่อหา apt.conf ผิดทั้ง manpage นั้นผิดหรือมีข้อผิดพลาด ฉันคิดว่าฉันจะติดกับวิธีที่สอง
แบลร์

4
ฉันได้รายงานDir::Cache::Archive "";ข้อผิดพลาดที่ bugs.launchpad.net/apt/+bug/937951 เมื่อคุณตั้งค่าแล้วอย่ารันapt-get cleanเนื่องจากจะลบไฟล์ทั้งหมดในไดเรกทอรีราก ( /)
Lekensteyn

2
ตามข้อผิดพลาดDir::Cache::Archiveเป็น var การกำหนดค่าที่ไม่ถูกต้อง Dir::Cache::{src,}pkgcacheนี้ควรจะเป็น
Jeremy Kerr

1
ข้อบกพร่องนี้ได้รับการแก้ไขในรุ่นที่ใหม่กว่าหรือไม่?
sep332

-2

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือ:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 

2
คำสั่งนั้นจะไม่เปลี่ยนแปลงอะไรเลย - เพียงแค่แสดงเนื้อหาของ04autoclean(เมื่อเรียกใช้ใน/etc/apt/apt.conf.dไดเรกทอรี) คุณจะบอกว่าแบลร์ควรเปลี่ยนเนื้อหาของ04autocleanเพื่อให้APT::Clean-Installedมีการตั้งค่า"true"?
Eliah Kagan

1
สิ่งนี้จะควบคุมวิธีการapt-get autocleanทำงานเท่านั้น จาก apt-get (8): "ตัวเลือกการกำหนดค่า APT :: Clean-Installed จะป้องกันไม่ให้แพ็คเกจที่ติดตั้งถูกลบหากตั้งค่าเป็นปิด"
blueyed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.