ฉันจะกำหนดค่า apt-get to clean โดยอัตโนมัติหลังจากการติดตั้งทุกครั้งได้อย่างไร


12

apt-get cleanหลังจากapt-get installอัตโนมัติจะมีวิธีใดบ้างเช่นใน distros อื่น ๆ ?


ขอบคุณ @Braiam ฉันพบข้อบกพร่องใน Ubuntu และฉันจะรายงาน ในการแก้ปัญหาของ Debian Braiam ทำงานได้ดี
Tiago Carrondo


1
@TiagoCarrondo คุณสามารถแชร์ลิงก์บั๊กได้ไหม?
Ken Sharp

ใน Xenial ทุกเครื่องของฉันทำความสะอาดตัวเอง ฉันไม่ทราบว่ากำหนดค่าไว้ที่ใด แต่ใช้งานได้
เคนชาร์ป

คำตอบ:


13

คุณเพียงแค่ต้องเพิ่มมันในไฟล์การกำหนดค่า apt เพิ่งรัน:

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

upgradeนี้จะทำให้การทำความสะอาดอัตโนมัติทุกครั้งที่คุณทำ

ให้อธิบายรายการนี้จากหน้าคน:

Clean

โหมด Clean Cache; ค่านี้อาจเป็นหนึ่งในพร้อมท์อัตโนมัติอัตโนมัติก่อนอัตโนมัติและไม่เคยเลย เสมอและพรอมต์จะลบแพ็กเกจทั้งหมดออกจากแคชหลังจากอัปเกรดพร้อมท์ (ค่าเริ่มต้น) ทำตามเงื่อนไข อัตโนมัติจะลบเฉพาะแพ็คเกจที่ไม่สามารถดาวน์โหลดได้อีกต่อไป (แทนที่ด้วยเวอร์ชันใหม่เป็นต้น) ดำเนินการอัตโนมัติก่อนดำเนินการนี้ก่อนดาวน์โหลดแพ็คเกจใหม่

ข้อมูลเพิ่มเติม:

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 "always" เหมือนในไฟล์อื่น ๆ แต่ก็ไม่มีโชค เบาะแสใด ๆ
Tiago Carrondo

@Braiam ไม่มีโชค
Tiago Carrondo

@TiagoCarrondo แล้วตอนนี้ล่ะ? ข้อความ Usenet นี้บอกว่าเป็นผู้ชนะ
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> 

มันจะติดตั้งแล้วทำความสะอาด


ฉันชอบตัวเลือก แต่เสียงเหมือนแผน preety ที่ดี B, ขอบคุณ
Tiago Carrondo

2
/usr/local/bin/ดูเหมือนถูกต้องมากขึ้น
เคนชาร์ป

0

/tmpวิธีแก้ปัญหาของฉันแม้ว่าจะไม่ใช่ทางออกที่แท้จริงคือการตั้งค่าไดเรกทอรีที่เก็บถาวรเพื่อ มันจะไม่ถูกทำความสะอาดโดยอัตโนมัติหลังจากการติดตั้ง แต่มันจะถูกล้างเมื่อรีบูต

ฉันสร้าง/etc/apt/apt.conf.d/99cleanและเพิ่ม:

Dir::Cache::archives /tmp;

อีกทางเลือกหนึ่งคุณสามารถ/var/cache/apt/archivesใช้เมานtmpfsต์ได้ แต่นั่นจะใช้ RAM อย่างเห็นได้ชัดและฉันไม่แนะนำตัวเลือกนั้น

ใน/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";};

การทำเช่นนี้จะล้างแคชโดยอัตโนมัติหลังจาก apt ถูกเรียกใช้ dpkg

สิ่งนี้ไม่ได้ล้างแคชหลังจากapt-get updateนั้นAPT::Update::Post-Invokeอาจใช้ตะขอสำหรับสิ่งนี้

วิธีที่ดีที่สุดยังคงเป็นการโทรapt-get clean/ aptitude cleanด้วยตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.