Linux.systemd: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 154: Zeile 154:
  rc<i>deindienst</i> start
  rc<i>deindienst</i> start


== Diagnose ==  
=== Diagnose ===
 
* sehr hilfreich ist die Grafik, die systemd erstellen kann.
* Es ist dann immer gut zu Erkennen, wenn Dienste nicht starten können weil Abhängigkeiten nicht funktionieren


  systemd-analyze plot > /srv/www/web/systemd.svg
  systemd-analyze plot > /srv/www/web/systemd.svg


[[Datei:Systemd-cOrgaMon.png]]
[[Datei:Systemd-cOrgaMon.png]]

Version vom 30. September 2016, 14:40 Uhr

"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:

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

eines remote Samba-Shares

#
# /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

eines lokalen Samba-Shares

#
# /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

  • sehr hilfreich ist die Grafik, die systemd erstellen kann.
  • Es ist dann immer gut zu Erkennen, wenn Dienste nicht starten können weil Abhängigkeiten nicht funktionieren
systemd-analyze plot > /srv/www/web/systemd.svg