メモ:FreeBSDにてNFSやFTP、外部ディスクに退避できない環境下における、緊急で空き容量を確保したい場合

FreeBSDにてファイルシステムいっぱいにデータを詰め込むと、外部ディスクのマウントやネットワーク接続ができなくなるときがあるが、削除できるデータがない、ということが極稀にあるので、削除できそうなファイルについてまとめたもの。

※実行の結果、不利益が生じてもすべて自己責任ということでよしなに。


〜割とカジュアルにできるもの〜
Ports Collectionを利用したインストールを常用している場合、workディレクトリ残置で容量を食っていることがある。これを削除する。
コマンド: make -j`sysctl -n hw.ncpu` -C /usr/ports clean

カスタムカーネルや環境変更を行っていた場合は、そのワークデータを削除する。具体的にはmake buildkernel、make buildworldの作業データ。特に重要なものではない限り削除対象。

コマンド:  rm -dR /usr/obj



〜ここからはちょっと危ないので、具体的な削除コマンドの記述は控える〜
メッセージログ。gzファイルは消しても良いかもしれない。
場所: /var/log

Ports Collectionのカタログ。容量が十分に確保されたらportsnap fetch extractで再展開する。ただし/usr/ports/distfilesに必要なソースコードが保存されている場合は再フェッチとなるため、必要に応じて削除から除外したほうが良い。

場所: /usr/ports


現システムで実行中のFreeBSDバージョンのソースコード一式。fetch ftp://ftp.freebsd.org//pub/FreeBSD/releases/`sysctl -n hw.machine`/`sysctl -n hw.machine`/`sysctl -n kern.osrelease | cut -f1,2 -d '-'`/src.txz 後、tar xvzf src.txzで復元することができるので割とカジュアルに削除できるかも・・・

場所: /usr/src


Ports Collectionのカタログファイル類。gzファイルを削除することができる。
必要な場合は、portsnapコマンドではなくsvn経由でリビジョン指定checkoutなどで復元は可能。
場所: /var/db/portsnap/files


9.1-RELEASEで登場したバイナリパッケージインストールコマンド pkgのキャッシュを削除する。txzを削除することができる。
場所: /var/cache/pkg


freebsd-update rollback用txzファイル。freebsd-updateは6.2-RELEASEから搭載されたが、バージョンアップグレードやセキュリティフィックスを繰り返してきた場合は相当溜め込んでいるはず。現システムが安定して動作しているのであれば、削除すると相当容量に余裕が持てる。
デメリットとしては、freebsd-update rollbackができなくなるので、システムアップデートした直後など安定していると判断しづらいときにはできない。
場所: /var/db/freebsd-update/files


〜蛇足〜
rmコマンドやlsコマンドを使用して削除することができない場合、下記のコマンドで一括削除することができる。
# echo * | tr ' ' '\n' | grep -E 'txz|gz'$ | xargs -I% rm -v %

コメント