OSX で /opt だけを Case-Sensitive にして MacPorts 環境をつくる
結論
- OSインストール時に適宜パーティションを切る
- OSインストール後に
fstab(5)
を設定してdiskutil(8)
でマウントする
経緯
- OSX は Unix なのに標準のファイルシステムが Case-Sensitive じゃなくて *nix として気持ち悪い
- 一応 HFS+ のオプションに Case-Sensitive があるのでクリーンインストール時にフォーマットしなおす
/
が Case-Sensitive だと Adobe のソフトが動かない\(^o^)/
課題
せめて /opt
は Case-sensitive にしたい
そうしてどうなった
- Macの電源を入れて option キーを押しっぱなしにして復元モードで立ち上げる
- 左上の林檎マークをクリックしてディスクユーティリティを立ち上げる
- おもむろに
opt
というLABELで大文字小文字を区別するパーティションを60GBくらい切る - クリーンインストールする
/opt に起動時に自動マウントするようにする
OSX は外部fsを標準で起動時に/Volumes/$LABEL_NAME
でマウントするようになっていて便利だが、今回ばかりは/opt
にマウントしたい(ln -s /Volumes/opt /opt
しても良いが非常にダサい)。
OSX は *nix なので/etc/fstab
を編集することでマウントポイントの指定が可能。
まずはデバイスのUUIDを調べたいので、opt
のデバイス名を調べる。
% df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s2 875Gi 298Gi 577Gi 35% 78060758 151283371 34% / /dev/disk0s4 56Gi 0Bi 0Bi 100% 0 0 /Volumes/opt devfs 187Ki 187Ki 0Bi 100% 650 0 100% /dev map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
opt
が/dev/disk0s4/
だと分かったのでdiskutil info disk0s4
とするとUUIDなどその他情報が見られる。ここでUUDIDをメモる。
% sudo sh -c "echo UUID=<YOUR_DEVICE_UUID> /opt hfs rw 1 0 >> /etc/fstab"
してから
% sudo mkdir /opt
% diskutil umount /dev/disk0s4
% diskutil mount /dev/disk0s4
すると /opt
に常にマウントされるようになる。mount(8)
でも良いような気がするが、OSXなのでdiskutil(8)
を使わないとうまくいかない。本当に*nixなのかと少し不安になる。
あとは普通にMacPortsをインストールすれば良い。