2016-06-23 4 views
0

У меня странная проблема с Ubuntu 16 и файлом unitd. У меня есть служба, которая читает каталог из локальной файловой системы. Каталог читается из переменной среды. Теперь, когда я запускаю сервис вручную (как в: в сеансе ssh), все работает нормально. Но когда я запускаю сервис с файлом устройства снизу, служба не может открыть каталог storage. Ошибка, которую я получаю: could nog read contents of storage" message="open /srv/services/poddy/storage: no such file or directory.При запуске из файла unitd, не удалось открыть каталог

Теперь мой вопрос: делает ли система «песочницей» услуги?

[Unit] 
Description=Poddy service 
After=network.target 

[Service] 
Type=simple 
User=myusername 
Group=myusername 
WorkingDirectory=/srv/services/poddy 
ExecStart=/srv/services/poddy/poddy 
Restart=always 
RestartSec=5 
StartLimitInterval=60s 
StartLimitBurst=3 
Environment=PODDY_STORAGE="/srv/services/poddy/storage" 
Environment=PODDY_PORT=8085 

[Install] 
WantedBy=multi-user.target 

ответ

1

Ну, я решил это сам. Оказывается, что цитирование значения среды var в файле systemd unit в конечном итоге приводит к двойному экранированию значения.

Таким образом, это изменить:

Environment=PODDY_STORAGE="/srv/services/poddy/storage" 

в:

Environment=PODDY_STORAGE=/srv/services/poddy/storage 

решить мою проблему :).

Смежные вопросы