MacBook Airの128GBしかない非力なSSDもそろそろ満杯になってきた.最近ではスワップが溜まっては再起動するということを繰り返していたので,色々と容量の食っているファイルをちまちま消していた.そういった地道な努力をしつつ無駄なキャッシュや不必要なファイルなどをちゃんと調べてみると,どうやらMacPortsが10GB近く占めていることがわかり,しかもバージョンアップによって使用されなくなったgccやllvm,boostなどの古いバージョンのせいだとわかったので,思い切って消してみることにした.

古いバージョンのパッケージを消す

MacPortsでは,バージョンが上がってアップデートする際に,インストールされているバージョンのパッケージをInactiveとし最新バージョンをActiveにするという方法で,過去のバージョンのパッケージが残される仕組みになっている.ということで,Inactiveなパッケージを全て消去するために,以下のコマンドを使用する.

1
$ sudo port -u uninstall

これでInactiveなパッケージを全て消去することができる.なお,古いバージョンとして残っていたパッケージを消すということは気軽にバージョンを変更したりできなくなるということなので,もしバージョンアップによる不具合に対応する必要が出てくると後々面倒になることを注意しておきたい.

結果

/opt/localが10GBから5GBになり,かなりのダイエットに成功した!容量の少ないMacBook Airでも,これでもうちょっと耐えられそう.

DaisyDiskによる可視化

さて,ここからは完全に蛇足なのだが,最近使用しているのDaisyDiskという可視化ソフトウェアがなかなか気に入っているので,今回のファイル消去の前後で/opt/localがどれだけ変化するかを確かめてみた.DaisyDiskは本来はインタラクティブに操作することができて,気になる箇所をクリックしたりして拡大することができるのだが,今回は前後の画像比較だけとなっている.使い心地が気になる人は以下のリンクから公式ページに飛んで紹介動画を見ていただきたい.

DaisyDisk - Analyze disk usage and free up disk space on Mac

Before

After

まず全体の容量が10GBから5GBに変わっており,それぞれの面積は単純に割合を示していることに注意.Inactiveなパッケージを消去する前は少数の比較的大きな領域がいくつも見られる.具体的には,左側の外縁から2つ目のピンクの領域がgccやllvm,boost,emacsなどのパッケージのディレクトリを表しており,一番外縁にある灰色がそれぞれのパッケージのファイルになっている.一つのパッケージに複数の灰色で区切られた細かいディレクトリが含まれているのは,それだけアップデートして古いバージョンのパッケージが溜まっていったからだ.そしてInactiveなパッケージを消去した後は,複数の小さな領域が組み合わさっていることがわかり,それぞれのパッケージに含まれるファイルの容量が小さくなったことを示している.

参考