Назад | Перейти на главную страницу

Chef Server 12 на Debian Jessie завершается с ошибкой «невозможно перейти в служебный каталог»

Хотя официально не поддерживается, я хочу запустить Chef Server 12 (12.3.0) на Debian Jessie.

После исправления ошибки системного эго Debian, как описано в поварские книги / повар-сервер # 86, он успешно устанавливается и работает.

Однако runit настройка кажется неправильной:

# chef-server-ctl status
fail: bookshelf: unable to change to service directory: file does not exist
fail: nginx: unable to change to service directory: file does not exist
...

Я еще не эксперт ни в systemd, ни в runit, но вот некоторая отладочная информация:

# systemctl status private_chef-runsvdir-start.service
● private_chef-runsvdir-start.service - private_chef Runit Process Supervisor
   Loaded: loaded (/etc/systemd/system/private_chef-runsvdir-start.service; enabled)
   Active: active (running) since Sun 2015-11-15 14:52:13 UTC; 36min ago
 Main PID: 2572 (runsvdir)
   CGroup: /system.slice/private_chef-runsvdir-start.service
           ├─2572 runsvdir -P /opt/opscode/service log: ....................................................................................................................................................................................
           ├─2702 runsv rabbitmq
           ├─2719 ....

Проверка статуса sv команда:

# sv status bookshelf
fail: bookshelf: unable to change to service directory: file does not exist

# sv status /opt/opscode/service/bookshelf/
run: /opt/opscode/service/bookshelf/: (pid 6075) 2242s; run: log: (pid 6116) 2241s

Я предполагаю, что в какой-то момент sv отсутствует параметр пути, который runsvdir (-P /opt/opscode/service) был поставлен. Любым способом добавить этот дополнительный каталог в «путь поиска» runit?

РЕДАКТИРОВАТЬ: экспорт $SVDIR (export SVDIR=/opt/opscode/service) помогает мне решить проблему, по крайней мере, для текущего сеанса пользователя. Проблема все еще в том, что sudo будет игнорировать это, куда бы он ни экспортировался.