web-dev-qa-db-ja.com

Redhat FedoraにAUFSがありませんが、ディレクトリをスタックする別の方法はありますか?

RedhatのFedoraやその他のスタック可能なファイルシステムでは、Aufを見つけることができません。

これは、SELinuxのラベル変更の制限によるものと思われます。

ファイル/ディレクトリのコピーに頼らずに同様のことを達成する方法はありますか?.

次のディレクトリリストがあります。

/proj/online/src/main/Java
/proj/online/src/main/resources
/proj/online/src/test/Java
/proj/client/src/test/scala
/proj/common/src/main/resources
/proj/common/src/main/scala
/proj/common/src/test/resources
/proj/common/src/test/scala
/proj/integration/src/main/resources
/proj/integration/src/main/scala
/proj/integration/src/test/scala
/proj/mockfeedserver/src/main/scala
/proj/mockfeedserver/src/test/scala
/proj/server/src/main/scala
/proj/server/src/test/scala
/proj/foit/src/main/resources
/proj/foit/src/main/scala
/proj/foit/src/test/resources
/proj/foit/src/test/scala

以下をコンパイラに提示したい*:

/ tmp/foo/src/main/scala/tmp/foo/src/main/resources/tmp/foo/src/test/scala/tmp/foo/src/test/resources

AUFSを使用すると、次のようなコマンドをいくつか使用してこれを実現できます。

mount -t aufs -o br=r:/proj/common/src/main/scala=r:/proj/integration/src/main/scala=r:/proj/mockfeedserver/src/main/scala=r:/proj/server/src/main/scala=r:/proj/foit/src/main/scala=r -o udba=reval none /tmp/foo/src/main/scala 

つまり、すべてのsrc/main/scalaディレクトリのコンポジットとして/ tmp/foo/src/main/scalaがマウントされます。

すばらしいですが、私はFedoraにいます! AUFSまたはUnionFSがない場合、これを実現する方法を実際に見つけることはできません。以前にマウントの再バインドについて聞いたことがありますか、それは役に立ちますか、またはディストリビューションを変更する必要がありますか?

5
irishjava

FunionFS はFedoraとRed HatEPELの両方で利用できます。もちろん、パッケージ名はfunionfsです。

5
Michael Hampton

Coprリポジトリ からaufsサポート付きのプリパッチャーFedoraカーネルをインストールするか、aufsサポート付きのカーネルを構築できます

aufsをサポートするパッチャーFedoraカーネルをインストールするための手順:

Sudo dnf copr enable gipawu/kernel-aufs
Sudo dnf update

aufsサポートを使用してFedoraカーネルを構築するための手順:

カーネルのコンパイルに必要な依存関係のインストールから始めます

yum install gcc rpmbuild glibc-static git
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
git clone http://git.code.sf.net/p/aufs/aufs3-standalone
cd linux-2.6
git checkout v3.8
cd ..
patch -d linux-2.6 -p1 < aufs3-standalone/aufs3-base.patch
patch -d linux-2.6 -p1 < aufs3-standalone/aufs3-proc_map.patch
patch -d linux-2.6 -p1 < aufs3-standalone/aufs3-standalone.patch
patch -d linux-2.6 -p1 < aufs3-standalone/aufs3-kbuild.patch

cd aufs3-standalone/
cp -ar fs/aufs ../linux-2.6/fs/
cp include/linux/aufs_type.h ../linux-2.6/include/linux/
cp include/uapi/linux/ ../linux-2.6/include/uapi/linux/

次に、aufsコードでパッチが適用されたカーネルをビルドします。

メインメニュー–>ファイルシステム–>その他からaufsサポートを有効にします。ファイルシステム–> AUFSサポート

make menuconfig

これで、カーネルを直接コンパイルするか、rpmを作成できます。

make modules_install
make bzimage
make install
make headers_install

または単純な、

make rpm-pkg

次に、新しいカーネルとカーネルヘッダーrpmをインストールします。

新しいカーネルでシステムを再起動します。

3
valentt

サードパーティパッケージを介してRHELで利用できるのは、Fuseベースのunionfsだけです。

http://pkgs.repoforge.org/Fuse-unionfs/

0
Reiner Rottmann