En av de viktigaste färdigheterna som Systemd-nykomlingar kan lära sig är hur man hanterar sina datortjänster. I denna artikel kommer vi att diskutera grunderna: starta, stoppa, aktivera och inaktivera tjänster från Linux-kommandoraden.
Dessa uppgifter är inte svåra att bemästra, men ändå blir de ett obestridligt behov när du tvingas stoppa ett out-of-control-program eller när du vill installera en ny applikation.
Vad är Systemd?
Chansen är god 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 distributioner skulle vara svåra eller omöjliga att köra utan att det installerats.
Systemd fungerar främst som en robust ersättning för det gamla init-projektet SysV som UNIX-distros hade använt sedan 1980-talet. Nyckelutvecklaren Lennart Poettering har också sagt att Systemd går utöver init-uppgifter och kan också fungera som en utvecklingsplattform och en länk mellan enskilda applikationer och Linux-kärnan.
Detta har orsakat mycket upprördhet över Poetterings plattform som helhet, främst för att dess monolitiska natur verkar fungera mot “UNIX-sättet” för enkel, modulär kod.
Oavsett vilken sida du väljer i debatten om Systemds legitimitet, kan du fortfarande falla under dess vinge denna sekund. Därför måste 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.
Starta och stoppa enheter
Systemd startar, stoppar, aktiverar och inaktiverar “enheter”. Enheter består av tjänster, monteringspunkter, enheter och uttag på din dator. I dessa instruktioner kommer du att arbeta med tjänster (.service-filer), filerna som representerar program på din dator som väntar på åtkomst för en specifik 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å att du kan starta den manuellt och aktivera den vid start. Det är litet och icke-invasivt; du kan ladda ner den, prova den tillsammans med Systemd och radera den senare om du inte vill ha den.
Installera den på Arch med:
sudo pacman -S hddtemp
och på Ubuntu med:
sudo apt-get install hddtemp
Starta nu det nya verktyget med Systemd:
sudo systemctl start hddtemp.service
Du kan sedan starta om, stoppa och se statusen för man-db med samma stilkommando – systemctl <action> unit
. Lägg märke till att “enhet” fungerar som stenografi för alla “unit.service” -filer du använder.
De sudo systemctl start hddtemp
, sudo systemctl stop hddtemp
och sudo systemctl restart hddtemp
kommandon ger ingen utdata 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 namnet på 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 gav ett fel, skulle dessa problem dyka upp i statusrapporten.
Aktivera och inaktivera enheter
När du startar eller stoppar en enhet slutför du en manuell process som sannolikt bara kommer att pågå under din nuvarande session. När du startar om kanske enheten du startade kanske inte körs automatiskt.
För att enheter ska börja vid start, försök aktivera dem med Hddtemp:
sudo systemctl enable hddtemp
Utgången här visar att Systemd skapade en symlink för att säga till sig själv att starta Hddtemp när din dator går igenom startprocessen. Använd gärna genvägen i framtiden:
sudo systemctl enable --now unit
för att både aktivera och starta en enhet i ett kommando.
Nu kan du inaktivera Hddtemp lika enkelt:
sudo systemctl disable hddtemp
Om du någonsin är osäker på om en enhet är aktiverad eller inte kan du köra sudo systemctl is-enabled unit
att få reda på.
Du kan nu ta bort Hddtemp från din dator om du inte vill ha det runt.
Slutsats
Dessa kommandon är slutresultatet av den komplexa maskinen som är Systemd. Älskar det eller hatar det, det kan inte förnekas att om du använder Systemd kommer dessa kommandon att vara användbara för hanteringen av program på din dator.
Kolla in avsnittet ”COMMANDS” på Systemctl-mansidan med man systemctl
. Du hittar samma kommandon – starta, stoppa, aktivera, inaktivera – tillsammans med många andra som är lika enkla att använda men kommer att gräva djupare än dessa grundläggande exempel som visas här.