So listen Sie Linux-Dienste mit dem Befehl systemctl auf


Wenn Sie ein Linux-Benutzer oder -Administrator sind, müssen Sie wissen, wie Sie Dienste auf Ihrem System verwalten. Dienste sind Programme, die im Hintergrund ausgeführt werden und wesentliche Funktionen wie Netzwerk, Drucken, Protokollierung und mehr bereitstellen.

Aber wie können Sie Dienste unter Linux auflisten, starten, stoppen, aktivieren, deaktivieren oder neu starten? Die Antwort ist der Befehl systemctl. Dieser Befehl ist Teil von systemd, einem modernen System- und Dienstmanager für Linux-Distributionen wie Ubuntu und Debian.

Wenn Sie ein Linux-Anfänger sind und diese Dienste mit systemctelverwalten möchten, führen Sie die folgenden Schritte aus.

Alle Dienste mit systemctl auflisten

Um alle Dienste auf Ihrem Linux-System aufzulisten, führen Sie diesen Befehl im Terminal aus:

sudo systemctl list-units –type service

Dadurch wird eine Tabelle mit fünf Spalten angezeigt: UNIT, LOAD, ACTIVE, SUBund BESCHREIBUNG.

Die Spalte UNITzeigt den Namen der Service-Unit-Datei, bei der es sich um die Konfigurations- und Definitionsdatei des Dienstes handelt. Diese Datei enthält Informationen darüber, was der Dienst tut und wie er verwaltet wird. Sie können auch eine Kurzbeschreibung für den Dienst in der Spalte DESCRIPTIONanzeigen.

Die Spalte LOADzeigt, ob die Service-Unit-Datei in den Speicher geladen wird. Die Spalte ACTIVEzeigt an, ob es sich um einen laufenden Dienst handelt oder nicht. Schließlich zeigt die Spalte SUBden Unterstatus des Dienstes an, z. B. ausgeführt, beendet oder fehlgeschlagen.

Sie können auch die Option -aoder –allanstelle von –typeservice verwenden, um alle Arten von Einheiten aufzulisten, nicht nur Services .

Aktive Dienste mit systemctl auflisten

Wenn Sie nur die Dienste sehen möchten, die derzeit auf Ihrem System aktiv sind (laufen), führen Sie diesen Befehl im Linux-Terminal aus:

sudo systemctl list-units –type service –state active

Dadurch werden die Dienste herausgefiltert, die inaktiv (gestoppt) oder fehlgeschlagen sind.

Inaktive Dienste mit systemctl auflisten

Wenn Sie ebenfalls nur die Dienste sehen möchten, die derzeit auf Ihrem System inaktiv (gestoppt) sind, führen Sie diesen Befehl im Terminal aus:.

sudo systemctl list-units –type service –state inactive

Dadurch werden die Dienste herausgefiltert, die aktiv (ausgeführt) oder ausgefallen sind.

Fehlgeschlagene Dienste mit systemctl auflisten

Wenn Sie die Dienste sehen möchten, die auf Ihrem System nicht gestartet oder gestoppt werden konnten, öffnen Sie das Terminal und führen Sie diesen Befehl aus:

sudo systemctl list-units –type service –state fehlgeschlagen

Dadurch werden alle derzeit aktiven (laufenden) oder inaktiven (angehaltenen) Dienste herausgefiltert.

Aktivierte Dienste mit systemctl auflisten

Um zu sehen, welche Dienste beim Booten Ihres Systems automatisch gestartet werden sollen, führen Sie diesen Befehl im Terminal aus:

sudo systemctl list-unit-files –type service –state aktiviert

Dadurch wird eine Tabelle mit zwei Spalten angezeigt: UNIT FILEund STATE. Die Spalte UNIT FILE zeigt den Namen der Service-Unit-Datei. In der Spalte STATE wird angezeigt, ob der Dienst aktiviert ist oder nicht.

Deaktivierte Dienste mit systemctl auflisten

Um zu sehen, welche Dienste deaktiviert sind und beim Booten Ihres Systems nicht automatisch gestartet werden, öffnen Sie Ihr Linux-Terminal und führen Sie diesen Befehl aus:

sudo systemctl list-unit-files –type service –state deaktiviert

Dadurch werden die Dienste herausgefiltert, die aktiviert oder maskiert sind.

Details eines Dienstes mit systemctl anzeigen

Um weitere Details zu einem bestimmten Dienst auf Ihrem System anzuzeigen, führen Sie diesen Befehl im Terminal aus:

sudo systemctl status

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie überprüfen möchten.

Hier werden Ihnen Informationen wie Beschreibung, Ladezustand, aktiver Zustand, Unterzustand, Prozess-ID (PID), Speichernutzung, CPU-Auslastung und aktuelle Dienstprotokolle angezeigt.

Sie können anstelle von Status auch den Unterbefehl show verwenden, um alle Diensteigenschaften in einem name=value-Format anzuzeigen.

Starten Sie einen Dienst mit systemctl

Um einen Dienst zu starten, der auf Ihrem System gestoppt ist, führen Sie diesen Befehl in Ihrem Linux-Terminal aus:

sudo systemctl start

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie starten möchten.

Dadurch wird der Dienst im Hintergrund gestartet und zur Eingabeaufforderung zurückgekehrt. Sie können den Unterbefehl „status“ verwenden, um zu überprüfen, ob der Dienst ausgeführt wird.

Stoppen Sie einen Dienst mit systemctl

Um einen Dienst zu stoppen, der auf Ihrem System ausgeführt wird, führen Sie diesen Befehl im Terminal aus:

sudo systemctl stop

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie stoppen möchten

