web-dev-qa-db-ja.com

/ var / cacheを安全に削除できますか?

ディスク容量が足りなくなり、大きな/var/cacheディレクトリ。これを安全に削除できますか? (Arch Linux、BTWを使用)。

87
user11780

いいえ

1つは、/var/cache/bind/は、bind9がそのゾーンファイルが格納されることを期待するデフォルトのディレクトリです(少なくともDebianでは、他のディストリビューションがこれに倣うかどうかはわかりません)。

別の例として、 このドキュメント によると、pacman(Arch Linuxで使用されるパッケージマネージャー)は、パッケージキャッシュを/var/cache/pacman/pkg/そしてそれはおそらくそれ自体が内容を変更することだけを期待しています。

ドキュメントをよく読んで、パッケージキャッシュをクリアするのに適したタイミングかどうかを判断することをお勧めします。

30
Shadur

から http://www.lindevdoc.org/wiki//var/cache

(非常に)遅い回答で申し訳ありませんが、将来の参照のためにこのビットを含めることが重要だと思います。

この質問に答えるビットを強調表示しました。

/ var/cacheディレクトリには、キャッシュされたファイル、つまり生成され、いつでも再生成できるファイルが含まれていますが、再計算の時間を節約するために保存する価値があります。

ここでは、どのアプリケーションでもファイルまたはディレクトリを作成できます。ここに格納されているファイルは重要ではないと想定されているため、システムは定期的に、または内容が大きくなりすぎたときに/ var/cacheの内容を削除できます。

どのアプリケーションでも、ここに保存されているファイルはいつでも消えて、その内容を再計算する準備ができていることを考慮に入れる必要があります(時間のペナルティを伴います)。

そのため、問題が発生することを予期せずにこれらのファイルを削除できます。

85
Tor Valamo

others が述べたように、/var/cache/は、検索時間を節約するための情報を格納するために、どのアプリケーションでも使用できます。しかし、私の経験では、システムで使用されるスペースの大部分は、システムのパッケージマネージャーによるものです。

Arch Linuxから wiki

pacmanはダウンロードしたパッケージを/var/cache/pacman/pkg/に保存し、古いバージョンやアンインストールされたバージョンを自動的に削除しないため、そのようなフォルダーのサイズが無制限に大きくなるのを防ぐために、定期的にそのフォルダーを定期的にクリーンアップする必要があります。

pacman -Sc

ただし、将来の非互換性の原因で、頭痛を軽減するために、ストレージスペースが必死の問題でない限り、これらの他のツールの1つを使用する必要があります:paccachepkgcacheclean、またはpacleaner


他のシステムの場合:

Redhatベース(Fedora、CentOS、SLなど)

yum clean all
# or
dnf clean all

Debianベース(Ubuntuなど)

apt-get autoclean

SUSEベース

zypper clean
15
Kevin

ディスクスペースを改善するためにUbuntu 15.10の/ var/cacheから削除することを検討しているという点で、この投稿は興味深いものでした。これが私が見つけたものです。

/ var/cache/apt 'Sudo apt-get clean'が実行された後、キャッシュファイルは削除されますが、ディスク構造の改善を検討している場合は問題ないディレクトリ構造が残ります。 apt-get [auto] remove/[auto] cleanなどでディスク容量を改善する場合は、 'apt-get clean'を最後に実行する必要があります

ディレクトリ内の他のすべてに関して、私は「トールヴァラモ」と彼の説明にこれ以上同意することができませんでした。それはキャッシュです。キャッシュを使用するシステムとアプリは、そこで作成したものを再生成できるはずです。キャッシュがアプリ間で再生成されるため、パフォーマンスのオーバーヘッドはわずかです

すべてのシステムがこのプリンシパルに準拠していない可能性があるため、いくつかのテストを行い、キャッシュディレクトリ内のすべてを新しい場所に移動して、システムとすべてのアプリケーションが機能することをテストしてから、キャッシュを完全に削除してください。 =

9
JeffreyJ

この決定は、lsofを使用して自分で行うことができます。

lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqを実行して、そのディレクトリに現在開いているファイルがあるソフトウェアを確認します。中程度に重要に見えるものがある場合(またはそれが何であるかわからない場合)は、削除しないでください。

その上、とにかくバックアップなしでディレクトリを破壊するだけではいけません。これは/tmpにも当てはまります。ファイルが現在使用中の場合、削除はハンドラーが閉じられるまで登録されません(ファイルシステムで削除されたことがわかります)。さらに、削除を行うと、実行中の他のプログラム(上記のlsofコマンドを参照)に、存在するはずのファイルが見つからない場合にクラッシュする可能性があります。

基本的に、削除するファイルはknowで安全で、現在実行中の他のソフトウェアで使用されていないファイルのみです。

1
user26053