Tjenester Oversikt: Whats Really kjører på Linux Machine

En av de utrolige en multi-tasking operativsystem som Linux er muligheten til å kjøre en rekke programmer og tjenester i bakgrunnen. Hvis du noen gang har sett en oppstart skjermen, har du sikkert sett noen av meldingene går av som alle de ulike tjenestene er lastet. Forstå hva som skjer bak kulissene vil virkelig komme til nytte når du trenger å finne ut hvorfor noe ikke fungerer. Du trenger ikke å være en Linux guru å tolke en loggfil, så lenge du vet hva du skal se etter.

Denne opplæringen vil gå over grunnleggende om Linux oppstart eller oppstartsprosessen og prøve å legge et fundament for å hjelpe deg å forstå hva som skjer. Vi vil ta en titt på noen av de viktigste konfigurasjonsfiler og hvordan du kan gå om å gjøre endringer eller tilføyelser til å passe dine egne behov. Eksempler på ulike måter å starte og stoppe tjenester vil bli vist for opensuse og Ubuntu.

The Boot Sequence

Hver Linux system oppnår i hovedsak de samme trinnene under oppstartsprosessen. Når oppstartslasteren tar over fra BIOS /Master Boot Record (MBR), utfører det kommandoer i en bestemt rekkefølge basert på noe som kalles run nivå. Kjør nivå 0 er egentlig ikke noe løping eller datamaskinen stanset. Kjør nivå 1 er det første nivået der datamaskinen begynner utfører instruksjoner og er definert som enkeltbrukermodus. Kjør nivå 2 er det første nivået hvor multi-user /multi-tasking foregår.

kontroll over hvilke tjenester komme i gang skjer gjennom en rekke skript lagret i /etc/init.d katalogen. Mens det er noen forskjell i navngiving av disse skriptene mellom distribusjoner, er den grunnleggende funksjonaliteten den samme. Debian-baserte systemer vil utføre /etc/init.d/rcS mens Redhat-baserte systemer vil kjøre /etc/rc.d/rc.sysinit. Det lokale systemet oppstartskonfigurasjonsfilen heter /etc/rc.d/rc.local. Dette er hvor du vil plassere noen kommandoer for å starte en tjeneste eller kjøre et program ikke er en del av den normale oppstartsprosessen.

Utførelse av rc.d filer styres av /etc /inittab (/etc /event.d /rc-standard i Ubuntu). Dette skriptet forsøker å gjette hva standard løp nivået bør være, og da begynner det aktuelle skriptet. Utførelse orden blir viktig når du trenger for å garantere at en bestemt prosess startes før en annen.

Daemons

Alle systemtjenester kjøres som et barn prosess fra init
program vanligvis gitt prosess ID av 1 (PID = 1). Navnet nissen kom fra MIT-prosjektet MAC team og ble tatt fra Maxwells "demon", som var en innbilt vesen som stadig jobber i bakgrunnen sortering molekyler. Prosesser med en avslutning med bokstaven d, som cupsd, eller med ordet daemon, er bakgrunnsprogrammer som reagerer på bestemte hendelser som for eksempel å skrive ut et dokument (cupsd er Common Unix Printing Services Daemon).

De fleste daemons er i gang som en del av den normale oppstartsprosessen. Noen krever stoppe og starte som nettverkstjenester. Du vanligvis starte /stoppe en prosess ved å kjøre et skript i /etc/init.d katalogen som i:

 # /etc/init.d/networking Stopp # /etc/init.d/networking restart < p> Du kan oppnå det samme gjennom et grafisk grensesnitt som vil avhenge av fordelingen du bruker. 

Opensuse

Det er flere måter å håndtere tjenester fra Opensuse inkludert chkconfig kommando, RC kommando eller YaST. Den chkconfig kommandoen tilbyr en rekke alternativer for å legge til, konfigurering, sletting, starte og stoppe ethvert system service. Du kan også få en oversikt over den nåværende tilstand av alle systemtjenester ved å skrive chkconfig på et rotsystem teksten. Skrive chkconfig redigere kommandoen bringer opp en liste over tjenester og deres nåværende tilstand i en VI redigeringsvinduet.

YaST gir et grafisk grensesnitt (se figur 1) for å konfigurere systemtjenester i enten en enkel eller ekspertmodus. Forskjellen mellom de to er at ekspertmodus kan du stille kjøringsnivåer at en bestemt tjeneste er startet eller stoppet i. Det er en README fil i /etc/init.d katalog med en god beskrivelse av SuSE boot konseptet og skript som blir henrettet.

Ubuntu

Administrerende tjenester fra en Debian-basert distribusjon skjer enten med tjenesten kommando eller gjennom tjenestene applet under Systemadministrasjon menyen. Utfører tjenesten kommando i et terminalvindu med status-all alternativet viser alle systemtjenester og deres nåværende tilstand. Det viser også nøyaktig hvordan å starte /stoppe tjenesten eller utføre en omstart eller en reload. Dette er veldig nyttig når du ikke kan huske det nøyaktige syntaks eller spesifikke navnet på en tjeneste.

Ubuntu tjenester administrasjonsverktøyet (se figur 2) gir et enkelt grafisk grensesnitt med en liste over de definerte tjenester og et avkrysnings som viser om tjenesten er aktivert eller ikke. Denne dialogen må låses opp med systempassordet til å tillate noen endringer skal gjøres. Den eneste ulempen med denne metoden er at du ikke vil se alle mulige tjeneste som kommandolinjetjenestefunksjonen vil vise.

Bottom Line

Forstå hvordan bakgrunnsprosesser kommer i gang og hvordan å stoppe /starte eller starte en prosess er en nyttig ferdighet å ha for alle Linux-bruker. Denne opplæringen har knapt riper i overflaten av alle bakgrunnsprosesser. The Linux Documentation Project har et vell av informasjon om de ulike tjenestene og hvordan å gjøre dem oppføre seg.

Ytterligere lesing på de ulike fagområdene skal bidra til å forklare mer av detaljene ikke er dekket i denne artikkelen. En tidligere Linux.com artikkel har en god oversikt over de ulike kjøringsnivåer og hva som skjer i hvert nivå. Den har også en god beskrivelse av de rc.d skript. Wikipedia er en annen kilde til informasjon for å lese opp på Linux oppstartsprosessen.