Chef Server 12 в Debian Jessy завершается с ошибкой "невозможно перейти в каталог службы"
Хотя официально это не поддерживается, я хочу запустить Chef Server 12 (12.3.0) на Debian Jessie.
После исправления системного отключения Debian по эго, как описано в https://github.com/chef-cookbooks/chef-server/issues/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
будет игнорировать это, где бы он ни экспортировался.