Linux.systemd
"systemd" ist ein Linux Programm das den Boot-Prozess eines Linux-System durchführt. Zu startende Dienste sind von anderen abhängig so dass dieser Boot-Prozess nicht ganz einfach ist. Infos zu systemd:
- http://0pointer.de/blog/projects/security.html
- http://fedoraproject.org/wiki/How_to_debug_Systemd_problems
- http://fedoraproject.org/wiki/Systemd
Aufgaben und Anwendungen
Mounten
eines RAID Arrays
# # srv-smb-ra6.mount # [Unit] Description=srv-smb-ra6 [Mount] What=/dev/md/Tokio:0 Where=/srv/smb/ra6 [Install] WantedBy=local-fs.target
# # /etc/systemd/system/srv-nas-user1.mount # [Unit] Description=srv-nas-user1 Requires=network-online.target After=network-online.target [Mount] What=//newyork/user1 Where=/srv/nas/user1 Type=cifs Options=guest
# # /etc/systemd/system/root-.wine-drive_w.mount # # Mount für den cOrgaMon Server # [Unit] Description=root-.wine-drive_w Requires=network-online.target smb.service After=network-online.target smb.service [Mount] What=//tokio.pcworld/app Where=/root/.wine/drive_w Type=cifs Options=guest
Login
- der "automatische Login" soll bei Servern selbstverständlich verhindert werden
- Q: How To Disable Auto Login?
- A: Yast - Security and Users - User/Group Management - Expert Options >Login Settings
- der resourcenfressende grafische Anmeldeschirm soll unterdrückt werden
systemctl set-default multi-user.target
Apache2 Webserver
systemctl enable apache2 systemctl start apache2
cOrgaMon
Sicherstellen des Laufwerkes I:\
/etc/systemd/system/root-.wine-drive_i.mount
# # cOrgaMon.service depends on # [Unit] Description=/root/.wine/drive_i After=network.target [Mount] What=//raib91/i$ Where=/root/.wine/drive_i Type=cifs Options=guest [Install] WantedBy=orgamon.service
Start
systemctl enable orgamon.service systemctl start orgamon.service
aqbd
VirtualBox für GUI-OrgaMon
vor openSuSe 12.1
Nehmen wir an, Du hast ein Skript deindienst.sh das deinen Dienst startet, dies soll ab sofort auch nach einem Neustart des Server erfolgen. Das geht so:
- in /etc/init.d
cp skeleton deindienst ln -s deindienst /usr/sbin/rcdeindienst
- nun deinen Dienst anpassen
joe deindienst
# Provides: deindienst # Required-Start: $ALL
- den ganzen Vorcheck wegmachen
-- snip
# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
FOO_BIN=/usr/sbin/FOO
test -x $FOO_BIN || { echo "$FOO_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
# Check for existence of needed config file and read it
FOO_CONFIG=/etc/sysconfig/FOO
test -r $FOO_CONFIG || { echo "$FOO_CONFIG not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
# Read config
. $FOO_CONFIG
-- snap --
- im Startbereich einfach Dein Skript eintragen
## Start daemon with startproc(8). If this fails
## the return value is set appropriately by startproc.
/sbin/startproc /etc/deindienst.sh
- nun den Autostart sicherstellen
chkconfig --add deindienst
- willst du jetzt schon starten?
rcdeindienst start
Diagnose
systemd-analyze plot > /srv/www/web/systemd.svg
