Redhat

Redhat Fedora 中缺少 AUFS,是否有另一種堆疊目錄的方法?

  • March 31, 2016

我在 Redhat 的 Fedora 或任何其他可堆疊文件系統中找不到 Aufs。

這似乎是由於 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 

這樣就可以將 /tmp/foo/src/main/scala 掛載為所有 src/main/scala 目錄的組合。

太好了,但我在 Fedora 上!在沒有 AUFS 或 UnionFS 的情況下,我真的看不到實現這一目標的方法。我以前聽說過安裝重新綁定,它可以提供幫助,還是我應該更改我的發行版?

FunionFS在 Fedora 和 Red Hat EPEL 中都可用。包名當然是funionfs.

您可以從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 程式碼修補的核心。

從 Main menu–>File Systems –> Misc 啟用 aufs 支持。文件系統 –> AUFS 支持

make menuconfig

現在,我們可以直接編譯核心或創建一個 rpm

make modules_install
make bzimage
make install
make headers_install

或簡單,

make rpm-pkg

然後安裝新的核心和核心標頭檔 rpm。

使用新核心重新啟動系統。

引用自:https://serverfault.com/questions/514932