Hur man hanterar Systemd-tjänster på ett Linux-system
Systemd används nu som standard i de flesta Linux-distributioner, från Fedora och Red Hat till Ubuntu, Debian, openSUSE och Arch. Systemctl-kommandot låter dig få information om systemds status och kontroll av körtjänster.
Trots kontroversen introducerar detta åtminstone en del standardisering över Linux-distributioner. Samma kommandon tillåter dig att hantera tjänster på samma sätt på någon Linux-distribution med systemd.
Notera: För att ändra din systemkonfiguration på Linux-distribution som Ubuntu som använder sudo måste du prefixa kommandona här med sudo. På andra Linux-distributioner måste du bli root-användaren med su kommando först.
Kontrollera om ditt Linux-system använder Systemd
Om du inte är säker på om din Linux-distribution använder systemd, öppna ett Terminal-fönster och kör följande kommando. Detta visar dig versionsnumret för systemd på ditt Linux-system, om det har systemd installerat:
systemd-versionen
Analysera startprocessen
Systemd-analys-kommandot låter dig visa information om din startprocess, t.ex. hur lång tid det tog och vilka tjänster (och andra processer) som tillagde mest tid till startprocessen.
Om du vill visa information om startprocessen generellt, kör det här kommandot:
SYSTEMD-analysera
För att se hur lång tid varje process tog för att starta, kör det här kommandot:
systemd-analysera skulden
Visa enheter
Systemd använder "enheter", som kan vara tjänster (.service), monteringspunkter (.mount), enheter (.device) eller uttag (.socket). Samma systemctl-kommando hanterar alla dessa typer av enheter.
Så här visar du alla tillgängliga enhetsfiler på ditt system:
systemctl list-unit-filer
För att lista alla körenheter:
systemctl list-enheter
För att lista alla misslyckade enheter:
systemctl-misslyckades
Hantera tjänster
För att se en lista över aktiverade och inaktiverade tjänster använder du samma systemctl-kommando som ovan, men berättar att det endast är listatjänster:
systemctl list-unit-files -type = service
Systemetc-kommandot låter dig starta, stoppa eller starta om en tjänst. Du kan också berätta för en tjänst att "ladda om" dess konfiguration.
Statuskommandot är den enda åtgärden som kommer att skrivas ut och matas ut till terminalen. De andra kommandona kommer tyst att träda i kraft.
systemctl start namn.service
systemctl stop name.service
systemctl omstart name.service
Systemet uppdaterar namn.service
systemctl status name.service
Använd kommandot systemctl enable för att systemd automatiskt starta en tjänst (eller annan typ av enhet) vid startup. Systemet deaktivera kommandot inaktiverar en tjänst och stoppar det från att starta automatiskt med din dator.
systemctl enable name.service
systemctl inaktivera namn.service
Du kan "maska" en tjänst eller annan enhet för att förhindra att den startar alls. Du måste avmaskera det innan det kan börja i framtiden:
systemtask mask name.service
Systemet Unmask Name.service
Det finns mycket mer att systemd och dess olika kommandon än det här förstås. Systemd erbjuder en rad olika kommandon för strömstyrning och strömstyrning för att stänga av, starta om, dvale och på annat sätt kontrollera systemets strömtillstånd. Du kan skriva dina egna enhetsfiler för att skapa tjänster och montera punkter eller redigera befintliga enhetsfiler.
Systemd erbjuder också "mål", som liknar körleder, men olika. I stället för ett nummer har målen namnen - det är möjligt för systemd att vara i flera mållägen samtidigt. Systemd erbjuder också sin egen systemtidskrift, som kan nås med journalctl-kommandot. Som standard lagras systemloggar i binärformat, men du kan växla till textloggformat, om du föredrar det.
Arch Linux wiki har mer djupgående information om systemd, och det mesta av informationen gäller systemd på alla Linux-distributioner. Du bör också kolla din egen Linuxdistributions systemdokumentation för mer information.
Bildkredit: Bert Heymans på Flickr