Unter Systemd haben wir bereits einen kleinen Einstieg in die Steuerzentrale für Linux bekommen – hier gehen wir jetzt etwas weiter.

Die meisten Befehle, solange sie das System betreffen, werden natürlich als root abgegeben – also los, ran ans Terminal:

Services:

Services, also Dienste, sind wohl die wichtigsten Komponenten unter Systemd. Services sind Software oder Prozesse. Beispielsweise eine Datenbank, wie etwa MariaDB. Lassen wir uns diese Services einmal auflisten:

systemctl --type=service

Die Spalte „UNIT“ zeigt uns den Service-Namen, meist ist dieser mit der zugehörigen Software recht passend. Die Spalte „LOAD“ zeigt uns den Status beim Start des Systems – „loaded“ zeigt uns – das Service wird beim Systemstart gestartet. „ACTIVE“ zeigt uns wiederum, der Service soll auch beim Start des Systems starten – Sie können einen Service ja auch manuell starten. „SUB“ bietet uns die Information, ob der Service aktuell läuft oder auch nicht – „running“ läuft, „exited“ – läuft natürlich nicht – ein Service muss ja nicht dauerhaft laufen. „DESCRIPTION“ zeigt uns wiederum eine kurze Beschreibung.

Wir können einen Service starten:

systemctl start mariadb.service

Einen solchen natürlich auch stoppen:

systemctl stop mariadb.service

Diesen neu starten:

systemctl restart mariadb.service

Bei manchen Services ist es auch möglich, dessen Konfiguration neu zu laden, ohne diesen neu zu starten (ein Neustart dauert meist länger), dies ist nicht bei allen Services möglich – es wird einfach ein Fehler gemeldet:

systemctl reload mariadb.service

Wir können den automatischen Start mit dem System aktivieren (diese Einstellung wird beim nächsten Start / Neustart aktiv):

systemctl enable mariadb.service

Oder auch deaktivieren:

systemctl disable mariadb.service

Die funktioniert natürlich auch sofort ohne Neustart:

systemctl enable --now mariadb.service
systemctl disable --now mariadb.service

Wir können uns auch den Status des Service anzeigen lassen:

systemctl status mariadb.service

Standardmäßig werden uns mit systemctl --type=service nur die geladenen Services angezeigt, nutzen Sie zusätzlich die Option --all, sehen Sie wirklich alle:

systemctl --type=service --all

Sockets

Neben den Services existieren auch sogenannte Sockets – Sockets dienen so mancher Software zur Kommunikation innerhalb des Systems. So gesehen, das Betriebssystem interne Netzwerk. Lassen wir uns diese anzeigen:

systemctl --type=socket

Und jetzt alle:

systemctl --type=socket --all

Gesteuert werden die Sockets, wie die Services.

Targets:

Targets sind so gesehen die aktuellen Zustände des Betriebssystems, solche Zustände wäre etwa der Multi-User-Target – der Standard, mit Netzwerk und grafischer Oberfläche, der Reboot-Target – startet das System neu, der Shutdown-Target – fährt das Betriebssystem herunter und viele mehr – lassen wir uns diese anzeigen:

systemctl --type=target

Auch hier – es werden uns nur die aktiven Targets angezeigt – mit der Option --all sehen wir alle:

In meinem Beispiel ist etwa der hibernate.target, suspend.target und weitere nicht aktiv – ich brauche diese einfach nicht. Will ich diese aktivieren – dieselbe Geschichte, wie bei den Services:

systemctl enable hibernate.target
systemctl enable --now hibernate.target
...

Wollen wir uns einmal ansehen, welcher Target standardmäßig startet:

systemctl get-default

Das System startet also standardmäßig in den graphical Target. Ist das System etwa gerade im suspend-then-hibernate.target – also im Schlafmodus und die GUI will aus welchem Grund auch immer nicht wieder aufstehen:

systemctl graphical.target

Mit der Option set-default können Sie wiederum das Standard-Target ändern – in diesem Beispiel soll das System nur in das Terminal starten – also ohne GUI:

systemctl set-default multi-user.target

Weiteres:

Wir können uns ansehen, welche Prozesse zum einem Service gehören:

systemd-cgls -u mariadb.service

Wir können uns auch die Log-Meldungen nur für einen Service anzeigen lassen:

journalctl -u mariadb.service

Wir können uns auch die Konfigurationsdatei eines Services, eines Sockets oder eines Targets anzeigen lassen, ohne den Pfad zur Datei anzugeben:

systemctl cat mariadb.service

Auch können wir uns ansehen, welche Abhängigkeiten ein Service hat:

systemctl list-dependencies mariadb.service

Oder auch alles, was einen Service betrifft:

systemctl show mariadb.service

Mit folgendem Befehl lassen wir uns alle Service-, Socket- und Target-Dateien anzeigen:

systemctl list-unit-files

Sie können auch ein Service, Socket oder Target dazu bringen, überhaupt nicht zu starten – auch wenn es etwa jemand anderes starten will:

systemctl mask mariadb.service

Jetzt lässt sich das Service auch mit:

systemctl start mariadb.service

nicht starten, auch nicht automatisch, … In der Ausgabe des Befehls systemctl list-unit-files, sind solche dann mit masked markiert. Diese Beschränkung können Sie mit folgendem Befehl wieder aufheben:

systemctl unmask mariadb.service

Die meisten Benutzer editieren die Dateien der Units (Services, Sockets und Targets) mit einem Editor – hierzu muss man natürlich auch den Pfad zur Datei angeben – umständlich. Will ich zu einer solchen Datei etwas hinzufügen:

systemctl edit mariadb.service

Die passende Datei wird geöffnet – aber nicht direkt bearbeitet. Es wird ein Verzeichnis im Verzeichnis mit der Datei erstellt – im Beispiel also „mariadb.service.d“ und die hinzugefügten Änderungen darin abgelegt. Möchten Sie die Datei direkt bearbeiten – also bestehenden Einstellungen ändern, nutzen Sie die Option --full:

systemctl edit --full mariadb.service

Nach dem Ändern an Dateien und Verzeichnissen sollte immer folgender Befehl erfolgen:

systemctl daemon-reload

Anschließend wird das Service selbst neu geladen oder gestartet – also etwa:

systemctl reload mariadb.service
systemctl restart mariadb.service

Categories:

Tags:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
TTS - Text to Speech"Qualitative deutsche künstliche Sprachausgabe, auch bekannt … Weiterlesen
Mails: Doppelt - jemand ne Idee f …Zitat von zebolon am 7. Januar 2025, 13:39 Uhr Hallo @linuxopa, … Weiterlesen
"DNS Filter" im LanDanke dir Robert. Ich werds mir bei Gelegenheit mal anschauen und … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

Januar 2025
M D M D F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
Archive