Den engelske versjonen av denne artikkelen er fra: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. Om /etc/init.d Hvis du noen gang har brukt et Linux-system, har du hørt om init.d-mappen. Hva er egentlig denne katalogen til? Det gjør bare én ting til slutt, men det er ikke noe trivielt, det gjøres for hele systemet, så det er veldig viktig. init.d-katalogen inneholder mange start- og stoppskript for ulike tjenester i systemet. Den styrer alt fra acpid til x11-common. Selvfølgelig er init.d langt fra så enkelt. (Oversetterens merknad: ACPID er en ny strømstyringsstandard for Linux-operativsystemer; X11 kalles også X vindussystem, X vindussystem (X11 eller X) er et vindussystem med bitmap-visning. Det er et standard verktøysett og protokoll for å bygge grafiske brukergrensesnitt på Unix og Unix-lignende operativsystemer, samt OpenVMS, og kan brukes for nesten alle moderne operativsystemer. Når du ser på /etc-katalogen, vil du finne mange kataloger som finnes i form av rc#.d (hvor # representerer et spesifisert initialiseringsnivå, intervallet er 0~6). Under disse katalogene finnes det mange skript som styrer prosessen. Disse skriftene starter enten med en "K" eller en "S". Skript som starter med K kjøres før skript som starter med S. Hvor disse skriptene plasseres, avgjør når de begynner å kjøre. Mellom disse katalogene fungerer systemtjenester sammen som en sunn maskin. Men noen ganger vil du starte eller drepe en prosess rent uten å bruke kill- eller killall-kommandoene. Det er her /etc/init.d kommer godt med! Hvis du bruker et Fedora-system, kan du finne denne katalogen: /etc/rc.d/init.d. Faktisk gjør den det samme uansett hvor du legger init.d. For å kunne bruke skript i init.d-katalogen trenger du root- eller sudo-privilegier. Hvert skript kjøres som en kommando, som er strukturert omtrent som følger: /etc/init.d/command-alternativ Comand er den faktiske kommandoen som kjøres, og alternativene kan være som følger: Start stopp Lad om Start på nytt Kraft-omlading I de fleste tilfeller bruker du start-, stopp- og start-alternativene. For eksempel, hvis du vil slå av nettverket, kan du bruke en kommando som denne:
/etc/init.d/networking stopp Et annet eksempel er at du endrer nettverksinnstillingene og må starte nettverket på nytt. Du kan bruke kommandoer som dette: /etc/init.d/networking-restart De mest brukte initialiseringsskriptene i init.d-katalogen er:
Nettverksbygging Samba Apache2 FTPD SSHD Duehus MySQL Selvfølgelig kan du ha andre mer vanlige skript, avhengig av hvilket Linux-operativsystem du har installert. 2. Om /etc/rc.local rc.local er også et skript jeg bruker mye. Skriptet kjøres etter at systeminitialiseringsnivå-skriptet er kjørt, så det er trygt å legge til skriptet du vil kjøre etter at systemet har startet opp. Et vanlig tilfelle er at du kan legge til et NFS-mount/mount-skript til det. Du kan også legge til noen skriptkommandoer for feilsøking inne. For eksempel har jeg opplevd denne situasjonen hvor samba-tjenesten alltid ikke fungerer som den skal, og inspeksjonen viser at samba burde ha startet og kjørt under systemoppstart, det vil si at samba-daemon-konfigurasjonen sikrer at denne funksjonen utføres korrekt. I dette tilfellet gidder jeg vanligvis ikke å bruke så mye tid på å lete etter hvorfor, jeg trenger bare å legge til denne linjen i /etc/rc.local-skriptet: /etc/init.d/samba start På denne måten ble problemet med SAMBA-tjenesteunntak løst med suksess.
3. Sammendrag Linux er fleksibelt. På grunn av fleksibiliteten kan vi alltid finne mange forskjellige måter å løse det samme problemet på. Eksempelet med å starte en systemtjeneste er et godt eksempel. Med skriptet i /etc/init.d-katalogen, kombinert med det kraftige verktøyet /etc/rc.local, kan du være trygg på at tjenesten din vil fungere feilfritt.
|