サーバーでなにかの作業をしようとした時に、以下のようなエラーが発生して正常に完了できない場合があります。
※この時はLet’s Encryptの作業をしようとしてエラーになりました。
FileNotFoundError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/etc/letsencrypt/live']
こちらのエラーが発生した場合は、サーバーの容量不足が原因であることが多いため、以下の手順でサーバーの容量を確認してみましょう。
dfコマンドでパーティション単位の容量を確認する
dfコマンドというコマンドを実行すると、以下のようにパーティションごとの容量を表示することができます。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 475M 0 475M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
/dev/xvda1 8.0G 7.9G 99M 99% /
上記の例だと「/dev/xvda1」というパーティションが99%となっており、まもなく100%担ってしまいそうなことがわかります。
duコマンドでディレクトリ単位の容量を確認する
dfコマンドでパーティション単位の容量は見ることができましたが、もう少し細かくディレクトリ単位で容量の確認したいことがあると思います。その場合はduコマンドを利用して表をしましょう。ここでは表示と同時に容量が大きい順に並び替えもしています。
// ルートディレクトリ(/)の容量を表示
$ du / --max-depth=1 -h | sort -hr
du: `./yyyy` にアクセスできません: No such file or directory
0 `./xxxx` にアクセスできません: No such file or directory
9.2G /
5.6G /var
3.2G /usr
345M /home
・・・
4.0K /tmp
0 /sys
0 /dev
※ディレクトリによっては「xxxxにアクセスできません: No such file or directory」と表示されるときがあります。
上記を見るとディレクトリ「var」が「5.6G」あることが分かります。さらにディレクトリ「var」を調査したい場合は同様のコマンドを実行すれば同様の形で表示することができます。
// varディレクトリの容量を表示
$ du /var --max-depth=1 -h | sort -hr
5.6G /var
3.1G /var/lib
922M /var/log
341M /var/www
286M /var/cache
20K /var/spool
0 /var/yp
0 /var/tmp
0 /var/snap
また、以下のように現在のディレクトリに対して実行することもできます
// 現在のディレクトリの容量を表示
$ cd /var
$ du --max-depth=1 -h | sort -hr
5.6G .
3.1G ./lib
922M ./log
341M ./www
286M ./cache
20K ./spool
0 ./yp
0 ./tmp
0 ./snap
それではみなさん、自由なWEBライフをお過ごしください!