Я не могу найти Aufs в Redhat Fedora или любой другой стековой файловой системе, если на то пошло.
Похоже, это связано с ограничениями перемаркировки 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
.
Вы можете установить предварительное исправление ядра Fedora с поддержкой aufs из Репозиторий Copr или соберите ядро с поддержкой aufs
Инструкция по установке патчера ядра Fedora с поддержкой aufs:
sudo dnf copr enable gipawu/kernel-aufs
sudo dnf update
Инструкции по сборке ядра Fedora с поддержкой aufs:
Мы начнем с установки зависимостей, необходимых для компиляции ядра.
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.
Перезагрузите систему с новым ядром.
Только unionfs на основе fuse доступен в RHEL через сторонние пакеты: