The world's most advanced operating system. |
MacBook AIRでシステム開発から事務作業までこなすビジネスマンが増えているが、その場合にはひとつ心もとないことがある。MacBook AIRは持ち運びに便利でシステム開発に対してすら十分なパワーを提供しているが、ディスク容量が少ない。特に仮想化環境を複数使うようなケースではディスク容量が厳しいことになる。
Mac OS Xではファイルを削除したにも関わらず、ディスクの空き容量が削除した量ほどは減らないことがある。これはMac OS X Lionから提供されるようになったローカルスナップショットと呼ばれる機能によるものだが、この機能の恩恵を受けるよりも、正確なディスクの空き容量を把握しておきたいことが度々訪れる。そのような場合、多少強引なやり方だが次のようなシェルスクリプトを作成しておいて実行するとよい。
#!/bin/sh
sudo echo > /dev/null 2>&1
df -h /
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
/bin/echo -n . && sudo tmutil disablelocal && sleep 1
/bin/echo -n . && sudo tmutil enablelocal && sleep 1
echo
df -h /
たとえばこのシェルスクリプトをdiskcompという名前で保存して実行権限を与えておき、環境変数PATHの通ったディレクトリにコピーしておく。
% echo $PATH
/Users/daichi/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
% pwd
/Users/daichi/bin
% ls -l diskcomp
-rwxr-xr-x 1 daichi staff 932 8 21 05:19 diskcomp
%
実行すると次のような結果が得られる。
% diskcomp
Password:
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 140Gi 93Gi 61% 36679260 24390180 60% /
................
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 129Gi 104Gi 56% 33806370 27263070 55% /
%
あまり頻繁に実行して意味があることでもないので、新しい仮想環境を作ったり、サイズの大きめなデータをコピーしたり、ディスクの空き容量が気になったときに実施して本当の空き領域を確認するのに使ってみてはいかがだろう。