Bagaimana mencegah apt-get / aptitude menyimpan cache

14

Saya telah menginstal Apt-Cacher NG untuk menyediakan cache paket untuk beberapa mesin. Karena itu saya tidak melihat gunanya memiliki aptitude / apt-get menjaga cache (kedua) mereka sendiri /var/cache/apt/archives. Saya menyadari bahwa saya dapat mengosongkan cache ini sudo apt-get clean, tetapi apakah ada cara mengkonfigurasi apt-get untuk membersihkan cache secara otomatis ketika instalasi telah selesai?

Blair
sumber
Saya mencoba melakukan hal yang sama karena saya menggunakan banyak LXC untuk bereksperimen dan menjaga komputer pribadi saya tetap bersih. Salah satu dari LXC itu adalah apt-cacher-ng saya, tetapi sekarang saya ingin mencegah semua instance lainnya (termasuk yang "asli") untuk menjaga pembacaan arsip.
jgomo3

Jawaban:

9

Menurut dokumentasi Anda dapat menambahkan file config ke /etc/apt/apt.conf.d/bernama no-cachemengandung Dir::Cache "";dan Dir::Cache::archives "";sesuai dengan manual apt.conf. Ada laporan bug yang menimbulkan masalah dengan metode ini, dan saya tidak merekomendasikannya.

Ada satu metode yang tersisa sesuai dengan tutorial ini :

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

Ini akan melakukan rmperintah tepat sebelum apt.

sagarchalise
sumber
Saya menemukan hanya pengaturan jalur cache untuk jalur kosong memberikan kesalahan ketika menjalankan apt: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). Solusi untuk kesalahan ini adalah juga diatur Dir::Cache::archiveske jalur kosong. Saya telah memperbarui jawaban Anda untuk memasukkan ini (dengan asumsi seseorang dengan perwakilan lebih tinggi menyetujui hasil edit).
Blair
1
Sebenarnya, mengatur ini ke jalur kosong tidak berfungsi. Saya melakukannya, lalu menginstal dan menghapus paket. Akan menginstalnya lagi saya harus Need to get 0 B/21.9 MB of archivesmenunjukkan adanya versi cache. Melihat sekeliling ternyata mereka di-cache di root filesystem ... tidak persis apa yang saya inginkan! Kecuali kami berdua membaca halaman manual untuk apt.conf salah, halaman manualnya salah atau ada bug. Saya pikir saya akan tetap dengan metode kedua.
Blair
4
Saya telah melaporkan Dir::Cache::Archive "";bug di bugs.launchpad.net/apt/+bug/937951 . Saat Anda mengaturnya, jangan jalankanapt-get clean karena itu akan menghapus semua file di direktori root ( /).
Lekensteyn
2
Menurut bug, Dir::Cache::Archiveadalah konfigurasi yang salah var; ini seharusnya Dir::Cache::{src,}pkgcache.
Jeremy Kerr
1
Apakah bug ini diperbaiki di versi yang lebih baru?
sep332
-2

Saya pikir yang Anda cari adalah:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 
Pemenang
sumber
2
Perintah itu tidak mengubah apa pun - itu hanya menunjukkan isi 04autoclean(ketika dijalankan di /etc/apt/apt.conf.ddirektori). Apakah Anda mengatakan Blair harus mengubah konten 04autocleansehingga APT::Clean-Installeddiatur ke "true"?
Eliah Kagan
1
Ini hanya akan mengontrol bagaimana apt-get autocleanberperilaku. Dari apt-get (8): "Pilihan konfigurasi APT :: Clean-Installed akan mencegah paket yang diinstal terhapus jika disetel ke mati."
blueyed