Finch (=FreeBSD in chroot) - ставим на nas4free

Dec 20, 2014 16:38

Проекту Finch уже около года, даже я здесь писал о нём в марте. Автор старательно вылавливает и исправляет косяки, поддерживает актуальность. Думаю - можно использовать.


С выходом nas4free 9.3 Nayla использование дополнительно облегчилось из-за перехода на современный менеджер пакетов pkgng. Так что ставим. Это просто, хотя и долго. Оригинал - здесь. Если будет противоречие между тем, что написано там и тут - разработчику знать лучше, а не мне. Скорее всего, он внёс изменения-улучшения.
NB на 10.2 тоже работает

ВАЖНО. При установке Finch происходит замена командного интерпретатора по умолчанию с tcsh на bash. Принудительно. bash в 9.3 свободный от shellshock уязвимости, а в 9.2 - уязвимый (если вы как я, руками, не обновляли)

Прим процесс установки очень простой, но довольно долгий. У меня на относительно слабом железе он занял более 2 часов. Так что начинать советую на ночь глядя, чтобы само закончилось.

1. Сохраняем через System|Backup/Restore конфиг.

2. Решаем, где будет стоять chroot - выбираем папку. Это может быть любая папка на носителе, который переживёт перезагрузку. IMHO хорошая идея создать под finch отдельный zfs датасет. Это сильно упростит изготовление снимков и откат назад, если что не так. Например, можно сделать датасет Pool/Finch. У меня число датасетов что-то сильно разрослось, более того, думаю об установке каждого джейла в свой датасет. Поэтому сейчас тестирую вложенную структуру - вроде работает. Так что у меня finch будет жить в датасете Pool/Ext/Finch. То есть создаю датасет Ext, в котором будут вложены другие датасеты для расширения коробочной функциональности nas4free, включая finch.

IMHO ставить finch на USB флешку - плохая идея, на hdd или sdd - хорошая. Но КССЗБ.

Создаём выбранные датасеты (или просто папки - как хотите). У меня параметры такие, но не особо принципиально IMHO


3. Идём в командную строку
переходим в нашу папку
cd /mnt/Pool/Ext/Finch

качаем установочный скрипт - просто копируем это в командную строку и жмём Enter.
/bin/sh
alias finch-bootstrap="SSL_NO_VERIFY_PEER=YES fetch -q -o - http://git.io/HxXrsw | sh -s --"
finch-bootstrap --help

NB. alias бла-бла, до замыкающей кавычки " - это ОДНА строка

Должен вывалиться хелп по finch. Если вывалился - мы готовы к началу установки.

4. Инициируем установку
Команда
finch-bootstrap install --dir "/mnt/Pool/Ext/Finch"
Причём /mnt/Pool/Ext/Finch надо заменить на ту папку, куда вы решили ставить, если мой выбор вам не подошёл.

Исполняется очень быстро, но не обольщатесь - основной по времени процесс автоматический, и он впереди.

5. Идём в вебгуй и определяем postinit и shutdown скрипты.


Естественно, /mnt/Pool/Ext/Finch замените, если у вас путь другой. Обратите внимание на поле Type.

6. Теперь время для долгого, у меня занял два+ часа, автоматического процесса. Для его начала надо перегрузить NAS - System|Reboot|Now

7. После перезагрузки начнётся длительный процесс установки. Можно за ним следить из командной строки, дав команду
tail -99999 -f /mnt/Pool/Ext/Finch/var/log/finch/install.log

Если что-то ставит-трудится - можно идти спать. Утром я увидел


8. Перезагружаем NAS
Проверяем, что можно войти в chroot
finch chroot
Успех.

nayla, chroot, nas, nas4free

Previous post Next post
Up