Transmission-daemon долгое время прекрасно работал на маленьком безголовом сервере. Однако в настоящее время он выдает мне следующую ошибку:
transmission-daemon Error loading config file -- exiting. (daemon.c:462)
Из-за проблем с разрешениями все демоны работают как пользователь "роботы". Все файлы конфигурации принадлежат "роботам" и группе "роботов". "из которых я являюсь членом.
В целях отладки я попытался запустить демон под своей собственной учетной записью
transmission-daemon -f --log-debug -g /etc/transmission-daemon/
демон успешно запустился без ошибок. Из этого я делаю вывод, что сам файл конфигурации в порядке. (Я также проверил это, заменив
USER=robots
на
USER=lars
. Результаты остались прежними; демон работает без ошибок. Конфигурационные файлы в / etc / transmission-daemon / etc). /init.d/ и / etc / defaults / все работают нормально, когда демон работает под моим именем.
Я изменил разрешения для / etc / translation-daemon / и всех файлов и папок внутри на 777, и изменил владельца и группу обратно на роботов. (потому что запуск демона под именем «lars» меняет владение configfiles на «lars».
chmod 777 -R /etc/transmission-daemon/
chown robots:robots -R /etc/transmission-daemon/
chmod 777 /etc/defaults/transmission-daemon
chown robots:robots /etc/defaults/transmission-daemon
без успеха ... the демон выходит с той же ошибкой, как указано выше.
Я не знаю, чего мне здесь не хватает, у кого-нибудь есть идея?
Заранее спасибо
Пользователи Debian могут взглянуть на файл: /lib/systemd/system/transmission-daemon.service
, чтобы убедиться, что требуемый пользователь также установлен в этом файле.
Затем проверьте домашний каталог для этого пользователя, потому что конфигурация будет считана из ~/.config/transmission-daemon/
Пустой файл /etc/transmission-daemon/settings.json
вызывает эту ошибку в моем случае.
rm /etc/transmission-daemon/settings.json
решает проблему.
Отладка: sudo -u debian-transmission strace transmission-daemon -f --log-debug -g /etc/transmission-daemon/
Проблема решена!
Папка
/var/lib/transmission-daemon/
Альс должен принадлежать корректному пользователю, таким образом, в дополнение к командам, указанным в моем вопросе выше:
sudo chown -R robots:robots /var/lib/transmission-daemon/
Замените пользователя "роботы" и группа "роботы" к именам, используемым в Вашей системе.