29Aug

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 lite standardisering över Linux-distributioner. Samma kommandon låter dig hantera tjänster på samma sätt på någon Linux-distribution med systemd.

Obs! : 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 -kommandot 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 -version

Analysera startprocessen

Systemd-analys-kommandot låter dig visa information om din startprocess, t.ex. hur lång tid det ärtog och vilka tjänster( och andra processer) tillagde mest tid till startprocessen.

För att visa information om startprocessen generellt, kör det här kommandot:

systemd-analys

För att se hur lång tid varje process tog för att starta, kör det här kommandot:

systemd-analyser skuld

View Units

Systemd använder "enheter" somkan vara tjänster( .service), monteringspunkter( .mount), enheter( .device) eller uttag( .socket).Samma systemctl-kommando hanterar alla dessa typer av enheter.

För att visa alla tillgängliga enhetsfiler på ditt system:

systemctl list-unit-filer

För att lista alla enheter:

systemctl list-enheter

För att lista alla felaktiga enheter:

systemctl -failed

Hantera tjänster

För att se en lista överaktiverade och inaktiverade tjänster, använder du samma systemctl-kommando som ovan, men berättar bara att lista tjänster:

systemctl list-unit-files -type = tjänst

Systemctl-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 stopp namn.service

systemctl omstart name.service

systemctl reload name.service

systemctl status name.service

Använd kommandot systemctl enable att systemd automatiskt starta en tjänst( eller annan typ av enhet)vid uppstart. 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 starta i framtiden:

systemctl mask name.service

systemctl 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ömhantering och stänger av, omstartar, vilar och kontrollerar systemets strömtillstånd på annat sätt. Du kan skriva egna filer 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 namn - det är möjligt för systemd att vara i flera målstater samtidigt. Systemd erbjuder även 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.

Bildkrediter: Bert Heymans på Flickr