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 statussystemctl --failedsystemctl list-unit-filessystemctl get-defaultsystemctl 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 | 
systemctlsystemctl start DIENSTsystemctl restart DIENSTsystemctl status DIENSTsystemctl enable DIENSTsystemctl enable --now DIENSTsystemctl 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.confsystemctl daemon-reload systemctl revert unitsystemctl list-timers --all
	        	toller-dienst.service
toller-dienst.timer
https://wiki.archlinux.org/index.php/Systemd/Timers
/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
					
					/bin/ping-omikron.sh
					#!/bin/bash
date &>> /var/log/ping-omikron.log
ping -c 3 oikron.net &>> /var/log/ping-omikron.log
					
	        	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/