%20%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私が直面している状況は、Fedora Linux を半読み取り専用の場所から実行しなければならないことです。ファイル システムを編集したり、ファイルを配置したりすることはできますが、再起動するとすべてが失われ、さらに面倒なことに、使用可能なストレージ領域を簡単に増やすこともできません。ただし、書き込み可能なメディアにはアクセスできるので、次のようにすることにしました。
sudo mount --bind /usr /home/username/Store/Orig/usr
sudo mount -t overlay ovl_usr -o lowerdir=/usr,upperdir=/home/username/Store/usr,workdir=/home/username/Store/Work/usr /usr
2 行目は正常に動作しますが、動作しないのは 1 行目です。これは、 の元のコンテンツにオーバーレイなしでアクセスできるようにするためのものです/usr
。 にオーバーレイがマウントされる前にバインド マウントが作成されるため/usr
、/home/username/Store/Orig/usr
には古いコンテンツが引き続き表示されるはずです。しかし、 は/home/username/Store/Orig/usr
と同じようにオーバーレイされたファイルを表示します/usr
。
のオリジナルコンテンツにアクセスする方法はありますか/usr
?
答え1
「プライベート」が必要なのに、「共有」の動作が発生していると思います。man 8 mount
:
共有サブツリー操作。Linux
2.6.15 以降では、マウントとそのサブマウントを共有、プライベート、スレーブ、またはバインド不可としてマークできます。共有マウントは、そのマウントのミラーを作成する機能を提供します。これにより、いずれかのミラー内のマウントとアンマウントが他のミラーに伝播されます。[…] プライベート マウントには伝播機能はありません。[…]
解決策: 呼び出しの前後に以下を実行しmount --bind …
ますmount -t overlay …
。
sudo mount --make-private /home/username/Store/Orig/usr