Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 11617|Svar: 0

[Linux] Förstå katalogen /etc/init.d och /etc/rc.local-skripten på Linux-system

[Kopiera länk]
Publicerad på 2017-11-13 11:53:19 | | |
Den engelska versionen av denna artikel är från: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Om /etc/init.d
     Om du någonsin har använt ett Linux-system har du hört talas om katalogen init.d. Vad är den här katalogen egentligen till för? Det gör bara en sak i slutändan, men det är inte en trivial sak, det görs för hela systemet, så det är mycket viktigt. Katalogen init.d innehåller många start- och stoppskript för olika tjänster i systemet. Den styr allt från acpid till x11-common. Självklart är init.d långt ifrån så enkelt. (Översättarens anmärkning: ACPID är en ny standard för energihantering för Linux-operativsystem; X11 kallas också X Window-system, X Window-systemet (X11 eller X) är ett fönstersystem med bitmap-visning. Det är en standardverktygslåda och protokoll för att bygga grafiska användargränssnitt på Unix och Unix-liknande operativsystem, samt OpenVMS, och kan användas för nästan alla moderna operativsystem.
    När du tittar i katalogen /etc hittar du många kataloger som finns i form av rc#.d (där # representerar en specificerad initialiseringsnivå, intervallet är 0~6). Under dessa kataloger finns många manus som styr processen. Dessa skriftsystem börjar antingen med ett "K" eller ett "S". Skript som börjar på K körs före skript som börjar på S. Var dessa skript placeras avgör när de börjar köras. Mellan dessa kataloger fungerar systemtjänster tillsammans som en sund maskin. Men ibland vill du starta eller döda en process rent utan att använda kommandona döda eller döda. Det är där /etc/init.d kommer till nytta!
    Om du använder ett Fedora-system kan du hitta denna katalog: /etc/rc.d/init.d. Faktiskt gör den samma sak oavsett var du lägger in init.d.
     För att kunna använda skript i init.d-katalogen behöver du root- eller sudo-behörigheter. Varje skript körs som ett kommando, som är ungefär strukturerat enligt följande:
     /etc/init.d/kommandoalternativ
     Comand är det faktiska kommandot som körs, och alternativen kan vara följande:
Start
Stanna
Ladda om
Starta om
Kraftomladdning
       I de flesta fall använder du start-, stopp- och omstartsalternativen. Till exempel, om du vill stänga av nätverket kan du använda ett kommando som detta:
     
         /etc/init.d/networking stopp
        Ett annat exempel är att du ändrar dina nätverksinställningar och behöver starta om ditt nätverk. Du kan använda kommandon som dessa:
        /etc/init.d/nätverksomstart
        De vanligaste initialiseringsskripten i init.d-katalogen är:
      
Nätverkande
Samba
Apache2
ftpd
sshd
Duvkår
MySQL
         Självklart kan du ha andra mer vanligt använda skript, beroende på vilket Linux-operativsystem du har installerat.
2. Om /etc/rc.local
      rc.local är också ett skript jag använder mycket. Skriptet körs efter att systeminitialiseringsnivåskriptet har körts, så det är säkert att lägga till det skript du vill köra efter att systemet startat upp. Ett vanligt fall är att du kan lägga till ett NFS-mount/mount-skript till det. Du kan också lägga till några skriptkommandon för felsökning inuti. Till exempel har jag stött på denna situation där sambatjänsten alltid inte fungerar korrekt, och inspektionen visar att samba borde ha startat och körts under systemstart, det vill säga att samba-daemonkonfigurationen säkerställer att denna funktion utförs korrekt. I det här fallet brukar jag inte bry mig om att lägga så mycket tid på att leta efter varför, jag behöver bara lägga till den här raden i /etc/rc.local-skriptet:
          /etc/init.d/samba start
     På detta sätt löstes problemet med SAMBA service exception framgångsrikt.

3. Sammanfattning
         Linux är flexibelt. Tack vare dess flexibilitet kan vi alltid hitta många olika sätt att lösa samma problem. Exemplet med att starta en systemtjänst är ett bra exempel. Med skriptet i katalogen /etc/init.d, tillsammans med det kraftfulla verktyget /etc/rc.local, kan du vara säker på att din tjänst kommer att fungera felfritt.




Föregående:Asp.Net Förekommer i EF6.0 som inte hittas med fast namn "System.Data.SqlClient"...
Nästa:MySQL-konfigurationsfilen my.cnf förklaras i detalj
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com