web-dev-qa-db-ja.com

/ var / cache / aptコンテンツを手動で削除しても安全ですか?

ディスクスペースが非常に限られている組み込みシステムでは、フォルダー/var/cache/aptに700MBのsrcpkgcache.bin.*といくつかの大きな*.binファイルがいっぱいです。

Sudo apt-get cleanを実行しても、目に見える違いはありませんでした。

これらの*.bin*ファイルを手動で削除しても安全ですか?

21
ysap

あんまり。これらのファイルは、システムが利用可能なものとそうでないものを判断するのに役立ちます。そのディレクトリを空にすると、apt-getシステムが破損します。ここにいくつかのヒントがあります。

まず、自動クリーニング

を追加

DPkg::Post-Invoke { "apt-get clean"; };

/etc/apt/apt.confの最後まで。これにより、aptおよびdpkgプロセスに時間がかかりますが、キャッシュディレクトリが常にクリーンになるようになります。

次に、アーカイブを削除します

(使用していない)すべてのソースアーカイブを削除して無効にすることから始めます。組み込みシステムでは、おそらくそれらは必要ありません。次に、使用されていないすべてのアーカイブを削除します。不明な場合は、apt-cache policyを実行して、パッケージがどのリポジトリから来ているかを把握できます。

アーカイブのさらなる削除

一部のPPAでは、必要なパッケージが1つまたは2つだけの場合に膨大な数のパッケージを使用することを恐れています。これらのPPAを無効にし、debファイルを手動でインストールしてみてください。これらの場合はスペースを節約できますが、自動更新は失われます。 dpkgは依存関係を処理するため、thing-with-tons-of-deps.debをインストールし、apt-get -f installを実行して依存関係を取得できることに注意してください。

Totally Extreme Answer 1

組み込みシステムについて話していたので、メインのレポジトリの90%は役に立たないでしょう。これを処理するには、独自のapt-getリポジトリサーバーを実行します このリンクを参照 。簡単ではありません。1台のマシンのPIAです。しかし、これらのマシンが複数ある場合は、まったく価値があります。 (aptレポサーバーは、実際に使用するパッケージのサブセットのみをホストできます。すべてをミラーリングする必要はありません)

Totally Extreme Answer 2

スペースが本当に大きな問題である場合は、aptをすべて一緒に無効にして、dpkgを使用した手動インストールに戻すことができます。いくつかの組み込みシステムでこれをしなければなりませんでした。動作しますが、管理者にとっては悪夢です。

11
coteyr

もちろんpkgcache.binsrcpkgcache.binを削除しても何も起こりません。 apt-get updateを実行して、それらを再作成します。

2
Tomas M

pkgcache.binsrcpkgcache.binを残しておいてください。他のものは安全に削除できます。ディレクトリに触れないでください!

1
Frantique

もちろん、このためにNFS共有(ネットワークファイルシステム)を作成できます。これらのファイルをサーバーに残し、パッケージを更新/インストールする場合にのみ共有をマウントします。組み込み環境では、通常、インストールは比較的静的です。

sshfsはもう1つの優れたオプションで、セットアップがはるかに簡単です(基本的には標準のSSHのみが必要です)が、オーバーヘッドが大きくなります(遅い)。

0
jippie