Блог    Теги    RSS    Файлопомойка Мой Github Мой Telegram

Блог №200 по адресу 0708:07C7 / /dev во freebsd chroot

2 марта 2017, 12:59
Не нашёл в интернете хорошего решения, поэтому выкладываю тут.

Т.к. во FreeBSD нельзя сделать просто mknod в произвольном месте фс (вернее можно, но результат работать не будет с ошибкой "operation not supported"), то для доступа к устройствам внутри chroot приходится немного шаманить - а именно монтировать devfs с нужными нам устройствами.

Покажу на примере php-fpm. Создаём файл /usr/local/etc/rc.conf.d/php_fpm со следующим содержимым:
mount_devs() {
for i in $php_fpm_chroots; do
umount "${i}/dev" 2>/dev/null || true
devfs_domount "${i}/dev" devfsrules_hide_all
devfs -m "${i}/dev" rule apply path null unhide
devfs -m "${i}/dev" rule apply path random unhide
devfs -m "${i}/dev" rule apply path urandom unhide
done
}

start_precmd="$start_precmd && mount_devs"

и в rc.conf дописываем:
php_fpm_chroots="/var/www1 /var/www2"

Создаём по нужным путям dev/, делаем рестарт сервиса - и после этого всё должно заработать.
Теги: #nix  

Комментарии RSS

Ваше имя:

E-mail (будет скрыт):

Текст: