キャッシュを保持するapt-get / aptitudeを防ぐ方法


14

Apt-Cacher NGをインストールして、複数のマシンにパッケージのキャッシュを提供しました。したがって、aptitude / apt-getがに独自の(2番目の)キャッシュを保持しても意味がありません/var/cache/apt/archives。でこのキャッシュを空にできることに気付きましsudo apt-get cleanたが、インストールが完了したときにキャッシュを自動的に消去するようにapt-getを構成する方法はありますか?


私は多くのLXCを使って実験し、パソコンをきれいに保つのと同じことをしようとしています。それらのLXCの1つはapt-cacher-ngですが、今度は他のすべてのインスタンス(「実際の」インスタンスを含む)がアーカイブを追跡しないようにしたいと思います。
jgomo3

回答:


9

文書によると、あなたはに設定ファイルを追加することができ/etc/apt/apt.conf.d/命名no-cache含むDir::Cache "";Dir::Cache::archives "";のマニュアルに従ってapt.conf。この方法で問題を提起するバグレポートがありますが、お勧めしません。

このチュートリアルによると残りの1つの方法があります。

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

これにより、rmaptが終了する直前にコマンドが実行されます。


キャッシュパスを空のパスに設定するだけで、apt:の実行時にエラーが発生することがわかりました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、キャッシュされたバージョンが存在することがわかりました。それを見てみると、それらはファイルシステムのルートにキャッシュされていたことがわかりました...まさに私が望んでいたものではありません!apt.confのマンページを間違って読んでいない限り、マンページが間違っているか、バグがあります。私は2番目の方法に固執すると思います。
ブレア

4
bugs.launchpad.net/apt/+bug/937951でDir::Cache::Archive "";バグを報告し ました。設定したら、実行しないapt-get cleanください/。ルートディレクトリ()内のすべてのファイルが削除されるためです。
レーケンステイン

2
バグによると、Dir::Cache::Archive構成変数が間違っています。これはする必要がありますDir::Cache::{src,}pkgcache
ジェレミーカー

1
このバグは後のバージョンで修正されましたか?
9

-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"
エリアケイガン

1
これは、apt-get autoclean動作を制御するだけです。apt-get(8)から:「設定オプションAPT :: Clean-Installedは、インストールされたパッケージがオフに設定されている場合、消去されないようにします。」
ブルーイング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.