Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save nethoncho/5ec8b86fc662adc0cca4ea9a8eb541fe to your computer and use it in GitHub Desktop.
Save nethoncho/5ec8b86fc662adc0cca4ea9a8eb541fe to your computer and use it in GitHub Desktop.
Convert SysV Init scripts to Systemd Unit File

Let's say you have a SysV Init Script named foo

  1. Copy the file to /etc/init.d/foo

  2. Enable the SysV service: chkconfig --add foo

  3. Enable the SysV service: chkconfig foo on

  4. Start the service: service foo start. After this, systemd-sysv-generator will generate this file /run/systemd/generator.late/foo.service, copy this file to /etc/systemd/system by running: cp /run/systemd/generator.late/foo.service /etc/systemd/system/foo.service

  5. Edit /etc/systemd/system/foo.service by running systemctl edit foo.service, add in the following line to foo.servie (this makes the service installable)

    [Install]
    WantedBy=multi-user.target
    
  6. Enable the service: systemd enable foo.service

  7. (Optional) You can then remove the SysV script by running chkconfig foo off && chkconfig --del foo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment