GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Linuxでのユニオンマウント?

ユニオンマウントは、単一の階層内の複数のディレクトリ(ブランチ)の結合されたビューを表示します。わかりましたが、実際にどのように使用しますか?

最新のLinuxシステムでは、多くのユニオンマウントテクノロジを利用できます。OverlayFS、aufs、UnionFS、さまざまなFUSEベースのファイルシステムなどです。…

ユースケースを考えると、どのユースケースが適切かをどのように判断すればよいですか?特に:

  • 一般的なシステムでルートアクセスが必要なのはどれですか? (言い換えると、特権のないユーザーはユニオンマウントを作成できますか?)
  • /にマウントできるもの (もちろんルートアクセスあり)?
  • 基になるブランチへの書き込みをサポートしているのはどれですか? (つまり、/fooの場合 および/bar /unionにユニオンマウントされています 、/fooに書き込むことはできますか および/bar ?)
  • 書き込みの構成可能なポリシーをサポートしているのはどれですか? (たとえば、ファイルが両方のブランチに存在する場合、ブランチAからコンテンツを取得していても、新しく作成したファイルをブランチBに送信できますか?)
  • ファイルに依存するブランチ間の優先順位をサポートするのはどれですか? (たとえば、ファイルを持っているすべてのブランチの中で常に最新のファイルを取得できますか?)

使用例をいただければ幸いです。

特定の点に焦点を当てた回答は避けてください。利用可能なソフトウェアを確認する包括的な回答を探しています(バインドマウントとは何ですか?)。良い答えは報われるでしょう。

承認された回答:

特定のポイントのそれぞれについて:

  • ルートアクセス:FUSEを使用している場合はルートは必要ありません。FUSEを使用していない場合は、機能(潜在的に危険)または名前名のいずれかを使用して特別な設定を行わない限り、ルートが必要です。

  • /にマウントする :起動時のルートファイルシステムを意味していると思います。その場合、カーネルモードで実行されるファイルシステムは理論的には機能するはずですが、信頼性の高いものもあります。ほとんどのLiveCDはこれを行うので、この特定の点に関する情報を探すことをお勧めします。

  • 基になるブランチへの書き込み:これは、意味によって異なります。マウントされたビューへの書き込みを下のブランチに伝播することを意味する場合、私にはわかりません。メインファイルシステム自体から帯域外で下位ブランチに書き込むことを意味する場合、技術的には3つすべてが行いますが、変更がマウントされたビューに確実に反映されるように、すべて再マウントする必要があります。

  • 構成可能な書き込みポリシー:これについて具体的にはわかりませんが、ビッグ3(UnionFS、AUFS、およびOverlayFS)はサポートしていないと思います。

  • ファイルに依存する優先順位:この1種類は、3番目のサブ質問にも当てはまると思います。同様に、それを具体的にサポートしているものはありません。

それぞれの詳細について:

  • UnionFS:私が知る限り、これはLinux用の元のスタック可能なユニオンファイルシステムの実装でした。何年も前から存在しており、多くのLinuxesLiveCDで使用されています。カーネルモードで実行され、使用するにはアップストリームカーネルへのパッチが必要です。

  • AUFS:UnionFSのフォークとして始まり、それから一種の独自のものになりました。これはメインラインをマージしようとしましたが、コードの品質を理由に拒否されました。一部のディストリビューションLiveCD、主にDebianおよびGentoo派生物でUnionFSに取って代わりました。 UnionFSと同様に、カーネルモードで実行され、アップストリームカーネルへのパッチが必要です。

  • OverlayFS:いくつかのBSD派生物でもサポートされていることを除けば、これの元々の開発についてはよくわかりません。特に、Linuxカーネルでのアップストリームオーバーレイ/ユニオンファイルシステムの実装です。カーネルモードでも実行されます。

  • UnionFS-FUSE:このやや紛らわしい名前のプロジェクトは、基本的に同じ機能を提供する以外は、実際にはUnionFSとは何の関係もありません。これは、ユニオンファイルシステムの最も広く使用されているFUSE実装ですが、私が知っていることはこれだけです。

  • mhddfs:これは奇妙な外れ値であり、従来のユニオンファイルシステムよりもファイル粒度RAID-0の実装に似ています。スペース使用量に基づいて、複数のバッキングディレクトリ間でファイルのバランシングをサポートします。また、FUSEベースです。

関連:Ubuntu –独自のディストリビューション(Linux)に表示されるシェルを作成する方法は??

特定の実装に固有ではない、注意すべきいくつかの特定の事項:

  • すべてのカーネル内オプションには、バッキングファイルシステムの機能に制限があります。特に、ネットワーク化されたファイルシステムやBTRFSでは機能しません。

  • ルートファイルシステムとして使用すると、すべてのFUSE実装に問題が発生します。これはユニオンファイルシステムの実装に固有のものではありませんが、一般的にFUSEの問題です。


Linux
  1. LinuxにリモートWindows共有をマウントする方法

  2. LinuxとWindows:どちらのOSがPCゲームに適しているか

  3. Linux – Virtualbox:Gentooで共有フォルダーを自動的にマウントしますか?

  1. Linuxでマウントをバインドする

  2. Linux AuFS の例:別の Union ファイル システム チュートリアル (UnionFS 実装)

  3. Linux で iso ファイルをマウントする方法

  1. Linux での mount コマンドの例

  2. Linux の JAVA_HOME ディレクトリ

  3. LinuxでISOファイルをマウントするには?