アフィリエイト広告を利用しています

macOS Catalinaの最新記事

mac Read-only file system ルート(/)にフォルダを作る方法

macOS Catalinaで/publicフォルダを作成するところでつまづきました。
sh-3.2# mkdir -p /public
mkdir: /public: Read-only file system


macOS Catalina では、ファイルやデータを読み取り専用のシステムボリュームに保存したり、コマンドライン (ターミナルなど) から「ルート」ディレクトリ ( / ) 書き込んだりすることはできなくなりました。

macOS Catalina の読み取り専用のシステムボリュームについて


ここでは、SIPをOFFにすることなくmacOS Catalinaでルート( / )にpublicフォルダを作る手順が分かります
手順は、フォルダを作って、設定、再起動の流れになります。基本的にターミナルアプリを使って作業します。

手順1:必要なフォルダを作る


基本、読み込み、書き込みができることが前提かと思います。
/System/Volumes/Data/フォルダ下にフォルダを作る必要があります(外付けはダメってことですね)。

実際publicフォルダをどこに?後々のことを考えるとAppleの慣例に合わせておいた方が面倒ごとが減るかと思っています。

homeは/System/Volumes/Data/home


コマンド( ls -l / )でルートフォルダがどのように形成されているのかが分かります。
home -> /System/Volumes/Data/home
/homeの実体は、/System/Volumes/Data/homeにあることが分かります。

作成するフォルダはこの規則に合わせて作ります。


これに合わせて、今回作成するpublicフォルダは、/System/Volumes/Data/publicに作成します。

◯ フォルダを作成する
sudo mkdir -p /System/Volumes/Data/public
この時点では、自分がこのフォルダ内に書き込むことができません。アクセス権がないためです。

◯ アクセス権を与える。自分がオーナーとなるように調整します。
自分のIDを調べます。
id -un
macyarounanoka <= 次に利用するコマンドに使います。

このコマンドでオーナーを自分に変更できます。
sudo chown macyarounanoka /System/Volumes/Data/public

↓のように一括でやることもできます。'ではありません。`逆シングルコートです。
sudo chwon `id -un` /System/Volumes/Data/public

公開予定のpublicフォルダの作成、アクセス権の設定ができました。

手順2:ルート(/)にシンボリックリンクを作成する設定を行います。


通常lnコマンドでシンボリックリンクを作成することができます。このコマンドも「 Read-only file system」エラーになります。

lnコマンドの代わりにmacOS Catalinaからは/etc/synthetic.conf設定ファイルが必要になりました。
man synthetic.confで設定方法の詳細が分かります。

設定方法は例えばpublicを公開する場合
public(公開したいフォルダ名)[tab]/System/Volumes/Data/public(実体のフォルダ)
public    System/Volumes/Data/public

Sysmteの先頭には/がないことに注意してください。

以下のようなコマンドで設定することも可能です。
echo -e 'public\tSystem/Volumes/Data/public' | sudo tee -a /etc/synthetic.conf
このコマンドは、ファイルがなければ新規作成、ファイルがある場合追記します。

設定された内容は以下コマンドで確認することができます。
cat /etc/synthetic.conf

手順3:macOSを再起動し、設定を適用する。


今回設定した内容は、macOS起動時に反映されます。
再起動の準備ができたところで、macOSを再起動してください。

再起動後、/publicフォルダができていることが確認できます。

作った設定が間違っていた、ルートに公開したフォルダをやめる方法


まずは設定済みの内容を確認します。
cat /etc/synthetic.conf

自分で設定したもの1行だけある
=>設定ファイルを削除します。
sudo rm /etc/synthetic.conf

今回複数ある中から1つだけ削除したい
=>vi で編集する必要があります。
sudo vi /etc/synthetic.conf
viで削除対象の行の先頭に#をつける、またはその行を削除し保存してください。

設定した内容は、macOS起動時に反映されます。
再起動の準備ができたところで、macOSを再起動してください。

まとめ


SIPをOFFにすることなくmacOS Catalinaでルート( / )にpublicフォルダを作る手順が分かったかと思います。

この記事の内容は2020/1/10の「[macOS Catalina] 困ったことの対処方法」に書いた内容をリライトしたものです。今回困って探して以前書いた内容にようやくたどり着きました。探すキーワードで見つかるようにしました。

 

 

mac Read-only file system ルート(/)にフォルダを作る方法
サブコンテンツ

コメント

comments powered by Disqus

コメントシステムを利用したくない方はお問い合わせからお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。

Microsoft 365 プランの比較 icon

(Microsoft 365 Personal 2,500 円 キャッシュバック キャンペーン 実施中 2022/3/30まで)

  • 祝!初マック(mac book retina 13インチ)!retina美しいです^^マックに関係するTips、情報、はまったことの解決策等
  • Mac野郎なのか
  • プロフィール

このページの先頭へ

×

この広告は30日以上新しい記事の更新がないブログに表示されております。