Eine Einführung - Teil 8
Deutsche Angestellten Akademie
Ein Systemdienst der automatisch startet und ohne Eingriffe arbeitet ( meistens :-) )
vgl. Dienste unter Windows
Name endet oft mit „d“
Begriff: Runlevel
Runlevel | Beschreibung |
---|---|
0 | Shutdown. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt (d. h. die im Verzeichnisbaum eingebundenen Datenträger werden ausgehängt). |
S | Single-User-Runlevel; niedrigster Systemzustand für Wartungsarbeiten, in dem ausschließlich Systemressourcen wie Festplatten oder Dateisysteme aktiv sind. |
1 | Einzelnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. In vielen Implementierungen identisch mit 'S'. |
2 | Lokaler Mehrnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. Unter einigen Linuxdistributionen (z. B. Debian) wird in Runlevel 2 auch das Netzwerk konfiguriert. |
3 | Netzwerkbetrieb, über das Netzwerk erreichbare Ressourcen sind nutzbar, eine grafische Oberfläche steht nicht zur Verfügung. Firewalls sollten aktiviert werden. |
4 | Ist normalerweise nicht definiert. Kann aber für diverse Dienste genutzt werden. |
5 | Wie 3, zusätzlich wird die grafische Oberfläche bereitgestellt. |
6 | Reboot. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt. |
Das initramfs ist ein komprimiertes Archiv, das für den Systemstart benötigte Dateien enthält.
systemd ist organisiert mit
/lib/systemd/system/ -> default
/etc/systemd/system/ -> custom
systemctl status
systemctl --failed
systemctl list-unit-files
systemctl get-default
systemctl list-units --type target
SysV Runlevel | systemd Target | Notes |
---|---|---|
0 | runlevel0.target, poweroff.target | Halt the system. |
1, s, single | runlevel1.target, rescue.target | Single user mode. |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | User-defined/Site-specific runlevels. By default, identical to 3. |
3 | runlevel3.target, multi-user.target | Multi-user, non-graphical. Users can usually login via multiple consoles or via the network. |
5 | runlevel5.target, graphical.target | Multi-user, graphical. Usually has all the services of runlevel 3 plus a graphical login. |
6 | runlevel6.target, reboot.target | Reboot |
emergency | emergency.target | Emergency shell |
systemctl
systemctl start DIENST
systemctl restart DIENST
systemctl status DIENST
systemctl enable DIENST
systemctl enable --now DIENST
systemctl disable DIENST
/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
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
systemctl start simple-webserver.service
systemctl status simple-webserver.service
Wenn das gescheitert sein sollte:
journalctl -xe
journalctl --unit=simple-webserver.service
http://localhost:8082/BENUTZERNAME
systemctl edit unit
/etc/systemd/system/unit.d/override.conf
systemctl daemon-reload
systemctl revert unit
systemctl list-timers --all
toller-dienst.service
toller-dienst.timer
https://wiki.archlinux.org/index.php/Systemd/Timers
/bin/ping-omikron.sh
#!/bin/bash
date &>> /var/log/ping-omikron.log
ping -c 3 omikron.net &>> /var/log/ping-omikron.log
/etc/systemd/system/ping-omikron.timer
[Unit]
Description=Ping Omikron Timer
[Timer]
OnActiveSec=30s
OnUnitActiveSec=5m
Persistent=true
[Install]
WantedBy=basic.target
/etc/systemd/system/ping-omikron.service
[Unit]
Description=Ping Omikron Unit
[Service]
Type=simple
ExecStart=/PFAD/ZU/ping-omikron.sh
journalctl
journalctl -xe
journalctl --unit=backup.service
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-targets
https://wiki.ubuntuusers.de/Systemzeit/
sudo timedatectl set-timezone Europe/Berlin
sudo timedatectl set-time 2019-28-02 19:01
Bemerkungen:
Systemd ist rückwärtskompatibel zu Sysvinit.
Alte init Befehle werden von systemd verstanden, sind teilweise noch in Benutzung
init-scripte sind in /etc/init.d/
zu finden
sudo /etc/init.d/apache2 start
Die logs landen weiterhin zusätzlich in /var/log/
ein weiteres init-System : Upstart -> eingestellt
Festplatten / USB Sticks
externe Laufwerke
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 63,1G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 407,3G 0 part /home
├─sda6 8:6 0 9,4G 0 part [SWAP]
└─sda7 8:7 0 9,2G 0 part /tmp
sdb 8:16 0 298,1G 0 disk
└─sdb1 8:17 0 298,1G 0 part /home/dany
sr0 11:0 1 1024M 0 rom
sr1 11:1 1 1024M 0 rom
ls -Lr /dev/disk/