systemd service start fails: no service.mount unit

12,350

Well the first problem here is that you're running to start the service name rfxtrx.service however systemd is expecting etc-systemd-system-rfxtrx.service.mount.

If you are trying to have a systemd mount configuration then your file name should follow the following rule:

Mount units must be named after the mount point directories they control. Example: the mount point /home/lennart must be configured in a unit file home-lennart.mount.

So if you were wanting to create a mount point at say /dir/to/rfxtrx then the systemd mount file needs to be named dir-to-rfxtrx.mount, and it's recommended that it sits in either /usr/lib/systemd/system/ or /etc/systemd/system/ with the latter directory taking precedence.

If you just wanted to have a service file then enable the unit systemctl enable rfxtrx.service. systemctl daemon-reload is used when the unit has already been registered with systemd and requires a reload.

You can check if the service exists with systemd by using the command systemctl list-units or systemctl status rfxtrx.service.

The error you have is that you're doing sudo systemctl start /etc/systemd/system/rfxtrx.service instead of sudo systemctl start rfxtrx.service.

Share:
12,350
Al_
Author by

Al_

Updated on June 29, 2022

Comments

  • Al_
    Al_ almost 2 years

    I wrote a program (node js, on Raspberry Pi) that I can start manually, but not as a systemd service:

    pi@blueberry ~ $ systemd --version
    systemd 215
    +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR
    pi@blueberry ~ $ sudo systemctl daemon-reload
    pi@blueberry ~ $ sudo systemctl start /etc/systemd/system/rfxtrx.service
    Failed to start etc-systemd-system-rfxtrx.service.mount: Unit etc-systemd-system-rfxtrx.service.mount failed to load: No such file or directory.
    pi@blueberry ~ $ 
    

    The error message complains that there is no rfxtrx.service.mount unit. Correct. Should there be such unit? The most common suggestion is to daemon-reload; this doid not help. Or as per https://github.com/systemd/systemd/issues/5375 this could be a bug in systemd that was fixed but only in a later systemd version than the one in raspbian (raspbian has version 215).

    Is there any other solution than trying to update to a version not supported by the raspbian maintainers?

  • Al_
    Al_ over 6 years
    Thank you for answering. Your last paragraph solved the issue.
  • GuidedHacking
    GuidedHacking about 4 years
    You may consider putting an emphasis on the last paragraph, the most important part is you can't use the full path