関連する内容の私の推測は次のとおりです。

関連する内容の私の推測は次のとおりです。

からman mount_unionfs

If a file exists in the upper layer then there is no way to access a file
with the same name in the lower layer.  If  necessary, a combination of
loopback and union mounts can be made which will still allow the lower
files to be accessed by a different pathname.

どうすればいいですか? .ISOやその他のブロックイメージをマウントする以外のファイルシステムのループバックへの参照が見つかりません。これは明らかに正しい意味ではなく、nullfsは渡すときにその用語だけを指しますが、特定の情報はありません。

関連する内容の私の推測は次のとおりです。

私の考えには、「サブ」レイヤーを最初にマウントしてから(おそらく2つの異なるマウントポイントに2回?)、そのマウントポイント(または2つのマウントポイントのいずれか)にUnionfsを2番目のマウントポイントにマウントすることが含まれます。これは、同じファイルシステムが最初のマウントポイントを介して変更されていない状態で公開され、2番目のマウントポイントを介して統合されたサブレイヤーにも公開されるという考えです。これはヒントに基づいています。このページ

@arrowdの目標への応答を明確にするために更新します。

マニュアルページには、ループバックを介して下位レベルのファイル(つまり、下位レベルのファイルセット全体)にアクセスできることが示されており、これにより、下位レベルのファイルにUnionfsの下位レベルの階層として並列(A)としてアクセスできます。 (B)別のパスを介して「ループバック」マウントポイント/パス名がファイルシステム自体として機能します。私はループバックレイヤーの概念を理解しているので、これは意味があり、ページには可能であることがわかりますが、manこれを実行できるコマンドが見つかりません。

より具体的には、通常の方法でUnionfsでファイルシステムをオーバーレイしたいのですが、特定のタスクが全体の「下位階層」「低」を読み書き/検索できるように、下位階層を別々に公開する別のマウントポイントも必要です。ファイルシステムまっすぐさらに、いいえ結合された「オーバーレイfs」で覆われた/隠された/覆われる。したがって、これは1つのファイルではありません。 Unionfsレイヤーまたはファイル固有のレイヤーではなく、ループバックと別々のマウントポイントを介してアクセスできる完全な「サブ」レイヤーが必要です。これは、おそらく最初はループバックを介して、次にUnionfsを介して2回インストールする必要があるということです。もともとUnionfsレイヤーを設定/インストールしましたが、どうすればいいかわかりません。

目的は、いくつかのcronタスク(時には私のタスクも含む)が基本レイヤー内のファイルを更新する必要があることです(unionfsオーバーレイを削除/妨げることなく)。いいえ単にUnionfsを使用するのと同じように、「親」レイヤーからコピーして更新するだけではありません。したがって、2つのマウントポイントを使用する必要があります。 1 つは Unionfs で覆われたサブレイヤーを公開し、もう 1 つはサブレイヤーのみを公開します。いいえUnionfsはオーバーレイされ、異なる操作で2つの機能を同時に使用できます。

上記のコメントも参照してください - 私考えるサブファイルシステムを2回(直接1回、連合として1回)マウントすることも、1回マウントし、そのマウントポイントから2回目(連合に)再マウントすることも含まれます。しかし、私はそれがどれほど安全であるかわからない。

これにより、質問の目的がより明確になることを願っています。

ベストアンサー1

いよいよ解決策を見つけました!私は異なる名前のブロックデバイスでmdconfig -fという多くのトリックを試しましたが、そのうちの何も動作しませんでした。しかし、後で知りました!

あなたがすべきことは、統合マウントポイントになるディレクトリのnullfsマウントを作成することです。今後あなたは同盟に参加します。実際、これは組合の問題と全く関係がありません。

例:

# echo "Hello World!" >/mnt/hello.txt
# ls /mnt/hello.txt
hello.txt
# cat /mnt/hello.txt
Hello World!
# mount -t nullfs /mnt /mnt2
# ls /mnt2/hello.txt
hello.txt
# cat /mnt/hello.txt
Hello World!
# mount /dev/ad0s1a /mnt
# ls /mnt/hello.txt
ls: hell: No such file or directory
# ls /mnt2/hello.txt
hello.txt
# cat /mnt2/hello.txt
Hello World!
# echo "Hello Universe!" >/mnt2/hello.txt
# umount /mnt
# ls /mnt/hello.txt
hello.txt
# cat /mnt/hello.txt
Hello Universe!

マウントによって隠されたすべてにアクセスし続ける方法を学びます。これをフェデレーションと組み合わせると、/ mnt2のnullfを/ mntに3番目の層としてマウントする3層フェデレーションなど、あらゆる種類の操作を実行できます。これは生/mntを作成できることを意味します。ただし、これはまた、ディレクトリに作成されたすべての新しいファイルが、マウントされたデバイスではなく/ mntマウントポイントを使用して元のファイルシステムに配置されることを意味します。

問題が解決しました!本当に嬉しいです!

おすすめ記事