Я создал и включил сервис:
$ sudo systemctl enable /path/to/imaservice.service
Created symlink /etc/systemd/system/multi-user.target.wants/imaservice.service → /path/to/imaservice.service.
Created symlink /etc/systemd/system/imaservice.service → /path/to/imaservice.service.
Это существует и сохраняется в обоих:
/etc/systemd/system/imaservice.service
/etc/systemd/system/multi-user.target.wants/imaservice.service
Я могу теперь начинать/останавливаться/состояние его счастливо. Когда я перезагружаю, я не могу запустить его. Я получаю следующее:
$sudo systemctl is-enabled imaservice
enabled
Однако:
$sudo systemctl start imaservice
Failed to start imaservice.service: Unit imaservice.service not found.
Каждый раз, когда я перезагружаю, я должен повторно включить с:
$sudo systemctl enable imaservice
$sudo systemctl daemon-reload
И после этого это вернулось к нормальному.
Что я делаю неправильно?
У меня была та же проблема.
Только решение, которое я нашел, состоит в том, чтобы скопировать сервис, не создавая ссылки
sudo cp /path/to/imaservice.service /etc/systemd/system/multi-user.target.wants/imaservice.service
Таким образом это работает.
У меня была проблема, где я мог сделать systemctl status
и systemctl stop
но нет systemctl start
на сервисе, даже при том, что это действительно запускало во время начальной загрузки LOL.
Проблема оказывается, что у меня была опечатка в одном из моих .service файлов, я был After=network-online.service
должен был быть After=network-online.target
хотя это все еще загрузилось с той опечаткой и запустилось.
затем это и сервисы зависимости начало вести себя как нормальные сервисы. Yikes я не могу верить systemd, не регистрировал эти проблемы опечатки к journalctl...