Services met Systemd beheren
Een van de belangrijkste vaardigheden die Systemd-nieuwkomers kunnen leren, is hoe ze de services van hun computer kunnen beheren. Voor de doeleinden van dit artikel bespreken we de basisbeginselen: starten, stoppen, inschakelen en uitschakelen van services vanaf de Linux-opdrachtregel.
Deze taken zijn niet moeilijk te beheersen, maar ze worden een onmiskenbare behoefte als je gedwongen wordt om een niet-beheerbaar programma te stoppen of als je een nieuwe applicatie wilt installeren.
Wat is Systemd?
De kans is groot dat uw Linux-computer momenteel Systemd uitvoert. Veel distro's, waaronder Arch Linux, Debian, Fedora, Red Hat en Ubuntu, gebruiken het standaard allemaal. Sommige distributies zijn moeilijk of onmogelijk om uit te voeren zonder dat het wordt geïnstalleerd.
Systemd werkt vooral als een robuuste vervanging van het oude init-project SysV dat UNIX-distro's sinds de jaren tachtig hadden gebruikt. Key ontwikkelaar Lennart Poettering heeft ook verklaard dat Systemd verder gaat dan init-taken en ook kan fungeren als een ontwikkelingsplatform en een koppeling tussen individuele applicaties en de Linux-kernel.
Dit heeft voor veel verontwaardiging gezorgd op het platform van Poettering als geheel, vooral omdat het monolithische karakter lijkt te handelen tegen "de UNIX-manier" van eenvoudige, modulaire code.
Welke kant je ook kiest in het debat over de legitimiteit van Systemd, je kunt deze seconde nog steeds onder zijn hoede vallen. Daarom moet u weten hoe u het moet gebruiken, en er is geen betere manier om te beginnen dan een nieuw programma te installeren.
Eenheden starten en stoppen
Systemd start, stopt, activeert en deactiveert "eenheden". Eenheden zijn opgebouwd uit de services, koppelpunten, apparaten en aansluitingen op uw computer. In deze instructies werkt u met services (.service-bestanden), de bestanden die programma's op uw computer vertegenwoordigen die wachten op toegang voor een specifieke taak.
Verschillende Linux-distributies hebben toegang tot Hddtemp
, een kleine voorziening die de temperatuur van een harde schijf controleert. Hddtemp heeft een .service-bestand en kan als een daemon worden uitgevoerd, dus u kunt het handmatig starten en inschakelen om te starten bij het opstarten. Het is klein en niet-invasief; je kunt het downloaden, probeer het in combinatie met Systemd en verwijder het later als je het niet in de buurt wilt hebben.
Installeer het op Arch met:
sudo pacman -S hddtemp
en op Ubuntu met:
sudo apt-get install hddtemp
Start nu het nieuwe hulpprogramma met Systemd:
sudo systemctl start hddtemp.service
U kunt dan opnieuw opstarten, stoppen en de status van man-db bekijken met diezelfde systemctl unit
- systemctl unit
. Merk op dat "unit" werkt als een afkorting voor elk "unit.service" bestand dat u zult gebruiken.
Het sudo systemctl start hddtemp
, sudo systemctl stop hddtemp
en sudo systemctl restart hddtemp
opdrachten produceren standaard geen uitvoer wanneer ze succesvol zijn.
U kunt meer informatie over de service krijgen met:
sudo systemctl status hddtemp
In dit geval onthult de opdracht de naam van de service, de status (actief of inactief) en het starten / stoppen dat de afgelopen minuten heeft plaatsgevonden. Als een van de bovenstaande opdrachten is mislukt of een fout heeft gegenereerd, worden deze problemen weergegeven in het statusrapport.
Eenheden in- en uitschakelen
Wanneer u een eenheid start of stopt, voert u een handmatig proces uit dat waarschijnlijk alleen door uw huidige sessie zal duren. Wanneer u opnieuw opstart, wordt het apparaat dat u hebt gestart mogelijk niet automatisch uitgevoerd.
Om eenheden te laten starten bij het opstarten, probeer ze met Hddtemp in te schakelen:
sudo systemctl enable hddtemp
De uitvoer hier laat zien dat Systemd een symlink heeft gemaakt om zichzelf te vertellen om Hddtemp te starten wanneer uw computer het opstartproces doorloopt. In de toekomst kunt u de snelkoppeling gebruiken:
sudo systemctl enable - juiste eenheid
om zowel een eenheid in één commando in te schakelen en te starten.
Nu kunt u Hddtemp net zo gemakkelijk uitschakelen:
sudo systemctl disable hddtemp
Als u er niet zeker van bent of een eenheid al dan niet is ingeschakeld, kunt u sudo systemctl is-enabled unit
om uit te vinden.
Je kunt Hddtemp nu van je computer verwijderen als je het niet wilt hebben.
Conclusie
Deze opdrachten zijn het eindresultaat van de complexe machine die Systemd is. Houd er van of haat het, het valt niet te ontkennen dat als je Systemd gebruikt, deze commando's nuttig zullen worden voor het beheer van programma's op je computer.
Bekijk de sectie "COMMANDS" van de Systemctl man-pagina met man systemctl
. Je zult dezelfde commando's vinden - starten, stoppen, inschakelen, uitschakelen - naast vele andere die net zo gemakkelijk te gebruiken zijn, maar dieper graven dan deze eenvoudige voorbeelden die hier worden getoond.