Linuxでディスクの空きが無くなった場合の対処方法

  Linux

Linuxを使っていてディスクの空きが0%になってしまったときの対処法を紹介します。

まず、x-windowシステムが使えなくなりました。そのためGUIでのログインができません。始めは何が起きたか理解できませんでした。ログインしてから画面の表示はあるけどアイコンなりタスクバー表示されない場合はディスクがいっぱいになっている可能性を疑うのもありかもしれません。

仕方ないのでsshでターミナルからログインします。ディスクの使用量を見るためにはdfコマンドを使用します。

こんな感じで表示されると思います。-hオプションは –human-readable オプションで、人間が読みやすい表示にしてくれるものです。ここでは /dev/sda1が78%使用されていることがわかります。これが100%になっているとかつかつで何も動けなくなります。

私の場合は、キャッシュファイルが増えてディスクが圧迫されているのではないかというあたりをつけていたので、どのディレクトリがディスクを食っているのか調べることにしました。コマンドは du コマンドを使用します。

–max-depth オプションはターゲットのディレクトリ(ここでは/home)から1階層下まで表示するというオプションです。これが無いと最下層まで表示されるので、見づらくなる場合があります。

duコマンドは標準のコマンドですが、ディレクトリごとのディスクサイズを調べる方法としてはもっと便利なコマンドがあります。それがncduです。標準では入っていませんのでまずインストールします。(最もディスクの空きがない場合はインストールできないので注意が必要です。)

使い方は簡単で、ncdu ディレクトリ名 を入力すると一覧で表示されるうえにディレクト間を移動できます。

これで調べた結果、Firefoxのキャッシュが肥大化してディスクを圧迫していることがわかりました。しかし、Xwindowが起動しないためFirefoxを起動させることができません。Firefoxが起動しないと設定メニューからキャッシュ削除ができません。

ここまでくると直接キャッシュを消すしかないので、~/.cache/mozilla/firefox ごと消すことになります。

これで私の場合はディスクの空き容量を回復することができました。