systemd

So listen Sie Dienste mit systemd auf

So listen Sie Dienste mit systemd auf
Dieser Artikel könnte einen Befehl kurz sein, aber der resultierende Ausdruck ist sehr lang.

Der Dump-Befehl

Wenn Sie jemand auffordert, die gesamte Konfiguration Ihres Systems anzuzeigen, verwenden Sie den Befehl dump.

$ systemd --dump-configuration-items

Die Datei umfasst alle Einheiten, die Sie auf dem System haben. Sobald ein Entwickler diese Datei zur Verfügung hat, geht die Person durch, was Sie haben und versuchen, die Probleme zu finden, mit denen Sie konfrontiert sind. Fertig. Sie würden diesen Artikel jedoch nicht lesen, wenn Sie jemand anderen alles machen lassen würden. Lassen Sie uns sehen, was Sie jeweils mit einem Dienst tun können, und lernen Sie einige Tricks, um Ihre Ergebnisse zu filtern.

Die Hierarchie von systemd

Um effizient zu werden, müssen Sie erkennen, dass Sie innerhalb von systemd eine Hierarchie haben und jeden Dienst so einstellen können, dass er von anderen Diensten abhängig ist und/oder auf andere wartet. Die verschiedenen Vorgehensweisen sind in den Servicedateien ersichtlich. Die verschiedenen Aussagen, die Sie haben, sind "Wünsche", "Erforderlich", "Vorher" und "Nachher". Für eine effektive Analyse können Sie diese verwenden, um zu sehen, ob Ihr Gerät aufgrund von Abhängigkeiten ausgefallen ist. Sie können dann zurückverfolgen, wo das zugrunde liegende Problem liegt. Hier ist ein Beispiel dafür.

$ systemctl list-dependencies --before xpra.Bedienung

Der Ausdruck zeigt die anderen Einheiten, die xpra.Service verlassen sich auf. In diesem Fall sind die anderen Einheiten aktiv, also müssen wir uns darauf konzentrieren, warum die Einheit selbst kaputt ist. Im Beispiel fehlte eine Zertifikatsdatei.

Die wichtigste Verwendung davon ist, zu untersuchen, ob in Ihrem Dienst Abhängigkeiten fehlen. Verwenden Sie den Befehl auf diese Weise.

$ systemctl list-dependencies xringd

Das Ergebnis ist eine lange Liste, die bequem in einem Baum organisiert ist und alle Dienste grün oder rot anzeigt, wenn etwas nicht stimmt. Sie können die Abhängigkeiten auch in der Dienstedatei sehen. Öffnen Sie die Datei mit Ihrem bevorzugten Editor oder verwenden Sie systemctl, wodurch die Datei mit dem Standardeditor geöffnet wird.

Aktive Dienste auflisten

Wenn Sie ein System untersuchen möchten, müssen Sie wissen, wie die Einheiten zusammenpassen. Dazu haben Sie mehrere Möglichkeiten, die Details auszudrucken. Sie können auflisten, welche Systeme beschäftigt, ausgefallen usw. sind. Noch wichtiger ist, dass Sie auflisten können, wie sie zusammengesetzt sind, welche Einheit, Service usw. die aktuelle Einheit ist abhängig von. Der Hauptbefehl dafür ist systemctl. Die Optionen sind nützlich, um Ihr spezielles Problem einzugrenzen.

Um systemctl richtig zu verwenden, sehen Sie sich die Optionen für den Befehl genau an. Es gibt Optionen, um genau das auszuwählen, was Sie benötigen, insbesondere in Bezug auf den Status von Diensten. Hier suchen wir Dienste, die Probleme haben.

$ systemctl list-unit-files --type=service

Diese Liste ist auch lang und Sie müssen durch alle Dienste scrollen, um zu finden, wonach Sie suchen. Mit einigen weiteren Parametern können Sie nach einem bestimmten oder nach deaktivierten Parametern filtern. Der folgende Befehl findet alle Einheiten, die maskiert sind.

$ systemctl list-unit-files --type=service --state=masked

Maskierte Dienste werden blockiert, sodass andere Dienste sie nicht starten können, selbst wenn der andere Dienst sie benötigt. Dies kann verwendet werden, um sicherzustellen, dass keine in Konflikt stehenden Dienste ausgeführt werden. Normalerweise werden viele Dienste von Ihrem Paketmanager maskiert, wenn Sie das Paket entfernen. Sie können die Dienstdatei nach dem Entfernen eines Dienstes vollständig entfernen, wenn Sie möchten. Es ist auch möglich, dass viele Dienste zerstört werden, die Sie möchten. Stellen Sie also sicher, dass Sie wissen, ob Sie die maskierten Dienste benötigen.

Einige Dienste werden durch Prozesse maskiert und Sie beabsichtigen nicht immer, dass der Dienst maskiert wird. Wenn dies mit Ihrem System passiert ist, müssen Sie als Erstes die Maskierung mit systemctl . demaskieren. Dies ist jedoch nicht immer möglich, daher müssen Sie den Link im richtigen Verzeichnis entfernen. In den meisten Systemen ist dies lib/systemd/system. Bevor Sie dies tun, überprüfen Sie jedoch, ob die Datei tatsächlich ein Link zu /dev/null . ist.

$ ls -l lib/systemd/system> |grep null

Wenn Sie sicher sind, dass Sie diesen Link entfernen möchten, entfernen Sie ihn mit rm oder unlink.

$rm /lib/systemd/system/udisks2.Bedienung

Jetzt, da Sie wissen, wie es geht, hören Sie diese Warnung: Oft ist es notwendig, diesen Link dort zu haben. Nehmen wir lvm2 als Beispiel, es ist für den Betrieb maskiert, damit es das neue System nicht stört, wo lvm2 so viele kleine Dienste enthält. Sehen Sie das Ergebnis von:

$ systemctl-Status lvm2*

Das Entfernen des Links kann zu Verwüstungen auf Ihrem System führen, da lvm2 ihn selbst deaktivieren muss, um Konflikte zu vermeiden. Dies ist nur ein Beispiel, also pass auf, bevor du weitermachst.

Fazit

Wenn Sie Dienste in systemd auflisten möchten, müssen Sie zuerst überlegen, wonach Sie in Ihrer Suche suchen. Suchen Sie einen Service, den Sie benötigen oder sehen Sie, dass Sie zu viele Services haben. In jedem Fall müssen Sie Ihre Anfrage an Ihre speziellen Bedürfnisse anpassen. Systemd sieht auf den ersten Blick verwirrend aus, aber wenn man genauer hinschaut, verwendet alles einen einfachen Weg, um den Start zu vereinheitlichen, sodass Dienste parallel dort starten können, wo das System sie benötigt, während jeder Dienst auf den spezifischen Dienst warten kann, von dem sie abhängig sind.

Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...
Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...
Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...