Die englische Version dieses Artikels stammt von: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. Über /etc/init.d Wenn du jemals ein Linux-System benutzt hast, hast du vom init.d-Verzeichnis gehört. Wofür genau ist dieser Katalog da? Am Ende des Tages macht es nur eine Sache, aber es ist keine triviale Sache, sie wird für das gesamte System erledigt, daher ist sie sehr wichtig. Das init.d-Verzeichnis enthält viele Start- und Stoppskripte für verschiedene Systemdienste. Es steuert alles von acpid bis x11-common. Natürlich ist init.d alles andere als so einfach. (Anmerkung des Übersetzers: ACPID ist ein neuer Energiemanagementstandard für Linux-Betriebssysteme; X11 wird auch X-Fenstersystem genannt, X-Fenstersystem (X11 oder X) ist ein Fenstersystem mit Bitmap-Anzeige. Es ist ein Standard-Toolkit und Protokoll zum Aufbau grafischer Benutzeroberflächen auf Unix- und Unix-ähnlichen Betriebssystemen sowie OpenVMS und kann für fast alle modernen Betriebssysteme verwendet werden. Wenn man sich das /etc-Verzeichnis ansieht, findet man viele Verzeichnisse, die in der Form rc#.d existieren (wobei # eine bestimmte Initialisierungsstufe repräsentiert, der Bereich ist 0~6). Unter diesen Verzeichnissen gibt es viele Skripte, die den Prozess steuern. Diese Schriften beginnen entweder mit einem "K" oder einem "S". Skripte, die mit K beginnen, laufen vor Skripten, die mit S beginnen. Wo diese Skripte platziert werden, bestimmt, wann sie zu laufen beginnen. Zwischen diesen Verzeichnissen arbeiten Systemdienste wie eine gesunde Maschine zusammen. Manchmal möchte man jedoch einen Prozess sauber starten oder besiegen, ohne die Befehle Töten oder Töten zu benutzen. Genau hier kommt /etc/init.d zum Vorteil! Wenn Sie ein Fedora-System verwenden, finden Sie dieses Verzeichnis: /etc/rc.d/init.d. Tatsächlich passiert es überall dasselbe, wo man init.d eingibt. Um Skripte im init.d-Verzeichnis verwenden zu können, benötigen Sie Root- oder Sudo-Rechte. Jedes Skript wird als Befehl ausgeführt, der ungefähr wie folgt aufgebaut ist: /etc/init.d/Befehlsoption Comand ist der eigentliche Befehl, der ausgeführt wird, und die Optionen können wie folgt sein: Start Stopp Nachladen Neustart Kraftnachladen In den meisten Fällen nutzt du die Start-, Stopp- und Neustartoptionen. Wenn Sie zum Beispiel das Netzwerk abschalten möchten, können Sie einen Befehl wie diesen verwenden:
/etc/init.d/networking stopp Ein weiteres Beispiel ist, dass du deine Netzwerkeinstellungen änderst und dein Netzwerk neu starten musst. Du kannst Befehle wie diese verwenden: /etc/init.d/networking-Neustart Die häufig verwendeten Initialisierungsskripte im init.d-Verzeichnis sind:
Netzwerke Samba apache2 FTPD sshd Taubenhaus MySQL Natürlich haben Sie vielleicht auch andere, häufiger verwendete Skripte, je nachdem, welches Linux-Betriebssystem Sie installiert haben. 2. Über /etc/rc.local rc.local ist auch ein Skript, das ich viel benutze. Das Skript wird ausgeführt, nachdem das Systeminitialisierungslevel-Skript ausgeführt wurde, daher ist es sicher, das gewünschte Skript nach dem Systemstart hinzuzufügen. Ein häufiger Fall ist, dass man ein NFS-Mount/Mount-Skript hinzufügen kann. Du kannst auch einige Skriptbefehle zum Debuggen hinzufügen. Zum Beispiel habe ich diese Situation erlebt, in der der Samba-Dienst immer nicht richtig funktioniert und die Inspektion zeigt, dass Samba beim Systemstart gestartet und ausgeführt werden sollte, das heißt, die Samba-Daemon-Konfiguration stellt sicher, dass diese Funktion korrekt ausgeführt wird. In diesem Fall verbringe ich normalerweise nicht viel Zeit damit, warum das so ist, ich muss nur diese Zeile zum /etc/rc.local-Skript hinzufügen: /etc/init.d/samba starten Auf diese Weise wurde das Problem der SAMBA-Service-Ausnahme erfolgreich gelöst.
3. Zusammenfassung Linux ist flexibel. Dank seiner Flexibilität finden wir immer viele verschiedene Wege, dasselbe Problem zu lösen. Das Beispiel für den Start eines Systemdienstes ist ein gutes Beispiel. Mit dem Skript im /etc/init.d-Verzeichnis, kombiniert mit dem leistungsstarken Tool /etc/rc.local, können Sie sicher sein, dass Ihr Service einwandfrei läuft.
|