ルートディレクトリにフォルダを掘る
macOSはCatalinaからかな、/(ルート)にフォルダを掘れなくなりました。だから、/HOGE/Server とかいう階層にサーバーの共有フォルダをマウントさせて、Linux環境とパスを一致させることで共同作業の利便性を向上させていましたって方々は困っていたわけです。
Appleはそれを回避する手段として /etc/synthetic.conf ってのを用意していて、ルートディレクトリにフォルダを作る方法を提供していました。ただユーザがアクセスできるそれはあくまでもシンボリックリンクとしてって形で使うものって自分は思ってて、ファイルパスの一致の問題を解決できないでおりました。
現在のmacOSはMacintosh HDの一番上の階層に表示される Applications とか Users などといったMacユーザにお馴染みのフォルダも、実際は /System/Volumes/Data 内にある同名ディレクトリを synthetic.conf の仕組みでもって ルートにあるように見せているって仕組みになってるようです。/Applicationsや/Usersといったディレクトリはシステムが使用するsynthetic.conf を使ってルートディレクトリにあるように見せているようですが、ユーザは /etc/synthetic.conf を使って同じことができました。その機能を使って、SIPを解除して云々とかいうイレギュラーな運用をすることなくルートディレクトリにフォルダを掘る方法がネットに書かれてました。
メモっときます。ただしこれはボリュームをこの位置にマウントさせるという考え方になるみたいです。
HOGEって名前でルートにフォルダを掘りたいとします。
echo 'HOGE' | sudo tee -a /etc/synthetic.conf
/etc/synthetic.confにHOGEって書いただけです。で、マシンを再起動。これで、HOGEがルートに出来上がりますが、その状態だとアクセスはできません。そこで以下の処理をします。
sudo diskutil apfs addVolume disk1 APFSX HOGE -mountpoint /HOGE
sudo diskutil enableOwnership /HOGE
sudo chflags hidden /HOGE
echo " LABEL=HOGE /HOGE apfs rw"|sudo tee -a /etc/fstab
disk1の部分は diskutil list でマウントされているボリュームの一覧を見て、たぶん、システムの入っているコンテナを指定してやることになります。自分のマシンでやったら disk1 ではなく disk3 でした。APFSXを使っているのはなんでなんだろう?
APFSボリュームをマウントするパス(synthetic.confで作成したHOGE)を指定してAPFSコンテナに追加するという処理をして、
その所有権を有効にし
デスクトップに表示されないようにして
以降も同じようにHOGEを動作させるためにfstabに記入しておきます。
そんな順序の模様。結果、このHOGEフォルダの中にフォルダを掘って、そいつにサーバーの共有フォルダをマウントさせることができるようになりました。たぶんこれで行けるのではないかと思うけど、さて。
<追記>テスト的にHOGEとかいう名前で作っちゃったので、それをちゃんと本番環境の名前にしておきたいと思いました。
/etc/synthetic.conf の中のHOGEと書かれた行のHOGEを本番環境の名前に変更して保存。仮にそれをHAGEとします。
DiskUtilityを開くとHOGEがマウントされているので、それを普通にHAGEとリネームします。diskutilコマンドのremaneを使ってもいいでしょう。(普通にFinderからリネームでもいいのか?)
fstabのHOGEとなっている部分をHAGEに書き換えます。
これだけでいいみたいでした。</追記>
コメント |
コメントはありません。 |
コメントを投稿する |
ブログ作成者から承認されるまでコメントは反映されません |