Entware/Entware-3x unionfs-fuse

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 18 сен 2016, 14:50

В репы добавлен пакет unionfs-fuse.
Он позволяет смонтировать несколько папок в одну, объединив содержимое. По утверждению автора fuse (userspace вариант) более функционален, чем ядерный. Но, естественно, он медленне.

1. Установка

Код: Выделить всё

opkg update
opkg install unionfs-fuse

2. Использование

Код: Выделить всё

mkdir /opt/dir1
mkdir /opt/dir2
....
mkdir /opt/dir3
unionfs /opt/dir1=RW:/opt/dir2=RW /opt/dir3 -o cow

Через двоеточие указываются директории, которые объединяем с указанием =RW (чтение запись) или =RO (только чтение).
Директории, идущее вначале имеют приоритет. Если нужно "редактировать" файл только для чтения, поставьте директорию с правами =RW вначале.
Например

Код: Выделить всё

unionfs /opt/etc_rw=RW:/etc=RO /opt/etc_union -o cow

Размонтируется unionfs с помощью umount.
3. Основные параметры

Код: Выделить всё

~$ unionfs --help
unionfs-fuse version 1.0
by Radek Podgorny <radek@podgorny.cz>

Usage: unionfs [options] branch[=RO/RW][:branch...] mountpoint
The first argument is a colon separated list of directories to merge
When neither RO nor RW is specified, selection defaults to RO.

general options:
    -d                     Enable debug output
    -o opt,[opt...]        mount options
    -h   --help            print help
    -V   --version         print version

UnionFS options:
    -o chroot=path         chroot into this path. Use this if you
                           want to have a union of "/"
    -o cow                 enable copy-on-write
                           mountpoint
    -o debug_file          file to write debug information into
    -o dirs=branch[=RO/RW][:branch...]
                           alternate way to specify directories to merge
    -o hide_meta_files     ".unionfs" is a secret directory not
                           visible by readdir(), and so are
                           .fuse_hidden* files
    -o max_files=number    Increase the maximum number of open files
    -o relaxed_permissions Disable permissions checks, but only if
                           running neither as UID=0 or GID=0
    -o statfs_omit_ro      do not count blocks of ro-branches

FUSE options:
    -d   -o debug          enable debug output (implies -f)
......
......



Что не удалось, но хотелось. Сделать папку /etc с правами на запись.
Для этого сначала объединил

Код: Выделить всё

unionfs /opt/etc_rw=RW:/etc=RO /opt/etc_union -o cow

После этого можно редактировать файлы в /opt/etc_union и сохранения пойдут в /opt/etc_rw
После `mount -o bind`

Код: Выделить всё

mount -o bind /opt/etc_union /etc

После выполнения команды связь с роутером по ssh и http была утеряна, хотя он продолжал работать....
Или так нельзя, или нужны доп параметры..... или специфика роутера....

Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 0 посетителей :: 0 зарегистрированных, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей