Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 11617|Antwoord: 0

[Linux] Begrijp de /etc/init.d-map en /etc/rc.local-scripts op Linux-systemen

[Link kopiëren]
Geplaatst op 13-11-2017 11:53:19 | | |
De Engelse versie van dit artikel is van: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Over /etc/init.d
     Als je ooit een Linux-systeem hebt gebruikt, dan heb je wel eens gehoord van de init.d-map. Waar is deze catalogus precies voor? Het doet uiteindelijk maar één ding, maar het is geen triviale zaak, het wordt voor het hele systeem gedaan, dus het is heel belangrijk. De init.d-directory bevat veel start- en stopscripts voor verschillende diensten van het systeem. Hij bestuurt alles van acpid tot x11-common. Natuurlijk is init.d verre van zo simpel. (Opmerking van de vertaler: ACPID is een nieuwe energiebeheerstandaard voor Linux-besturingssystemen; X11 wordt ook wel het X Window-systeem genoemd, en het X-Window-systeem (X11 of X) is een venstersysteem met bitmap-weergave. Het is een standaard toolkit en protocol voor het bouwen van grafische gebruikersinterfaces op Unix en Unix-achtige besturingssystemen, evenals OpenVMS, en kan worden gebruikt voor bijna alle moderne besturingssystemen.
    Als je naar de /etc-map kijkt, vind je veel mappen die bestaan in de vorm van rc#.d (waarbij # een gespecificeerd initialisatieniveau vertegenwoordigt, het bereik is 0~6). Onder deze directories zijn er veel scripts die het proces regelen. Deze scripts beginnen ofwel met een "K" of een "S". Scripts die met K beginnen, lopen vóór scripts die met S beginnen. Waar deze scripts worden geplaatst, bepaalt wanneer ze beginnen te draaien. Tussen deze mappen werken systeemservices samen als een gezonde machine. Soms wil je echter een proces schoon starten of doden zonder de kill- of killall-commando's te gebruiken. Daar komt /etc/init.d goed van pas!
    Als je een Fedora-systeem gebruikt, kun je deze map vinden: /etc/rc.d/init.d. Eigenlijk doet het hetzelfde, waar je init.d ook plaatst.
     Om scripts in de init.d-map te kunnen gebruiken, heb je root- of sudo-rechten nodig. Elk script wordt uitgevoerd als een commando, dat ongeveer als volgt is opgebouwd:
     /etc/init.d/commando-optie
     Comand is het daadwerkelijke commando dat wordt uitgevoerd, en de opties kunnen als volgt zijn:
Start
Stop
Herladen
Herstart
Force-herladen
       In de meeste gevallen gebruik je de start-, stop- en herstartopties. Als je bijvoorbeeld het netwerk wilt uitschakelen, kun je een commando als volgt gebruiken:
     
         /etc/init.d/networking stop
        Een ander voorbeeld is dat je je netwerkinstellingen verandert en je netwerk opnieuw moet opstarten. Je kunt commando's gebruiken zoals deze:
        /etc/init.d/networking herstart
        De meest gebruikte initialisatiescripts in de init.d-map zijn:
      
Netwerken
Samba
Apache2
FTPD
sshd
Duivenkamp
MySQL
         Natuurlijk kun je ook andere, meer gebruikte scripts hebben, afhankelijk van welk Linux-besturingssysteem je hebt geïnstalleerd.
2. Over /etc/rc.local
      rc.local is ook een script dat ik veel gebruik. Het script wordt uitgevoerd nadat het systeeminitialisatie-niveau script is uitgevoerd, dus het is veilig om het script toe te voegen dat je wilt uitvoeren nadat het systeem is opgestart. Een veelvoorkomend geval is dat je er een NFS mount/mount-script aan kunt toevoegen. Je kunt ook enkele scriptcommando's toevoegen voor het debuggen binnenin. Ik ben bijvoorbeeld deze situatie tegengekomen waarbij de samba-service altijd niet goed functioneert, en de inspectie laat zien dat samba tijdens het opstarten van het systeem gestart en uitgevoerd had moeten worden, dat wil zeggen, de samba-daemonconfiguratie zorgt ervoor dat deze functie correct wordt uitgevoerd. In dit geval besteed ik meestal niet veel tijd aan het zoeken waarom, ik hoef alleen deze regel toe te voegen aan het /etc/rc.local-script:
          /etc/init.d/samba start
     Op deze manier werd het probleem van de SAMBA-service-uitzondering met succes opgelost.

3. Samenvatting
         Linux is flexibel. Door de flexibiliteit kunnen we altijd veel verschillende manieren vinden om hetzelfde probleem op te lossen. Het voorbeeld van het starten van een systeemdienst is een goed voorbeeld. Met het script in de directory /etc/init.d, gecombineerd met de krachtige tool /etc/rc.local, kun je er zeker van zijn dat je dienst vlekkeloos draait.




Vorig:Asp.Net Komt voor in EF6.0 niet gevonden met vaste naam "System.Data.SqlClient"...
Volgend:MySQL-configuratiebestand my.cnf wordt in detail uitgelegd
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com