diff --git a/8.html b/8.html index 195f902..c86314b 100644 --- a/8.html +++ b/8.html @@ -120,6 +120,7 @@ Reboot. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt. +

Part 5 - systemd

@@ -139,6 +140,12 @@
+

Der Boot-Ablauf mit systemd

+ +

Das initramfs ist ein komprimiertes Archiv, das für den Systemstart benötigte Dateien enthält. +

+ +

systemd ist organisiert mit

+
-
-

Dienste Steuern

- +
Default Target
systemctl get-default
+
Alle Targets
systemctl list-units --type target
- -
- - -
-

Eine unit

-
[Unit]
-Description=OpenBSD Secure Shell server
-After=network.target auditd.service
-ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
-
-[Service]
-EnvironmentFile=-/etc/default/ssh
-ExecStartPre=/usr/sbin/sshd -t
-ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
-ExecReload=/usr/sbin/sshd -t
-ExecReload=/bin/kill -HUP $MAINPID
-KillMode=process
-Restart=on-failure
-RestartPreventExitStatus=255
-Type=notify
-RuntimeDirectory=sshd
-RuntimeDirectoryMode=0755
-
-[Install]
-WantedBy=multi-user.target
-Alias=sshd.service
-		
-
- - -
- Aufgabe: Erstellt eine Unit und startet sie. -
- /etc/systemd/system/simple-webserver.service -
[Unit]
-Description=Simple Web Server
-
-[Service]
-Type=simple
-ExecStart=/home/USERNAME-HIER-EINSETZEN/hello-web.sh
-
-[Install]
-WantedBy=multi-user.target
-
-						
- ~/hello-web.sh -
#!/bin/bash 
-cd /home/
-python3 -m http.server 8082 
-
- -
- - -
-
systemctl start simple-webserver.service
-
systemctl status simple-webserver.service
- Wenn das gescheitert sein sollte: -
journalctl -xe 
-
journalctl --unit=simple-webserver.service 
-
- -
Browser öffnen: http://localhost:8082/BENUTZERNAME
- -

Ändern der Standard-Units

- - - -
- -

Ensprechenungen der alten Runlevel und der neuen Targets

@@ -301,44 +222,181 @@ python3 -m http.server 8082
-
- Ausserdem: +
+

Dienste Steuern

+
    +
  • Laufende Dienste anzeigen:
    systemctl
  • +
  • Eine Unit starten
    systemctl start DIENST
  • +
  • Eine Unit neu starten
    systemctl restart DIENST
  • +
  • Unit Status anzeigen
    systemctl status DIENST
  • +
+
+ +
+
    +
  • Dienst Autostart anschalten
    systemctl enable DIENST
  • +
  • Dienst Autostart anschalten und sofort starten
    systemctl enable --now DIENST
  • +
  • Dienst Autostart abschalten
    systemctl disable DIENST
  • +
+
+ + +
+

Eine unit

+ /lib/systemd/system/ssh.service +
[Unit]
+Description=OpenBSD Secure Shell server
+After=network.target auditd.service
+ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
+
+[Service]
+EnvironmentFile=-/etc/default/ssh
+ExecStartPre=/usr/sbin/sshd -t
+ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
+ExecReload=/usr/sbin/sshd -t
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=on-failure
+RestartPreventExitStatus=255
+Type=notify
+RuntimeDirectory=sshd
+RuntimeDirectoryMode=0755
+
+[Install]
+WantedBy=multi-user.target
+Alias=sshd.service
+		
+
+ + +
+ Aufgabe: Erstellt eine Unit und startet sie.

+ https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files +

+ /etc/systemd/system/simple-webserver.service +
[Unit]
+Description=Simple Web Server
+
+[Service]
+Type=simple
+ExecStart=/home/USERNAME-HIER-EINSETZEN/hello-web.sh
+
+[Install]
+WantedBy=multi-user.target
+
+						
+ ~/hello-web.sh +
#!/bin/bash 
+cd /home/
+python3 -m http.server 8082 
+
-
    -
  • mount -> systemd kann Dateisysteme mounten
  • -
  • timer -> systemd kann cron ersetzen
  • -
-
-

journalctl

- Das logging system moderner Linux Distributionen. -
+
+
systemctl start simple-webserver.service
+
systemctl status simple-webserver.service
+ Wenn das gescheitert sein sollte: +
journalctl -xe 
+
journalctl --unit=simple-webserver.service 
+
-
-

systemctl

-
+
Browser öffnen: http://localhost:8082/BENUTZERNAME
+

Ändern der Standard-Units

-
-

Part 5 - daemons

+
    +
  • systemctl edit unit
  • +
  • Öffnet /etc/systemd/system/unit.d/override.conf
  • +
  • Aktualiseren systemctl daemon-reload
  • +
  • UnDo:
    systemctl revert unit
  • +
+ +
+ + + +
+ timer als cron Ersatz +
systemctl list-timers --all
+
die Timer Datei muss den selben namen haben wie das Unit-File

toller-dienst.service

toller-dienst.timer

+ + +
+ +
+ https://wiki.archlinux.org/index.php/Systemd/Timers + +
+ + +
+ Aufgabe: Erstellt einen Backup Service, der per systemd Timer einmal wöchentlich läuft. + +
+ /etc/systemd/system/backup.timer +
	
+[Unit]
+Description=Run backup.sh weekly
+
+[Timer]
+OnCalendar=weekly
+Persistent=true
+
+[Install]
+WantedBy=timers.target
+						
+
-
-

Part 6 - Uhrzeit und Datum

-
- -
-

Part 7 - Startup / Shutdown

-
-

Der Boot-Ablauf mit systemd

- -

Das initramfs ist ein komprimiertes Archiv, das für den Systemstart benötigte Dateien enthält. + /etc/systemd/system/backup.service +

	
+[Unit]
+Description=Backup 2000
+
+[Service]
+Type=simple
+ExecStart=/home/USERNAME-HIER-EINSETZEN/bin/backup.sh
+
+[Install]
+WantedBy=multi-user.target
+					
+
+ ~/bin/backup.sh +
#!/bin/bash
+tar -czf "/home/USERNAME/archiv/backup-`date +%d-%m-%Y`.tar.gz" /home/USERNAME/arbeit/
+					
+
+ +
+

journalctl

+
journalctl
+
journalctl -xe
+
journalctl --unit=backup.service 
+ +
+ +
+ timedatectl +

https://wiki.ubuntuusers.de/Systemzeit/ + +

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-targets +

+ + + +
+

Part 7 - Startup / Shutdown

+
+ + diff --git a/9.html b/9.html new file mode 100644 index 0000000..c6ea9c1 --- /dev/null +++ b/9.html @@ -0,0 +1,101 @@ + + + + + Einführung in Linux + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

LINUX

+

Das universelle Betriebssystem

+

Eine Einführung - Teil 9 +

+ Deutsche Angestellten Akademie +

+ + +
+ +
+

Systemverwaltung

+
+
+ Dateisysteme mounten +
+ +
Netzwerke
+ +
IP Adressen
+ +
SSH
+ + +
+
+ + + + + + + +