Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
server_und_serverdienste:systemd [2021/01/14 12:04] – loma | server_und_serverdienste:systemd [2024/10/16 19:54] (aktuell) – loma | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Systemd ====== | ====== Systemd ====== | ||
+ | |||
+ | Hauseigenes Apt-Repo: [[https:// | ||
+ | \\ | ||
+ | \\ | ||
Ein Service bearbeiten und personalisieren. | Ein Service bearbeiten und personalisieren. | ||
- | < | + | |
- | systemctl edit --full rc-local | + | systemctl edit --full rc-local |
- | </ | + | |
+ | Um den Defaulteditor VI von SystemD zu überschreiben bedient man sich diesem Befehl: | ||
+ | EDITOR=nano systemctl edit --full rc-local | ||
+ | |||
+ | Hier wird das komplette Service kopiert und wird von Updates des Systems nicht weiterhin berührt. Dies kann je nachdem zu irgendwann auch zu Problemen führen. Deshalb gibt es auch eine andere Variante wo die Files virtuell verschmolzen werden: | ||
+ | EDITOR=nano systemctl edit apache2 | ||
+ | |||
+ | Oder wenn es ein komplett neues Unitfile ist: | ||
+ | systemctl edit -f -l rc-local | ||
Man könnte auch Dienste direkt in ''/ | Man könnte auch Dienste direkt in ''/ | ||
Zeile 67: | Zeile 79: | ||
===== Mounten mit Systemd - FSTAB ruhe in Frieden ===== | ===== Mounten mit Systemd - FSTAB ruhe in Frieden ===== | ||
+ | |||
+ | ==== Systemd Mount mit NFS ==== | ||
__Testsystem: | __Testsystem: | ||
Zeile 74: | Zeile 88: | ||
Hier als Beispiel ein einfacher Mount einer lokalen HDD. Als erstes legst du ein sogenanntes Unit-File an. Der Mountpoint wird dabei automatisch erstellt. | Hier als Beispiel ein einfacher Mount einer lokalen HDD. Als erstes legst du ein sogenanntes Unit-File an. Der Mountpoint wird dabei automatisch erstellt. | ||
systemctl edit -f -l "/ | systemctl edit -f -l "/ | ||
+ | |||
+ | Um den Defaulteditor VI von SystemD zu überschreiben bedient man sich diesem Befehl: | ||
+ | EDITOR=nano systemctl edit -f -l "/ | ||
+ | |||
Wie du siehst muss der Name der exakte Mountpoint sein. Nun befüllst du das File mit diesem Inhalt: | Wie du siehst muss der Name der exakte Mountpoint sein. Nun befüllst du das File mit diesem Inhalt: | ||
< | < | ||
Zeile 88: | Zeile 106: | ||
Where=/ | Where=/ | ||
</ | </ | ||
+ | Und NFS4: | ||
+ | < | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | [Unit] | ||
+ | Description=Mount datatstore under / | ||
+ | Requires=network.target | ||
+ | Requires=NetworkManager.service | ||
+ | Requires=network-online.target | ||
+ | |||
+ | [Mount] | ||
+ | Options=rw, | ||
+ | Type=nfs4 | ||
+ | What=myhostserver.lan:/ | ||
+ | Where=/ | ||
+ | # TimeoutSec=60 | ||
+ | </ | ||
+ | |||
+ | |||
Mit dem nächsten Befehl hast eine tolle Übersicht für alle Mountpoints die es gibt, und ob diese im Autostart sind oder nicht. | Mit dem nächsten Befehl hast eine tolle Übersicht für alle Mountpoints die es gibt, und ob diese im Autostart sind oder nicht. | ||
systemctl list-unit-files -t mount | systemctl list-unit-files -t mount | ||
Zeile 127: | Zeile 165: | ||
oder auch: | oder auch: | ||
systemctl edit -l "/ | systemctl edit -l "/ | ||
+ | |||
+ | ==== Systemd Mount mit Samba ==== | ||
+ | |||
+ | __Testsystem: | ||
+ | |||
+ | Dies gestaltet sich sehr ähnlich wie NFS. Lediglich ein Paket und die Authentifizierung kommt dazu. | ||
+ | apt install cifs-utils -dy | ||
+ | Danach erstellen wir unser Unitfile, und aktivieren es: | ||
+ | EDITOR=nano systemctl edit -f -l "/ | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=samba mount for sambafiles | ||
+ | Requires=systemd-networkd.service | ||
+ | After=network-online.target | ||
+ | Wants=network-online.target | ||
+ | |||
+ | [Mount] | ||
+ | What=// | ||
+ | Where=/ | ||
+ | Options=credentials=/ | ||
+ | Type=cifs | ||
+ | TimeoutSec=30 | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | Nun noch SystemD reloaden und den Mount aktivieren: | ||
+ | < | ||
+ | systemctl daemon-reload | ||
+ | systemctl enable " | ||
+ | </ | ||
+ | Nun kann das Systemd-Service getartet werden, und somit wird auch das Laufwerk eingehängt. | ||
+ | systemctl start " | ||
Für die Erweiterung deines Unitfiles empfehle ich [[https:// | Für die Erweiterung deines Unitfiles empfehle ich [[https:// | ||
+ | |||
+ | ===== Systemd Autostart ===== | ||
+ | Hier ein Beispiel für ein WOL Script das beim Boot ausgeführt wird, aber erst wenn der Server online ist. | ||
+ | systemctl edit -f -l wol-at-boot.service | ||
+ | Inhalt: | ||
+ | < | ||
+ | [Unit] | ||
+ | Description=execute Wake-up on LAN | ||
+ | |||
+ | Wants=network.target | ||
+ | After=syslog.target network-online.target | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | systemctl enable wol-at-boot.service | ||
+ | systemctl daemon-reload | ||
+ | |||
===== Debuging ===== | ===== Debuging ===== | ||
Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle: | Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle: | ||
Zeile 145: | Zeile 239: | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
* https:// | * https:// | ||
+ | * https:// |