ファイルシステムファイル/ディレクトリアクセス層を実装する方法を探しています。
したがって、次のような構造を持つことができます。
/mountPointMerged/
/mountPointLayer1/a/b/c.txt
/mountPointLayer2/a/b/c.txt
/mountPointLayer3/a/b/c.txt
ファイルにアクセスするときに/mountPointMerged/a/b/c.txt
2番目のレイヤーがインストールされている場合は、3番目のレイヤーがインストールされていない場合にのみファイルを読み書きできます。
要点は合併が行われるべきです。したがって、次のファイルをこれらのレイヤーに具体的に追加してください。
/mountPointLayer1/a/b/d.txt
/mountPointLayer2/a/b/e.txt
/mountPointLayer3/a/b/f.txt
次の結果を提供します。
ls /mountPointMerged/a/b/
c.txt
d.txt
e.txt
f.txt
ここで生成されたすべての新しいファイルは、/mountPointMerged/
最上位のインストール層に書き込まれます。ただし、他のレイヤーには/mountPointLayer2/a/b/c.txt
直接アクセスするのではなく、ex.:を介してアクセスできます/mountPointMerged/
。
なんとかできますか?
答え1
私が見つけた最も柔軟で簡単なオプションはAUFSです。たとえば、次のようになります。
mount -t aufs -o "br=CustomFolderToWriteAt:CustomTopOverriderFolder:CustomInBetweenOverriderFolders:CustomLowestPriorityFolder" none CustomMergedMountPointFolder
CustomFolderToWriteAtには、CustomMergedMountPointFolderに書き込まれるすべての修正が含まれています。touch
ファイルであっても、そこにこのクラスの完全なコピーが作成されます。
CustomInBetweenOverriderFolders はここに「:」で区切られており、複数のものがある場合があります。
他のカスタムフォルダへの変更は、マージされたCustomMergedMountPointFolderにすぐに適用されます。