systeemd

Hoe service te vermelden met systemd

Hoe service te vermelden met systemd
Dit artikel kan één opdracht 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 dan het dump commando.

$ systemd --dump-configuratie-items

Het bestand omvat alle eenheden die je op het systeem hebt. Zodra een ontwikkelaar dit bestand beschikbaar heeft, zal de persoon doornemen wat je hebt en proberen de problemen te vinden waarmee je wordt geconfronteerd. Over en klaar. Je zou dit artikel echter niet lezen als je iemand anders alles zou laten doen. Laten we eens kijken wat u tegelijk met een service kunt doen en enkele trucs leren om uw resultaten te filteren.

De hiërarchie van systemd

Om efficiënt te worden, moet je je realiseren dat je binnen systemd een hiërarchie hebt en dat je elke service kunt laten afhangen van en/of wachten op andere services. De verschillende manieren waarop u dit doet, blijkt uit de servicebestanden. De verschillende stellingen die je hebt zijn 'Want', 'Required', 'Before' en 'after'. Voor een effectieve analyse kunt u deze gebruiken om te zien of uw unit niet beschikbaar is vanwege afhankelijkheden. U kunt dan traceren waar het onderliggende probleem ligt. Hier is een voorbeeld hiervan.

$ systemctl lijst-afhankelijkheden --before xpra.onderhoud

De afdruk toont de andere eenheden die xpra.service vertrouwen op. In dit geval zijn de andere eenheden actief, dus we moeten ons concentreren op de reden waarom de eenheid zelf kapot is. In het voorbeeld ontbrak een certificaatbestand.

Het belangrijkste gebruik hiervan is om te onderzoeken of uw service afhankelijkheden mist, gebruik de opdracht op deze manier.

$ systemctl lijst-afhankelijkheden xringd

Het resultaat is een lange lijst, overzichtelijk geordend in een boomstructuur en alle services groen of rood weergegeven als er iets mis is. U kunt de afhankelijkheden ook zien in het services-bestand. Open het bestand met uw favoriete editor of gebruik systemctl, waarmee het bestand wordt geopend met de standaardeditor.

Actieve services vermelden

Als je een systeem wilt onderzoeken, moet je weten hoe de eenheden in elkaar passen. Hiervoor heb je een aantal mogelijkheden om de details af te drukken. U kunt een lijst maken van welke systemen bezet, defect zijn, enzovoort. Wat nog belangrijker is, is dat u kunt vermelden hoe ze zijn samengesteld, welke eenheid, service enz. de huidige eenheid is afhankelijk van:. De belangrijkste opdracht 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 goed 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 services. Hier zijn we op zoek naar diensten die problemen hebben.

$ systemctl lijst-eenheid-bestanden --type=service

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

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

Gemaskeerde services worden geblokkeerd zodat andere services ze niet kunnen starten, zelfs als de andere service ze nodig heeft. Dit kan worden gebruikt om ervoor te zorgen dat er geen conflicterende services worden uitgevoerd. Gewoonlijk worden veel services gemaskeerd door uw pakketbeheerder wanneer u het pakket verwijdert. U kunt het servicebestand desgewenst volledig verwijderen na het verwijderen van een service. Het is ook mogelijk dat het veel services vernietigt die je wel wilt, dus zorg ervoor dat je weet of je de gemaskeerde services nodig hebt.

Sommige services worden gemaskeerd door processen en het is niet altijd de bedoeling dat de service wordt gemaskeerd. Wanneer dit met uw systeem is gebeurd, is de eerste actie die u moet ondernemen het ontmaskeren met systemctl. Dit is echter niet altijd mogelijk, dus u moet de link in de juiste map weghalen. In de meeste systemen zal dit zijn: lib/systemd/system. Controleer voordat u dit doet echter of het bestand daadwerkelijk een link is naar /dev/null.

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

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

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

Nu je weet hoe je het moet doen, hoor je deze waarschuwing: vaak is het nodig om deze link daar te hebben. Neem lvm2 als voorbeeld, het is gemaskeerd voor gebruik, zodat het niet interfereert met het nieuwe systeem, waar lvm2 zoveel kleine services biedt. Zie het resultaat van:

$ systeemctl-status lvm2*

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

Conclusie

Wanneer u services in systemd wilt vermelden, moet u eerst nadenken over wat u zoekt in uw zoektocht. Bent u op zoek naar een dienst die u nodig heeft of ziet u dat u teveel diensten heeft?. Hoe dan ook, u moet uw vraag aanpassen aan uw specifieke behoeften. Systemd ziet er in eerste instantie verwarrend uit, maar als je beter kijkt, gebruikt het allemaal een eenvoudige manier om het opstarten te verenigen, zodat services parallel kunnen starten waar het systeem het nodig heeft, terwijl elke service kan wachten op de specifieke service waarvan ze afhankelijk zijn.

Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...
Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...