Hur man hanterar tjänster med Systemd
En av de viktigaste färdigheter som Systemd nykomling kan lära sig är hur man hanterar sin dators tjänster. I den här artikeln ska vi diskutera grunderna: start, stopp, aktivering och inaktivering av tjänster från Linux-kommandoraden.
Dessa uppgifter är inte svåra att behärska, men de blir ett obestridligt behov när du är tvungen att stoppa ett program utan program eller när du vill installera en ny applikation.
Vad är Systemd?
Chansen är bra att din Linux-dator för närvarande kör Systemd. Många distros, inklusive Arch Linux, Debian, Fedora, Red Hat och Ubuntu, använder alla som standard. Vissa fördelningar skulle vara svåra eller omöjliga att köra utan att den installerades.
Systemd arbetar främst som en robust ersättning till det gamla initprojektet SysV som UNIX distros använde sedan 1980-talet. Nyckelutvecklare Lennart Poettering har också uppgett att Systemd går utöver init-uppgifter och kan också fungera som en utvecklingsplattform och en länk mellan enskilda applikationer och Linuxkärnan.
Detta har orsakat en hel del upprörande på Poetterings plattform som helhet, främst för att dess monolitiska natur verkar fungera mot "UNIX-vägen" med enkel modulär kod.
Oavsett vilken sida du väljer i debatten om Systemds legitimitet, kan du fortfarande falla under sin vinge den andra. Därför behöver du veta hur du använder det, och det finns inget bättre sätt att komma igång än att installera ett nytt program.
Start- och stoppenheter
Systemd startar, stoppar, aktiverar och inaktiverar "enheter". Enheter består av tjänster, monteringspunkter, enheter och uttag på datorn. I dessa instruktioner arbetar du med tjänster (.servicefiler), de filer som representerar program på din dator som väntar på att få åtkomst till en viss uppgift.
Flera Linux distros har tillgång till Hddtemp
, ett litet verktyg som kontrollerar temperaturen på en hårddisk. Hddtemp har en .service-fil och kan köras som en demon, så du kan starta det manuellt och aktivera det för att starta vid start. Det är litet och icke-invasivt; Du kan ladda ner den, prova den tillsammans med Systemd och ta bort den senare om du inte vill ha den runt.
Installera den på Arch med:
sudo pacman -S hddtemp
och på Ubuntu med:
sudo apt-get installera hddtemp
Starta nu det nya verktyget med Systemd:
sudo systemctl starta hddtemp.service
Du kan sedan starta om, stoppa och se statusen för man-db med samma kommandosystem - systemctl unit
. Observera att "enhet" fungerar som stenografi för någon "unit.service" -fil du ska använda.
sudo systemctl start hddtemp
, sudo systemctl stop hddtemp
och sudo systemctl restart hddtemp
kommandon ger ingen utgång som standard när de lyckas.
Du kan få mer information om tjänsten med:
sudo systemctl status hddtemp
I det här fallet avslöjar kommandot tjänsten, dess status (aktiv eller inaktiv) och start / stopp som har ägt rum under de senaste minuterna. Om någon av ovanstående kommandon misslyckades eller skapade ett fel skulle dessa problem dyka upp i statusrapporten.
Aktivera och inaktivera enheter
När du startar eller stoppar en enhet fyller du i en manuell process som sannolikt kommer att vara enbart genom din aktuella session. När du startar om, kanske enheten du startade kanske inte körs automatiskt.
För att få enheter att starta vid start, försök att aktivera dem med Hddtemp:
sudo systemctl aktivera hddtemp
Utgången här visar att Systemd skapade en symlink för att berätta för sig att starta Hddtemp när datorn går igenom startprocessen. I framtiden kan du gärna använda genvägen:
sudo systemctl enable - nu enhet
att både aktivera och starta en enhet i ett kommando.
Nu kan du avaktivera Hddtemp lika enkelt:
sudo systemctl inaktivera hddtemp
Om du någonsin är osäker på om en enhet är aktiverad kan du köra sudo systemctl is-enabled unit
att ta reda på det.
Du kan nu ta bort Hddtemp från din dator om du inte vill ha det runt.
Slutsats
Dessa kommandon är slutresultatet för den komplexa maskinen som är Systemd. Älska det eller hata det, det är ingen förnekande att om du använder Systemd kommer dessa kommandon att bli användbara för hanteringen av program på din dator.
Kolla in "COMMANDS" sektionen på Systemctl man sida med man systemctl
. Du hittar samma kommandon - starta, stoppa, aktivera, inaktivera - tillsammans med många andra som är lika enkla att använda men gräver djupare än dessa grundläggande exempel som visas här.