So verwalten Sie Dienste mit Systemd
Eine der wichtigsten Fähigkeiten, die jeder System-Neuling erlernen kann, ist die Verwaltung der Dienste seines Computers. In diesem Artikel werden die Grundlagen behandelt: Starten, Beenden, Aktivieren und Deaktivieren von Diensten über die Linux-Befehlszeile.
Diese Aufgaben sind nicht schwer zu meistern, aber sie werden zu einem unleugbaren Bedürfnis, wenn Sie gezwungen sind, ein außer Kontrolle geratenes Programm anzuhalten oder wenn Sie eine neue Anwendung installieren möchten.
Was ist Systemd?
Die Chancen stehen gut, dass Ihr Linux-Computer derzeit Systemd ausführt. Viele Distributionen, darunter Arch Linux, Debian, Fedora, Red Hat und Ubuntu, verwenden sie standardmäßig. Einige Distributionen wären ohne die Installation schwer oder gar nicht möglich.
Systemd arbeitet vor allem als robuster Ersatz für das alte init-Projekt SysV, das UNIX-Distributionen seit den 1980er Jahren verwendet haben. Schlüsselentwickler Lennart Pöttering hat außerdem erklärt, dass Systemd über Init-Aufgaben hinausgeht und auch als Entwicklungsplattform und Bindeglied zwischen einzelnen Anwendungen und dem Linux-Kernel fungieren kann.
Dies hat bei Pöttering als Ganzes eine große Empörung ausgelöst, vor allem, weil seine monolithische Natur gegen den "UNIX-Weg" eines einfachen, modularen Codes zu agieren scheint.
Welche Seite auch immer Sie in der Debatte über die Legitimität von Systemd wählen mögen, Sie werden in dieser Sekunde noch unter seine Fittiche geraten. Daher müssen Sie wissen, wie man es benutzt, und es gibt keinen besseren Weg, als ein neues Programm zu installieren.
Einheiten starten und stoppen
Systemd startet, stoppt, aktiviert und deaktiviert "Einheiten". Einheiten bestehen aus den Diensten, Bereitstellungspunkten, Geräten und Sockets auf Ihrem Computer. In diesen Anweisungen arbeiten Sie mit Diensten (.Service-Dateien), den Dateien, die Programme auf Ihrem Computer darstellen, die auf den Zugriff für eine bestimmte Aufgabe warten.
Mehrere Linux-Distributionen haben Zugriff auf Hddtemp
, ein kleines Dienstprogramm, das die Temperatur einer Festplatte überprüft. Hddtemp verfügt über eine .service-Datei und kann als Daemon ausgeführt werden, sodass Sie es manuell starten und beim Booten starten können. Es ist klein und nicht-invasiv; Sie können es herunterladen, es in Verbindung mit Systemd versuchen und es später löschen, wenn Sie es nicht möchten.
Installiere es auf Arch mit:
sudo pacman -S hddtemp
und auf Ubuntu mit:
sudo apt-get installieren hddtemp
Starten Sie nun das neue Dienstprogramm mit Systemd:
sudo systemctl starte hddtemp.service
Sie können dann neu starten, stoppen und den Status von man-db mit demselben systemctl unit
- systemctl unit
- systemctl unit
. Beachten Sie, dass "Einheit" als Abkürzung für jede "unit.service" -Datei fungiert, die Sie verwenden werden.
Das sudo systemctl start hddtemp
, sudo systemctl stop hddtemp
und sudo systemctl restart hddtemp
Befehle erzeugen standardmäßig keine Ausgabe, wenn sie erfolgreich sind.
Sie können mehr Informationen über den Service erhalten mit:
sudo systemctl status hddtemp
In diesem Fall zeigt der Befehl den Namen des Dienstes, seinen Status (aktiv oder inaktiv) und das Starten / Stoppen an, das in den letzten paar Minuten stattgefunden hat. Wenn einer der obigen Befehle fehlgeschlagen ist oder einen Fehler verursacht hat, werden diese Probleme im Statusbericht angezeigt.
Aktivieren und Deaktivieren von Einheiten
Wenn Sie eine Einheit starten oder stoppen, schließen Sie einen manuellen Prozess ab, der wahrscheinlich nur während Ihrer aktuellen Sitzung gültig ist. Wenn Sie neu starten, wird die von Ihnen gestartete Einheit möglicherweise nicht automatisch ausgeführt.
Versuchen Sie, sie mit Hddtemp zu aktivieren, um Einheiten beim Start zu starten:
sudo systemctl aktiviert hddtemp
Die Ausgabe hier zeigt, dass Systemd einen Symlink erstellt hat, um sich zu sagen, dass er Hddtemp starten soll, wenn der Computer den Bootvorgang durchläuft. In Zukunft können Sie die Verknüpfung verwenden:
sudo systemctl enable --now Einheit
Aktivieren und Starten einer Einheit in einem Befehl.
Jetzt können Sie Hddtemp genauso einfach deaktivieren:
sudo systemctl deaktiviert hddtemp
Wenn Sie sich nicht sicher sind, ob eine Einheit aktiviert ist oder nicht, können Sie die sudo systemctl is-enabled unit
ausführen, um dies herauszufinden.
Sie können jetzt Hddtemp von Ihrem Computer entfernen, wenn Sie es nicht möchten.
Fazit
Diese Befehle sind das Endergebnis der komplexen Maschine, die Systemd ist. Liebe es oder hasse es, es ist nicht zu leugnen, dass, wenn Sie Systemd verwenden, diese Befehle für die Verwaltung von Programmen auf Ihrem Computer nützlich sein werden.
Überprüfen Sie den Abschnitt "BEFEHLE" der Systemctl-Manpage mit man systemctl
. Sie finden dieselben Befehle - Starten, Stoppen, Aktivieren, Deaktivieren - neben vielen anderen, die genauso einfach zu bedienen sind, aber tiefer gehen als diese hier gezeigten grundlegenden Beispiele.