Services - rc.local

  • This section describes how to create a service file. As an example we use the re-creation of rc.local in Debian 10:
    sudo vim /etc/systemd/system/rc-local.service
    
    [Unit]
    Description=/etc/rc.local Compatibility
    ConditionPathExists=/etc/rc.local
    ConditionFileIsExecutable=/etc/rc.local
    After=network.target
     
    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    GuessMainPID=no
    SysVStartPriority=99
     
    [Install]
    WantedBy=multi-user.target
  • The executable the service file points to:
    sudo vim /etc/rc.local
    
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
     
    exit 0
  • Make it executable:
    chmod +x /etc/rc.local
  • And enable the service to start during boot:
    systemctl enable rc-local
  • And start the service
    systemctl start rc-local
  • You can view the status of the service with:
    systemctl status rc-local