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
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
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
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 Sie
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
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
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
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
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
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.
.