Попытка зарегистрироваться с runit только возвращается 'не могущий открыться, контролируют/хорошо'

Установленный runit в Debian 7.4 в Бродяге.

Мой сценарий выполнения работает, но момент, я создаю service/pants/log/каталог, я начинаю получать следующую ошибку: unable to open supervise/ok. Моя услуга продолжает работать, но ничто не зарегистрировано.

Я попробовал два различных сервиса, и у обоих есть та же проблема.

Я попробовал всевозможные сервисные/штаны/журналы/выполнения сценарии (главным образом использующий svlogd), я попытался изменить полномочия на всем (a+rwx), каталог для хранения входит в систему, существует и имеет те же полномочия.

Если я выполняю svlogd непосредственно командная строка, это работает как ожидалось.

Журнал удара ниже показывает то, что происходит, поскольку я переименовываю /etc/service/pants/_log кому: /etc/service/pants/log и назад снова /etc/service/pants/_log.

root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 44931s
root@vwb-debian-wheezy:/etc/service# mv pants/{_,}log/
root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 44963swarning: pants/: unable to open supervise/ok: file does not exist
; run: log: (pid 29260) 44963s
root@vwb-debian-wheezy:/etc/service# cat pants/log/run
#!/bin/sh

exec svlogd -ttt /var/log/service/pants/

root@vwb-debian-wheezy:/etc/service# ll pants/
total 12
drwxrwxrwx 2 root root 4096 Jul  3 07:00 log
-rwxrwxrwx 1 root root  442 Jul  3 06:58 run
drwxrwxrwx 2 root root 4096 Jul  2 18:59 supervise
root@vwb-debian-wheezy:/etc/service# ll /var/log/service/
total 8
drwxrwxrwx 2 root root 4096 Jul  2 16:55 pants
root@vwb-debian-wheezy:/etc/service# mv pants/{,_}log/
root@vwb-debian-wheezy:/etc/service# sv s pants/
run: pants/: (pid 29260) 45105s
2
задан 3 July 2014 в 11:01
3 ответа

Создайте run файлы в /etc/sv/pants/, а не /etc/service/pants/.

Затем в /etc/service следует создать сим-ссылку на /etc/sv/pants, чтобы активировать услугу.

ln -s /etc/sv/pants /etc/service/

В то время как создание файлов непосредственно в /etc/service работает только для службы, кажется, что это также вызывает проблемы при использовании протоколирования.

Служба может быть деактивирована, удалив симлинк в /etc/service/.

.
5
ответ дан 3 December 2019 в 08:53

Для установки Debian существует две директории: /etc/service и /service. Для эффективного управления вашим сервисом, они должны быть более или менее зеркальными образами друг друга. В Вашем примере, для обслуживания /etc/service/pants, должна присутствовать сим-ссылка /etc/service/pants и сим-ссылка /service/pants, каждая из которых должна указывать на /etc/sv/pants. Вы можете "обмануть" и сделать /service саму сим-ссылку на /etc/service, чтобы получить тот же эффект, но я пока не уверен в полном воздействии этого изменения.

.
2
ответ дан 3 December 2019 в 08:53

Если вы используете ubuntu 18.04 или выше и получаете следующую ошибку

не удается открыть supervise / ok: файл не существует

или runvdir не отображается в " grep ", затем, пожалуйста, пакет runit-systemd , выполнив следующую команду

sudo apt install runit-systemd

. Для ubuntu 18.04 все указанные выше ответы у меня не сработали. Затем я нашел это решение из другого вопроса askubuntu

Надеюсь, это поможет

1
ответ дан 3 December 2019 в 08:53

Теги

Похожие вопросы