Я несколько дней экспериментировал над расширением bastille, ср предыдущий пост Экскурсия в Бастилию и, надо признаться, ощущение у меня смешанное. Но ставить все же будем. Ставить можно через расширение OneButton Installer или напрямую из командной строки (оффорум требует регистрации) (а) с работой поверх обычных папок mkdir -p -m 0750 /mnt/Data/extensions/bastille cd /mnt/Data/extensions/bastille fetch --no-verify-peer https://raw.githubusercontent.com/JRGTH/xigmanas-bastille-extension/master/bastille-init && chmod +x bastille-init && ./bastille-init && echo "=> Done!" From [Extensions > Bastille > Maintenance] check the ZFS support box and click Save. Собственно выше - краткое описание, которого должно хватить. Ниже - моё, вероятно, излишне подробное и обильно комментированное. (б) с работой поверх создаваемых в процесе инсталляции датасетов zfs create -p -o atime=off -o compress=lz4 Data/extensions/bastille cd /mnt/Data/extensions/bastille fetch --no-verify-peer https://raw.githubusercontent.com/JRGTH/xigmanas-bastille-extension/master/bastille-init && chmod +x bastille-init && ./bastille-init && echo "=> Done!" From [Extensions > Bastille > Configuration] set the following parameters: bastille_zfs_enable "YES" bastille_zfs_zpool "Data/extensions" bastille_zfs_prefix "bastille" From [Extensions > Bastille > Maintenance] check the ZFS support box and click Save. Так, первый же вопрос - нужна ли вся эта zfs поддержка? Я, понятно, потестил и так и так. И должен сказать, что без этой встроенной поддержки zfs - проще. Ладно что при инсталляции возникает пучок датасетов - кушать не просят. 2023-04-27.22:34:15 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/cache TT/Ext/bastille/cache 2023-04-27.22:34:16 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/cache/13.1-R ELEASE TT/Ext/bastille/cache/13.1-RELEASE 2023-04-27.22:34:16 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/jails TT/Ext/bastille/jails 2023-04-27.22:34:17 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/logs TT/Ext/bastille/logs 2023-04-27.22:34:18 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/template s TT/Ext/bastille/templates 2023-04-27.22:34:19 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/releases TT/Ext/bastille/releases 2023-04-27.22:34:19 zfs create -o compress=lz4 -o atime=off -o mountpoint=/mnt/TT/Ext/bastille/releases/1 3.1-RELEASE TT/Ext/bastille/releases/13.1-RELEASE Ладно что каждый новый jail - это еще пара датасетов. Зато достаточно красиво сделано клонирование системных файлов при создании клетки. 2023-04-28.00:24:04 zfs create -o compress=lz4 -o atime=off TT/Ext/bastille/jails/test 2023-04-28.00:24:04 zfs snapshot TT/Ext/bastille/releases/13.1-RELEASE@ba stille-2023-04-28-002404 2023-04-28.00:25:22 zfs send -R TT/Ext/bastille/releases/13.1-RELEASE@ba stille-2023-04-28-002404 2023-04-28.00:25:23 zfs receive TT/Ext/bastille/jails/test/root 2023-04-28.00:25:24 zfs set compress=lz4 atime=off mountpoint=none TT/Ext/bastille/jails/test/root 2023-04-28.00:25:24 zfs inherit mountpoint TT/Ext/bastille/jails/test/root Неприятно, что при удалении клеток иногда эти датасеты не удаляются - ср largenas: ~# bastille destroy plexpass Jail running. See 'bastille stop plexpass'. largenas: ~# bastille stop plexpass [plexpass]: plexpass: removed largenas: ~# bastille destroy plexpass Deleting Jail: plexpass. cannot unmount '/mnt/TT/Ext/bastille/jails/plexpass/roo t': pool or dataset is busy cannot unmount '/mnt/TT/Ext/bastille/jails/plexpass' : pool or dataset is busy rm: /mnt/TT/Ext/bastille/jails/plexpass/root: Device busy rm: /mnt/TT/Ext/bastille/jails/plexpass: Device busy Note: jail console logs archived. /mnt/TT/Ext/bastille/logs/plexpass_conso le.log-2023-04-30 Так что решил без дополнительных zfs фишек . Тем более, что создать те датасеты, что мне нужны я сам могу, ручками. И даже сделал это под bastille. zfs create -o compression=off -o dedup=off -o sync=standard -o atime=off -o aclinherit=restricted -o aclmode=discard -o utf8only=on TT/Ext/bastille (правда, разработчик советует компрессию включить -o compress=lz4 - ну разница невелика) Итак (по желанию) создаем либо папку либо датасет bastille - здесь я указал свои имена - и ставим cd /mnt/TT/Ext/bastille fetch --no-verify-peer https://raw.githubusercontent.com/JRGTH/xigmanas-bastille-extension/master/bastille-init && chmod +x bastille-init && ./bastille-init && echo "=> Done!" Видим Идем в вебгуй, перезагружаем экран - а меню расширений появляется Bastille Если меню расширений у вас нет - убираем гадкую галочку здесь и перегружаем NAS Дальше конфигурируем bastille из вебгуя Если вы, как и я, обойдетесь без дополнительных zfs фишек - давим на ссылку во второй строке. Если хотите zfs фишки - идем сначала в 1 строку и задаем два параметра bastille_zfs_enable - "YES" bastille_zfs_zpool - "TT/Ext" (как у меня) или "Data/extensions" (как у разработчика расширения) - в общем имя пула и путь к тому месту, где у вас лежит bastille. Без всяких /mnt Тут есть небольшая хитрость - как сохранить введенное? Оказывается, надо нажать зеленую галку в этой строке. В любом случае мы жмем Please click here then push "Save" button. И попадаем сюда Нам ПОСЛЕДНИЙ РАЗ предлагают возможность установить zfs фичи. При отказе это можно будет сделать только полной переустановкой расширения. Но мы просто проверяем что все правильно - и жмем Save Картинка меняется Если перейти в соседнюю (любую) вкладку расширения и вернуться обратно - она изменится еще раз, приняв финальный вид - без строки о выборе zfs Конфигурирование расширения закончено - но нам надо закачать коды операционной системы для сборки наших клеток Я советую как на рисунке. Выбрать тот релиз, на котором собрана ваша версия (можно смотреть на домашней странице вебгуя) В нем базовый релиз и обязательно - lib32. Порты - не обязательно. Но пусть будут. Исходники понадобятся вам вряд ли. Надо будет - загрузите потом. Следующим постом запустим и сконфигурируем клетку.