ディスクスペースが非常に限られている組み込みシステムでは、フォルダー/var/cache/apt
に700MBのsrcpkgcache.bin.*
といくつかの大きな*.bin
ファイルがいっぱいです。
Sudo apt-get clean
を実行しても、目に見える違いはありませんでした。
これらの*.bin*
ファイルを手動で削除しても安全ですか?
あんまり。これらのファイルは、システムが利用可能なものとそうでないものを判断するのに役立ちます。そのディレクトリを空にすると、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を使用した手動インストールに戻すことができます。いくつかの組み込みシステムでこれをしなければなりませんでした。動作しますが、管理者にとっては悪夢です。
もちろんpkgcache.bin
とsrcpkgcache.bin
を削除しても何も起こりません。 apt-get update
を実行して、それらを再作成します。
pkgcache.bin
とsrcpkgcache.bin
を残しておいてください。他のものは安全に削除できます。ディレクトリに触れないでください!
もちろん、このためにNFS共有(ネットワークファイルシステム)を作成できます。これらのファイルをサーバーに残し、パッケージを更新/インストールする場合にのみ共有をマウントします。組み込み環境では、通常、インストールは比較的静的です。
sshfsはもう1つの優れたオプションで、セットアップがはるかに簡単です(基本的には標準のSSHのみが必要です)が、オーバーヘッドが大きくなります(遅い)。