Dadurch wird der Dienst im Hintergrund gestoppt und zur Eingabeaufforderung zurückgekehrt. Sie können den Unterbefehl „status“ verwenden, um zu überprüfen, ob der Dienst gestoppt ist.

Starten Sie einen Dienst mit systemctl neu

Möchten Sie die Konfigurationsdatei eines Dienstes bearbeiten, neu laden und die Änderungen übernehmen? Wenn Sie dies tun, müssen Sie den Dienst anschließend neu starten.

Um einen Dienst neu zu starten, der auf Ihrem System ausgeführt wird, öffnen Sie Ihr Terminal und führen Sie diesen Befehl aus:

sudo systemctl restart

Ersetzen Siedurch den Namen der Service-Unit-Datei, die Sie neu starten möchten.

Dadurch wird der Dienst im Hintergrund gestoppt und gestartet und zur Eingabeaufforderung zurückgekehrt. Sie können den Unterbefehl „status“ verwenden, um zu überprüfen, ob der Dienst ausgeführt wird.

Laden Sie einen Dienst mit systemctl neu

Einige Dienste unterstützen das Neuladen ihrer Konfiguration ohne Stoppen und Starten. Durch das Neuladen eines Dienstes können Sie geringfügige Änderungen an den Konfigurationsdateien dieses Dienstes vornehmen, ohne ihn neu starten zu müssen. Dies ist schneller und weniger störend als ein Neustart.

Um einen Dienst neu zu laden, der diese Funktion unterstützt, verwenden Sie den folgendensystemctl-Befehl im Terminal:

sudo systemctl reload

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie neu laden möchten.

Dadurch wird der Dienst im Hintergrund neu geladen und zur Eingabeaufforderung zurückgekehrt. Mit dem Unterbefehl „status“ können Sie überprüfen, ob der Dienst ausgeführt wird.

Aktivieren Sie einen Dienst mit systemctl

Um zu ermöglichen, dass ein Dienst beim Booten automatisch auf Ihrem System startet, führen Sie diesen Befehl im Terminal aus:

sudo systemctl enable .

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie aktivieren möchten.

Dadurch wird ein symbolischer Link von der Service-Unit-Datei zu einem Speicherort unter /etc/systemd/systemerstellt, der systemd anweist, es beim Booten zu starten.

Sie können auch die Option –nowverwenden, um einen Dienst gleichzeitig zu aktivieren und zu starten. Zum Beispiel:

sudo systemctl enable –now

Deaktivieren Sie einen Dienst mit systemctl

Um den automatischen Start eines Dienstes beim Booten auf Ihrem System zu deaktivieren, führen Sie diesen Befehl im Linux-Terminal aus:

sudo systemctl deaktivieren

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie deaktivieren möchten.

Dadurch wird der symbolische Link aus /etc/systemd/system entfernt, der systemd anweist, ihn beim Booten nicht zu starten.

Sie können auch die Option –nowverwenden, um einen Dienst gleichzeitig zu deaktivieren und zu stoppen:

sudo systemctl disable –now

Maskierte Dienste mit systemctl auflisten

Einen Dienst zu maskieren bedeutet, seine Unit-Datei mit /dev/nullzu verknüpfen, was verhindert, dass er von systemd geladen oder manipuliert wird. Dies fügt eine zusätzliche Schutzebene hinzu.

Um zu sehen, welche Dienste maskiert sind und auf Ihrem System nicht manuell oder automatisch gestartet oder gestoppt werden können, führen Sie diesen Befehl im Terminal Ihres Linux-PCs aus:

sudo systemctl list-unit-files –type service –state masked

Die Liste der maskierten Dienste wird in einer Liste angezeigt (wobei maskiertin der Spalte STATEaufgeführt ist)

Maskieren Sie einen Dienst mit systemctl

Führen Sie diesen Befehl im Terminal aus, um zu verhindern, dass ein Dienst auf Ihrem System gestartet, manuell gestoppt oder automatisch gestoppt wird:

sudo systemctl mask

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie maskieren möchten.

Dadurch wird der symbolische Link von der Service-Unit-Datei zu /dev/nullerstellt, um zu verhindern, dass sie von systemd geladen oder manipuliert wird..

Demaskieren Sie einen Dienst mit systemctl

Sie können einen zuvor maskierten Dienst entlarven. Dadurch wird der symbolische Link zu /dev/null entfernt und er kann an anderer Stelle verwendet und geladen werden.

Um einen Dienst zu demaskieren, der zuvor auf Ihrem System maskiert war, führen Sie diesen Befehl aus:

sudo systemctl unmask

Ersetzen Sie durch den Namen der Service-Unit-Datei, die Sie demaskieren möchten.

Steuerung Ihres Linux-PCs

Wenn Ihr Linux-PC systemd zum Verwalten von Systemdiensten verwendet, können Sie diese mit dem Befehl systemctlverwalten. Sie können Ihre Dienste starten, stoppen, neu laden, deaktivieren und steuern und haben so eine bessere Kontrolle über Ihren Linux-PC.

Eine weitere Möglichkeit zur Verwaltung Ihres PCs besteht darin, den Zugriff auf bestimmte Dateien zu beschränken. Sie können Verwenden Sie den Befehl chmod auf Ihrem Linux-PC den Zugriff erlauben (oder verbieten).

Sie sind sich nicht sicher, ob Ihre Linux-Distribution gut zu Ihnen passt? Sie sollten stattdessen eine weitere Top-Linux-Distribution ausprobieren oder sogar tragbare Linux-Distribution ausprobieren. Mit einer tragbaren Distribution können Sie problemlos zwischen ihnen wechseln.

.

Zusammenhängende Posts:


26.04.2023