Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
server_und_serverdienste:systemd [2018/04/15 22:34] – boospy | server_und_serverdienste:systemd [2021/01/14 13:04] – loma | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Systemd ====== | ====== Systemd ====== | ||
+ | Ein Service bearbeiten und personalisieren. | ||
+ | < | ||
+ | systemctl edit --full rc-local | ||
+ | </ | ||
+ | Man könnte auch Dienste direkt in ''/ | ||
+ | |||
==== Beispiel Einbau von Sleep beim Start eines Services ==== | ==== Beispiel Einbau von Sleep beim Start eines Services ==== | ||
Zeile 47: | Zeile 53: | ||
Hier wird z.B. der xbmc Benutzer automatisch eingeloggt. Danach werden natürlich .zshrc .bashrc und auch die .xinitrc beachtet. | Hier wird z.B. der xbmc Benutzer automatisch eingeloggt. Danach werden natürlich .zshrc .bashrc und auch die .xinitrc beachtet. | ||
+ | |||
+ | ===== Systemdservices über Remote ausführen ===== | ||
+ | Mit Systemd ist es sehr bequem möglich Dinge zu organisieren ohne das man direkt am Host ist. z.b. | ||
+ | < | ||
+ | systemctl -H root@myhost.supertux.bla status apache2 | ||
+ | </ | ||
===== NFS-Client ===== | ===== NFS-Client ===== | ||
Zeile 54: | Zeile 66: | ||
systemctl enable rpcbind.service | systemctl enable rpcbind.service | ||
+ | ===== Mounten mit Systemd - FSTAB ruhe in Frieden ===== | ||
+ | |||
+ | __Testsystem: | ||
+ | |||
+ | Die FSTAB ist mehr oder weniger überholt. Benötigt wird sie vom System wohl nur mehr für den Root Mount. Generell wird bereits bei jedem manuellen FSTAB-Eintrag ein Systemd-Unit-File generiert dass auf die FSTAB verweist. Daher wird auch empfohlen statt der FSTAB nur mehr Systemd zu verwenden, was sehr viele Vorteile mit sich bringt. Z.B. hat man damit die Möglichkeit auch Abhängigkeiten von anderen Programmen und States anzugeben. Ein praktischen nerviges Beispiel wäre wenn ein Netzwerkmount nicht immer automatisch in der FSTAB gemountet wird, weil das Netzwerk vielleicht nicht immer gleich schnell verfügbar ist. Und obwohl man in der FSTAB die Option gesetzt hat dass, das Netzwerk verfügbar sein muss, funktioniert es trotzdem doch immer nicht. Systemd schafft hier für dich Abhilfe. Auch [[https:// | ||
+ | |||
+ | 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 "/ | ||
+ | Wie du siehst muss der Name der exakte Mountpoint sein. Nun befüllst du das File mit diesem Inhalt: | ||
+ | < | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | [Unit] | ||
+ | Description=Mount datatstore ' | ||
+ | |||
+ | [Mount] | ||
+ | Options=defaults | ||
+ | Type=ext4 | ||
+ | What=/ | ||
+ | Where=/ | ||
+ | </ | ||
+ | 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 | ||
+ | < | ||
+ | UNIT FILE | ||
+ | -.mount | ||
+ | boot-efi.mount | ||
+ | dev-hugepages.mount | ||
+ | dev-mqueue.mount | ||
+ | mnt-datastore-HDD\x2dextern\x2dOSIT.mount disabled | ||
+ | proc-fs-nfsd.mount | ||
+ | proc-sys-fs-binfmt_misc.mount | ||
+ | run-rpc_pipefs.mount | ||
+ | sys-fs-fuse-connections.mount | ||
+ | sys-kernel-config.mount | ||
+ | sys-kernel-debug.mount | ||
+ | </ | ||
+ | In den Autostart damit: | ||
+ | systemctl enable " | ||
+ | Und mounten: | ||
+ | systemctl start mnt-datastore-HDD\\x2dextern\\x2dOSIT.mount | ||
+ | Bei der Mountübersicht sieht das ganze nun so aus: | ||
+ | < | ||
+ | UNIT FILE | ||
+ | -.mount | ||
+ | boot-efi.mount | ||
+ | dev-hugepages.mount | ||
+ | dev-mqueue.mount | ||
+ | mnt-datastore-HDD\x2dextern\x2dOSIT.mount enabled | ||
+ | proc-fs-nfsd.mount | ||
+ | proc-sys-fs-binfmt_misc.mount | ||
+ | run-rpc_pipefs.mount | ||
+ | sys-fs-fuse-connections.mount | ||
+ | sys-kernel-config.mount | ||
+ | sys-kernel-debug.mount | ||
+ | </ | ||
+ | Bestehende Unitfiles kann mit dem folgenden Befehlen editieren: | ||
+ | systemctl edit -l mnt-datastore-HDD\\x2dextern\\x2dOSIT.mount | ||
+ | oder auch: | ||
+ | systemctl edit -l "/ | ||
+ | |||
+ | Für die Erweiterung deines Unitfiles empfehle ich [[https:// | ||
+ | ===== Debuging ===== | ||
+ | Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle: | ||
+ | < | ||
+ | systemd-analyze plot > bootchart.svg | ||
+ | systemd-analyze blame | ||
+ | </ | ||
+ | |||
+ | ==== Weitere nützliche Systemd-Befehle ==== | ||
+ | < | ||
+ | systemctl reset-failed | ||
+ | systemctl --failed | ||
+ | </ | ||
====== Links ====== | ====== Links ====== | ||
* [[https:// | * [[https:// | ||
+ | * https:// |