Dit artikel kan één commando kort zijn, maar de resulterende afdruk is erg lang.

het dump Commando

als iemand je vraagt om de hele configuratie van je systeem te tonen, gebruik je het dump Commando.

$ systemd –dump-configuration-items

het bestand bestrijkt alle eenheden die u op het systeem hebt. Zodra een ontwikkelaar heeft dit bestand beschikbaar, De persoon zal gaan door wat je hebt en proberen om de problemen die u worden geconfronteerd te vinden. Over en klaar., U zou dit artikel echter niet lezen als u iemand anders alles zou laten doen. Laat ons zien wat u kunt doen met een service op een moment en leren enkele trucs om uw resultaten te filteren.

de hiërarchie van systemd

om efficiënt te worden, moet u zich realiseren dat u binnen systemd een hiërarchie hebt en dat u elke service kunt instellen om af te hangen en / of te wachten op andere services. De verschillende manieren waarop u dit doet is duidelijk in de service bestanden. De verschillende verklaringen die je hebt zijn ‘wil’, ‘vereist’, ‘voor’ en ‘na’., Voor een effectieve analyse, kunt u deze gebruiken om te zien of uw eenheid is down als gevolg van afhankelijkheden. Je kunt dan terugleiden naar waar het onderliggende probleem ligt. Hier is een voorbeeld hiervan.

$ systemctl list-dependencies –before xpra.service

de afdruk toont de andere eenheden die xpra.service vertrouwen op. In dit geval zijn de andere eenheden actief, dus wee moeten richten op waarom de eenheid zelf is gebroken. Het voorbeeld miste een certificaatbestand.,

het belangrijkste gebruik hiervan is om te onderzoeken of uw service afhankelijkheden mist, gebruik het commando op deze manier.

$ systemctl list-dependencies xrind

het resultaat is een lange lijst, handig georganiseerd in een boomstructuur en toont alle services als groen of rood als er iets mis is. U kunt ook de afhankelijkheden zien in het services-bestand. Open het bestand met uw favoriete editor of gebruik systemctl, die het bestand opent met de standaard editor.,

actieve services weergeven

wanneer u een systeem wilt onderzoeken, moet u weten hoe de eenheden in elkaar passen. Om dit te doen, hebt u een aantal opties voor het afdrukken van de gegevens. U kunt een lijst maken van welke systemen bezet zijn, mislukt en ga zo maar door. Nog belangrijker is dat u kunt een lijst hoe ze worden samengesteld, welke eenheid, service etc. de huidige eenheid is afhankelijk van. Het belangrijkste commando om dit te doen is systemctl, de opties zijn handig om je specifieke probleem te beperken.

om het juiste gebruik van systemctl te krijgen, kijk zorgvuldig naar de opties voor het commando., Er zijn opties om precies te kiezen wat je nodig hebt, vooral met betrekking tot de staat van alle diensten. Hier zijn we op zoek naar diensten die problemen hebben.

$ systemctl list-unit-files –type=service

deze lijst is ook lang en u moet door alle services Bladeren om te vinden wat u zoekt. Met wat meer parameters, kunt u filteren op een specifieke of degenen die zijn uitgeschakeld. Het onderstaande commando zal alle eenheden vinden die gemaskeerd zijn.,

$ systemctl list-unit-files –type=service –state=gemaskerd

gemaskerde diensten worden geblokkeerd zodat andere diensten ze niet kunnen starten, zelfs als de andere dienst ze nodig heeft. Dit kan worden gebruikt om ervoor te zorgen dat er geen conflicterende services actief zijn. Vaak worden veel services gemaskeerd door je pakketbeheerder wanneer je het pakket verwijdert. U kunt het servicebestand volledig verwijderen als u dat wilt na het verwijderen van een service. Het is ook mogelijk dat het vernielt een heleboel diensten die u wilt dus zorg ervoor dat u weet of u de gemaskerde diensten nodig.,

Sommige services worden gemaskeerd door processen en het is niet altijd de bedoeling dat de service gemaskeerd wordt. Als dit met je systeem is gebeurd, is de eerste actie die je moet ondernemen het ontmaskeren met systemctl. Dit is echter niet altijd mogelijk, dus je moet de link in de juiste directory verwijderen. In de meeste systemen zal dit lib/systemd/system zijn. Voordat je dat doet, controleer dan of het bestand eigenlijk een link is naar /dev/null.,

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

Als u zeker weet dat u deze link wilt verwijderen, verwijder deze dan met rm of ontkoppel.

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

nu u weet hoe u het moet doen, hoort u deze waarschuwing: vaak is het nodig om deze link erin te hebben. Neem lvm2 als voorbeeld, het wordt gemaskeerd van de werking, zodat het niet interfereert met het nieuwe systeem, waar lvm2 komt zo veel kleine diensten., Zie het resultaat van:

$ systemctl status lvm2*

het verwijderen van de link kan schade aanrichten op uw systeem omdat lvm2 zelf het nodig heeft om conflicten te voorkomen. Dit is slechts een voorbeeld, dus kijk uit voordat je verder gaat.

conclusie

wanneer u diensten in systemd wilt weergeven, moet u eerst nadenken over wat u zoekt in uw zoektocht. Ben je op zoek naar een dienst die je nodig hebt of zie je dat je te veel diensten hebt. Hoe dan ook, je nodig hebt om uw zoekopdracht aan te passen aan uw specifieke behoeften., Systemd ziet er verwarrend uit op het eerste, maar als je beter kijkt, het maakt allemaal gebruik van een eenvoudige manier om te verenigen start-up, zodat diensten kunnen starten in parallel waar het systeem het nodig heeft, terwijl de mogelijkheid om elke dienst te wachten op de specifieke dienst waarvan ze afhankelijk zijn.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *