Тэговая виртуальная файловая система
Позволяет организавать файлы (например, фильмы) в виде структуры тэгов: например, отобрать все фильмы фантастические фильмы про хакеров.
Особенность этой реализации в том, что организация происходит нативно для пользователя, т.е. это представляется в папок, файлов.
Файловая система не сохраняет сами файлы целиком, но хранит символьные ссылки на них. Т.е. вы можете, с одной стороны, использовать файлы и с помощью tagvfs, и в "обычном" режиме. Кроме этого, не тратится фисковое пространство на хранение дубликатов.
Реализация: tagvfs реализован как модуль ядра в ОС Linux. Для использования tagvfs необходимо собрать его под текущее ядро (обязательно требование модулей под Linux) Запустить/Встроить модуль Монтировать требуемые папки
Так как tagvfs реализован как модуль ядра, то его необходимо собирать под текущую версию Linux. Для сборки необходимо наличие компилятора (gcc) и заголовочных файлов ядра. Всё это устанавливается через пакетный менеджер операционной системы. Например, для Debian это делается командой:
sudo apt install gcc linux-headers-$(uname -r)
Сборка модуля ядра выполняется следующей командой из папки tagvfs:
make
Код проверялся на Debian GNU/Linux 11 (bullseye), ядро 5.10
Установка: Т.к. tagvfs представляет собой модуль ядра, то он собирается под текущую версию ядра. Для сборки понадобится пакет gcc и заголовочные файлы ядра. Это пакеты ??? gcc linux???
Запуск/Встраивание модуля
sudo insmod tagvfs.ko
Монтирование отдельных файловых систем:
sudo mount -t tagvfs path-to-file path-mount-point
Например: sudo mount -t tagvfs /tagvfs/tag.raw /tagvfs/tag/