下位ディレクトリと同じ場所にマウントされたオーバーレイの元のファイル (下位ディレクトリ) にアクセスするにはどうすればよいですか?

下位ディレクトリと同じ場所にマウントされたオーバーレイの元のファイル (下位ディレクトリ) にアクセスするにはどうすればよいですか?

私が直面している状況は、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

関連情報