Difference between revisions of "Systemd/Services"

From ArchWiki
Jump to: navigation, search
(add foldingathome-smp service file)
(atd: added to package)
Line 8: Line 8:
  
 
This page is useful to publish [[systemd]] service files that are missing in the appropriate package in the repositories. These files can be copied from other distributions or created by yourself.
 
This page is useful to publish [[systemd]] service files that are missing in the appropriate package in the repositories. These files can be copied from other distributions or created by yourself.
 
== atd ==
 
{{hc|/etc/systemd/system/atd.service|<nowiki>
 
 
[Unit]
 
Description=Execution Queue Daemon
 
 
[Service]
 
ExecStart=/usr/sbin/atd -f
 
 
[Install]
 
WantedBy=multi-user.target
 
</nowiki>}}
 
  
 
== BOINC Daemon ==
 
== BOINC Daemon ==

Revision as of 11:34, 6 October 2012

Summary help replacing me
Related
Systemd

This page is useful to publish systemd service files that are missing in the appropriate package in the repositories. These files can be copied from other distributions or created by yourself.

BOINC Daemon

/etc/systemd/system/boinc.service
[Unit]
Description=BOINC Daemon

[Service]
User=boinc
Nice=19
ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio

[Install]
WantedBy=multi-user.target

CouchDB

/etc/systemd/system/couchdb.service
[Unit]
Description=CouchDB Server

[Service]
User=couchdb
Type=forking
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/run/couchdb ; /bin/chown -R couchdb /var/run/couchdb
ExecStart=/usr/bin/couchdb -b -o /dev/null -e /dev/null
ExecStop=/usr/bin/couchdb -d

[Install]
WantedBy=multi-user.target

Courier-IMAP

/etc/systemd/system/authdaemond.service
[Unit]
Description=Courier Authentification Daemon

[Service]
Type=forking
ExecStart=/usr/sbin/authdaemond start
ExecStop=/usr/sbin/authdaemon stop
PIDFile=/run/authdaemon/pid

[Install]
WantedBy=multi-user.target
/etc/systemd/system/courier-imapd.service
[Unit]
Description=Courier IMAP Daemon
Requires=authdaemond.service
After=authdaemond.service

[Service]
Type=forking
EnvironmentFile=/etc/courier-imap/imapd
ExecStart=/usr/lib/courier-imap/imapd.rc start
ExecStop=/usr/lib/courier-imap/imapd.rc stop
PIDFile=/var/run/courier/imapd.pid

[Install]
WantedBy=multi-user.target
/etc/systemd/system/courier-imapd-ssl.service
[Unit]
Description=Courier IMAP Daemon
Requires=authdaemond.service
After=authdaemond.service

[Service]
Type=forking
EnvironmentFile=/etc/courier-imap/imapd
ExecStart=/usr/lib/courier-imap/imapd-ssl.rc start
ExecStop=/usr/lib/courier-imap/imapd-ssl.rc stop
PIDFile=/var/run/courier/imapd-ssl.pid

[Install]
WantedBy=multi-user.target
/usr/lib/tmpfiles.d/authdaemond.conf
D /run/authdaemon 0755 courier courier
/usr/lib/tmpfiles.d/courier-imapd.conf
D /run/courier 0755 courier courier
Note: Taken from Gentoo and modified for Arch. You could replace the files in tmpfiles.d with appropriate ExecStartPre calls as well. Service files for pop3d and pop3d-ssl are still missing, but are probably very similar to the imapd files!

dropbear

/etc/systemd/system/dropbear.service

[Unit]
Description=Dropbear SSH server

[Service]
Type=oneshot
ExecStart=/usr/sbin/dropbear -p 22 -d /etc/dropbear/dropbear_dss_host_key -w -P /var/run/dropbear.pid
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Folding@home SMP

See the comment on the AUR package. The unit file is copied below for convenience.

/etc/systemd/system/foldingathome-smp.service

[Unit]
Description=Folding@home distributed computing client
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/fah-smp
ExecStart=/opt/fah-smp/fah6 -smp -verbosity 9 -forceasm

[Install]
WantedBy=multi-user.target

IPv6 (Hurricane Electric)

/etc/systemd/system/he-ipv6.service

[Unit]
Description=he.net IPv6 tunnel
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip tunnel add he-ipv6 mode sit remote 209.51.161.14 local <local IPv4> ttl 255
ExecStart=/sbin/ip link set he-ipv6 up mtu 1480
ExecStart=/sbin/ip addr add <local IPv6>/64 dev he-ipv6
ExecStart=/sbin/ip -6 route add ::/0 dev he-ipv6
ExecStart=/sbin/ip addr add <public IPv6>/64 dev he-ipv6
ExecStop=/sbin/ip -6 route del ::/0 dev he-ipv6
ExecStop=/sbin/ip link set he-ipv6 down
ExecStop=/sbin/ip tunnel del he-ipv6

[Install]
WantedBy=multi-user.target

Logmein Hamachi

/etc/systemd/system/hamachi.service
[Unit]
Description=Hamachi Daemon
After=network.target

[Service]
Type=forking
ExecStart=/opt/logmein-hamachi/bin/hamachid

[Install]
WantedBy=multi-user.target

Noip

/etc/systemd/system/noip2.service
[Unit]
Description=No-IP Dynamic DNS Update Client
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/noip2

[Install]
WantedBy=multi-user.target

pcscd

/etc/systemd/system/pcscd.service
[Unit]
Description=PC/SC Smart Card Daemon
Requires=pcscd.socket

[Service]
ExecStart=/usr/sbin/pcscd --foreground --auto-exit
ExecReload=/usr/sbin/pcscd --hotplug
StandardOutput=syslog

[Install]
Also=pcscd.socket
/etc/systemd/system/pcscd.socket
[Unit]
Description=PC/SC Smart Card Daemon Activation Socket

[Socket]
ListenStream=/var/run/pcscd/pcscd.comm

[Install]
WantedBy=sockets.target

Reference:

rc.local

/etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility

[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
Tip: You can replace your rc.local with native systemd units in /etc/systemd/system/.
Note: Also available in initscripts (see: Systemd#Arch_integration).
Note: StandardInput=tty may give strange behaviour: https://bbs.archlinux.org/viewtopic.php?id=147790

Remote filesystem mounts

See: Systemd#Remote_filesystem_mounts

Static Ethernet network

This is a custom service file for static Ethernet configurations. For other configurations, see Systemd#Network

/etc/conf.d/network
interface=eth0
address=192.168.0.1
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.254
/etc/systemd/system/network.service
[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart=/sbin/ip route add default via ${gateway}
ExecStop=/sbin/ip addr flush dev ${interface}
ExecStop=/sbin/ip link set dev ${interface} down

[Install]
WantedBy=multi-user.target

tpfand

/etc/systemd/system/tpfand.service
[Unit]
Description=ThinkPad Fan Control

[Service]
Type=forking
PIDFile=/var/run/tpfand.pid
ExecStart=/usr/sbin/tpfand

[Install]
WantedBy=multi-user.target

verynice

/etc/systemd/system/verynice.service
[Unit]
Description=A tool for dynamically adjusting the nice-level of processes

[Service]
Type=forking
PIDFile=/var/run/verynice.pid
ExecStart=/usr/sbin/verynice -d /var/run/verynice.pid
ExecStop=/bin/kill -15 $MAINPID

[Install]
WantedBy=multi-user.target

VideoLAN 2.0

Change the User parameter.

/etc/systemd/system/vlc.service
[Unit]
Description=VideoOnLAN Service
After=network.target

[Service]
Type=forking
User=nobody
ExecStart=/usr/bin/cvlc --intf=lua --lua-intf=http --daemon --http-port 8090
Restart=on-abort

[Install]
WantedBy=multi-user.target

See also