Dieser Artikel könnte ein Befehl kurz, aber der resultierende Ausdruck ist sehr lang.

Der Dump-Befehl

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

$ systemd –dump-Konfiguration-Elemente

Die Datei umfasst alle Einheiten, die Sie auf das system haben. Sobald ein Entwickler diese Datei verfügbar hat, wird die Person durchgehen, was Sie haben, und versuchen, die Probleme zu finden, mit denen Sie konfrontiert sind. Vorbei und fertig., Sie würden diesen Artikel jedoch nicht lesen, wenn Sie jemanden alles tun lassen würden. Lassen Sie uns sehen, was Sie mit einem Dienst gleichzeitig 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 abhängig ist und / oder auf andere Dienste wartet. Wie unterschiedlich Sie dies tun, zeigt sich in den Servicedateien. Die verschiedenen Aussagen, die Sie haben, sind „Will“, „Erforderlich“, „Vorher“ und „Nachher“., Für eine effektive Analyse können Sie diese verwenden, um festzustellen, 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 –vor xpra.service

Der Ausdruck zeigt die anderen Einheiten, die xpra.service verlassen sich auf. In diesem Fall sind die anderen Einheiten aktiv, daher müssen wir uns darauf konzentrieren, warum das Gerät selbst defekt ist. Im Beispiel fehlte eine Zertifikatsdatei.,

Die wichtigste Verwendung davon ist zu untersuchen, ob 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 als grün oder rot anzeigt, wenn etwas nicht stimmt. Sie können die Abhängigkeiten auch in der Servicedatei anzeigen. Öffnen Sie die Datei mit Ihrem bevorzugten Editor oder verwenden Sie systemctl, wodurch die Datei mit dem Standardeditor geöffnet wird.,

Auflistung aktiver Dienste

Wenn Sie ein System untersuchen möchten, müssen Sie wissen, wie die Einheiten zusammenpassen. Dazu haben Sie eine Reihe von Optionen zum Drucken der Details. Sie können auflisten, welche Systeme besetzt sind, fehlgeschlagen und so weiter. Noch wichtiger ist, dass Sie auflisten können, wie sie zusammengesetzt sind, welche Einheit, welcher Service usw. die aktuelle Einheit hängt davon ab. Der Hauptbefehl dazu ist systemctl, die Optionen sind nützlich, um sich auf Ihr spezifisches Problem einzugrenzen.

Um die richtige Verwendung von systemctl zu erhalten, schauen 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 nach Diensten, die Probleme haben.

$ systemctl list-unit-files –type=service

Diese Liste ist ebenfalls 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 deaktivierten Parameter filtern. Der folgende Befehl findet alle Einheiten, die maskiert sind.,

$ systemctl list-unit-files –type=service –Status=maskierte

Maskierte Dienste werden blockiert, so dass andere Dienste nicht starten, auch wenn der andere service Sie benötigen. Dies kann verwendet werden, um sicherzustellen, dass keine widersprüchlichen Dienste ausgeführt werden. Häufig werden viele Dienste vom Paketmanager maskiert, wenn Sie das Paket entfernen. Sie können die Servicedatei nach dem Entfernen eines Dienstes vollständig entfernen, wenn Sie dies wünschen. Es ist auch möglich, dass es viele Dienste zerstört, die Sie wollen, also stellen Sie sicher, dass Sie wissen, ob Sie die maskierten Dienste benötigen.,

Einige Dienste werden von Prozessen maskiert und Sie beabsichtigen nicht immer, dass der Dienst maskiert wird. Wenn dies mit Ihrem System geschehen ist, müssen Sie als erste die Maske 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, 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.service

Nachdem Sie nun wissen, wie es geht, hören Sie diese Warnung: Oft ist es notwendig, diesen Link dort zu haben. Nehmen Sie lvm2 als Beispiel, es ist aus dem Betrieb maskiert, so dass es nicht mit dem neuen System stören, wo lvm2 so viele kleine Dienste kommt., Siehe das Ergebnis von:

$ systemctl status lvm2*

Das Entfernen des Links kann zu Verwüstungen auf Ihrem System führen, da lvm2 es selbst ausschalten 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 darüber nachdenken, wonach Sie in Ihrer Suche suchen. Suchen Sie einen Service, den Sie benötigen, oder sehen Sie, dass Sie zu viele Dienste haben? In jedem Fall müssen Sie Ihre Abfrage an Ihre speziellen Anforderungen anpassen., Systemd sieht zunächst verwirrend aus, aber wenn Sie genauer hinschauen, verwendet alles eine einfache Möglichkeit, den Start zu vereinheitlichen, damit Dienste parallel dort starten können, wo das System sie benötigt, während jeder Dienst auf den spezifischen Dienst warten kann, von dem er abhängt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.