スワップファイルの話(その3)
スワップファイルに関してXupportが変更した事。
Xupport がスワップファイルの場所を変更するために書き換えたファイルが分かりました。"/etc/rc" という、MacOS-Xブート時に動くスクリプトです。書き換え前のバックアップも残されていますので、差分を調べてみましょう。
$ cd /etc
$ diff rc rc-backup
223,225c223
< /sbin/autodiskmount
< sleep 3
< swapdir=/Volumes/MacHD/vm
---
> swapdir=/private/var/vm
242c240
< appprofiledir=/Volumes/MacHD/vm/app_profile
---
> appprofiledir=/private/var/vm/app_profile
|
これを見れば分かるとおり、MacOS-Xオリジナルの方はスワップファイルを "/private/var/vm" の下に作る設定になっている様子です。ちなみに、
lrwxr-xr-x 1 root admin 11 25 Oct 2003 etc -> private/etc
lrwxr-xr-x 1 root admin 11 25 Oct 2003 tmp -> private/tmp
lrwxr-xr-x 1 root admin 11 25 Oct 2003 var -> private/var
という具合にシンボルリンクが張られていますので、"/etc/rc" と"/private/etc/rc" は同一のファイルです。同様にスワップファイルを作る場所の"/var/vm" と"/private/var/vm" も同一のものです。Xupport はここを "/Volumes/●●●/vm" (私の設定では●●●はMacHD)に変更することでスワップファイルを別パーティション(ディスク)上に作るようにしていると思われます。
< /sbin/autodiskmount
< sleep 3
はスワップファイルを作る先のディスクが未マウント状態だとマズイので、ここでマウントを行っているのでしょう。
"/Volumes/●●●/vm" を不可視にしたければ、フォルダ名の先頭に '.' (ドット)をつけ、"/etc/rc" ファイルを修正すれば良さそうです。
適当なエディタで"/etc/rc" の以下の場所を修正します。
225行目:swapdir=/Volumes/MacHD/.vm
240行目:appprofiledir=/Volumes/MacHD/.vm/app_profile
ついでにセキュリティを考慮して以下のようにオーナとパーミッションを変更しておきます。(Xupport は "/etc/rc" のオーナを Xupportを実行した一般ユーザのもので、書き込み権ありで作成してしまうようです。)
$ sudo chown root /etc/rc
$ sudo chmod 444 /etc/rc
|
そしてスワップファイル作成場所のフォルダ名を変更します。
$ cd /Volumes/MacHD
$ sudo mv vm .vm
|
その後、Macを再起動します。
|