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

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 プランの比較

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

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

このページの先頭へ

×

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

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: