Sådan listes tjenester på Linux

Som systemadministrator har du sandsynligvis at gøre med mange tjenester hver dag.

På Linux , tjenester bruges til mange forskellige formål.

De kan bruges til at starte en SSH-server på din maskine, eller de kan udføre nogle operationer på en bestemt time eller dag.

Uanset om du bruger en Debian-baseret distribution eller en RedHat en, forespørgselstjenester er meget ens.

I betragtning af den distribution, du bruger, og mere specifikt initialiseringssystemet (init eller systemd), skal du muligvis bruge forskellige kommandoer.

I denne vejledning lærer du hvordan du kan give din systemadministrator en liste over alle tjenester på din Linux-maskine.

Indholdsfortegnelse

Bestem systemadministrator brugt

Som du sikkert ved, bruger nylige distributioner Systemd systemadministrator.

Det har dog ikke altid været tilfældet: Tidligere brugte de fleste distributioner SysVinit systemadministrator.

Som en konsekvens er der virkelig to måder at administrere dine tjenester på et Linux-system.

Før du lærer kommandoerne om at liste tjenester, skal du kende den systemadministrator, du bruger i øjeblikket.

For at bestemme din nuværende systemadministrator er den nemmeste måde at bruge ” pstree ”kommando og for at kontrollere den første proces, der nogensinde køres på dit system.

Hvis du ser “systemd”, betyder det selvfølgelig, at du i øjeblikket bruger systemd. Men hvis du ser ” init “, betyder det, at du bruger SysVinit.

På Ubuntu 14.04, der stadig bruger det gamle init-system, kan din” pstree “se sådan ud.

Liste over tjenester ved hjælp af systemctl

Den nemmeste måde at liste tjenester på Linux på, når du er på et systemd-system, er at bruge kommandoen “systemctl” efterfulgt af “liste-enheder”. Du kan angive indstillingen “–type = service” for kun at begrænse resultaterne til tjenester.

Som standard viser denne kommando dig kun de tjenester, der er aktive, eller de tjenester, der har fejlet på dit system. I skærmbilledet ovenfor er de fleste tjenester aktive, men logrotate (markeret med rødt) er markeret som mislykket.

Awesome, du lærte, hvordan du nemt kan liste dine tjenester på en Linux-server.

Som du måske har bemærket, havde du ikke adgang til alle tjenester: hvad med inaktive tjenester? Hvad med tjenester, der ikke blev indlæst af systemd ved opstart?

Liste over alle tjenester på Linux ved hjælp af listenheder

For at kunne liste alle tjenester, hvilket betyder aktive og inaktive, skal du bruge kommandoen “systemctl list-units” efterfulgt af indstillingen “–all”.

På samme måde kan du kun begrænse resultaterne til tjenester ved hjælp af typefilteret.

Som du kan se, blev der også angivet inaktive tjenester, som kan være praktisk, hvis du bare skrev din tjeneste og passede den på listen.

I dette tilfælde vises kun indlæste tjenester. Ved opstart indlæser systemd enhedsfiler, og det kan vælge ikke at indlæse en bestemt tjeneste, hvis den finder ud af, at den ikke vil blive brugt af systemet.

Som en konsekvens er der en reel forskel mellem “indlæst ”Og” installerede ”tjenester. “Installerede” tjenester betyder, at enhedsfiler kan findes i de tilsvarende stier.

Liste over tjenester efter stat

I nogle tilfælde er du muligvis kun interesseret i tjenester, der er mislykkede. For det kan du angive tilstanden som du leder efter som en mulighed for systemctl-kommandoen.

Hvor “tilstand” kan være en af følgende værdier: aktiv, inaktiv, aktiverende, deaktivering, mislykket, ikke fundet eller død.

Hvis vi f.eks. kun er interesseret i “mislykkede” tjenester, vil vi køre følgende kommando

Liste over alle servicefiler ved hjælp af liste-enhedsfiler

Endelig, hvis du er interesseret i “indlæst”, “installeret”, “deaktiveret” samt “aktiveret” servicefiler, er der en anden kommando det kan være ret praktisk.

For at liste alle tilgængelige servicefiler skal du bruge kommandoen “systemctl” efterfulgt af “list-unit-files”. Eventuelt kan du angive typen ved hjælp af indstillingen “–type = service”.

Alternativt kan du bruge kommandoen “grep” for at søge efter specifikke stier på dit system, der kan indeholde servicefiler.

Tillykke, du lærte, hvordan du kan liste tjenester, hvis dit system bruger systemd!

Liste over tjenester, der bruger service

Den nemmeste måde at liste tjenester på Linux på, når du er på et SystemV init-system, er at bruge ” service ”-kommando efterfulgt af” –status-all “-indstilling. På denne måde får du en komplet liste over tjenester på dit system.

Som du kan se, er hver tjeneste angivet foran symboler under parentes. Disse symboler betyder:

  • +: betyder, at servicen e kører;
  • -: betyder, at tjenesten slet ikke kører;
  • ? : betyder, at Ubuntu ikke var i stand til at fortælle, om tjenesten kører eller ej.

Så hvorfor skal nogle tjenester fortælle, om de kører eller ikke, og andre ikke er i stand til det?

Det hele handler om implementeringen af init-scriptet. I nogle scripts, f.eks. Udev-scriptet, er du i stand til at se, at kommandoen “status” implementeres.

Dette er ikke tilfældet for scriptet” dns-clean “for eksempel, hvilket er grunden til, at du har et spørgsmål markér, når du forespørger om denne tjeneste.

Liste over SysVinit-tjenester i mapper

En anden måde at liste den aktuelle liste over tjenester på er at bruge kommandoen “ls” i mapperne, der indeholder alle scripts på et Linux-system, nemlig “/etc/init.d”.

Konklusion

I denne vejledning lærte du, hvordan du nemt kan liste tjenester på et Linux-system om du bruger systemd eller SysVinit.

Hvis du er interesseret i at oprette dine egne tjenester, anbefaler vi, at du kigger på følgende ressourcer. De kan være virkelig nyttige for at opnå det korrekt.

  • Skrivning af et startscript til init-systemer;
  • Start af tjenester ved opstart ved hjælp af systemd;

Hvis du er interesseret i Linux systemadministration, har vi et komplet afsnit om dette emne på hjemmesiden, så sørg for at tjekke det ud.

Ikoner lavet af Freepik fra FlatIcon

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *