日々適当
hibitekitou

Catalinaのルートディレクトリへの書き込みが禁止された

mac |2019-11-07

macOS Catalinaはブートボリュームを二つの領域(リードオンリーのシステムボリュームと書き込み可能なユーザボリューム)に分けています。正確にはもうちょっと細かく分かれているみたいだけど、macOSを利用中のユーザから見える範囲としてはこの二つ。
システムボリュームは / にマウントされ、ユーザボリュームは /Syste/Volumes にDataとしてマウントされている模様。このリードオンリーな領域はSIPを無効にすることで書き込み可能になるけど、システムを再起動するとSIPが有効になってリードオンリーに戻る。
で、/System/Volumesにマウントされるデータ領域だけど、通常はそれを意識せずに / から連なる階層としてみえてくれます。ソフトをインストールしたら /Applications に入るし、ユーザフォルダは /Users/hoge だしといった感じ。

というわけで、/ にフォルダを掘ることができません。

% pwd
/
% mkdir FOLDER
mkdir: FOLDER: Read-only file system

というようにリードオンリーだから書けないよって言われます。
だから例えば /Users/Share にマウントポイントとなるフォルダを掘ってそれに対して

mount -t smbfs //ユーザー名:パスワード@ホスト/共有フォルダ /Users/Share/[Mount Point]

を実行してやる分にはマウントされたんですけど、Mojave以前でルートディレクトリに例えばHAGEってフォルダを掘って、そこに各サーバーの共有フォルダのマウントポイントを置いていた時(/HAGE/MountPoint とか設定してた時)に困ったぞとなるのです。ファイルパスが重要ないろんなファイルが依存しまくっているようなプロジェクトを扱っているCGソフトのようなツールではCatalinaにすることで過去のファイルパスとの互換性を保てない、ってことになるわけで。

で、 /System/Volumes/Data 直下にディレクトリを惚れるので、それが / に見えてくるかと思いきやそんなわけでも無い。/ の下の階層、例えば /Users 以下にフォルダを掘ると /Users と /System/Volumes/Data/Users に同じように新たに作ったフォルダが見えてきます。これと同じことがSIPが適用された階層にもできればねぇ…

SIPをオフにする以外で何か方法はないものか…

コメント ( 0 )|Trackback ( 0 )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。
数字4桁を入力し、投稿ボタンを押してください。