Installation und Verwendung von CentOS chkconfig

1. Einleitung

Der Befehl chkconfig ist ein häufig verwendeter Befehl, und chkconfig wird häufig in Befehlszeilenoperationen verwendet. Es kann problemlos Systemdienste auf verschiedenen Ausführungsebenen festlegen und abfragen. Dies muss gut beherrscht werden. Nachdem Sie damit vertraut sind, können Sie Ihre Startup-Dienste problemlos verwalten.

Hinweis: Denken Sie daran, dass chkconfig einen Dienst nicht sofort automatisch deaktiviert oder aktiviert, sondern lediglich den symbolischen Link ändert.

2. CentOS installiert chkconfig

Wenn Linux nicht über den Befehl chkconfig verfügt, wird eine Meldung angezeigtbash: chkconfig: command not found

Linux hat keinen Grund für den Befehl chkconfig

  • Der Befehl chkconfig gehört zum Linux-Systembefehl readhat . Wenn das System zu einem Debina-System wie Ubuntu gehört, gibt es keinen solchen Befehl.

  • Wenn das System zum Readhat-System gehört (z. B. Centos), aber nicht über diesen Befehl verfügt, wurde möglicherweise das chkconfig-Paket nicht installiert.

Linux bietet keine Lösung für den Befehl chkconfig

  1. Wenn ein Netzwerk vorhanden ist, können Sie den yum-Befehl zur Installation direkt ausführen:
yum install chkconfig

Lecker, installiere chkconfig

  1. Wenn kein Netzwerk vorhanden ist, können Sie das RPM-Paket von chkconfig von der Installations-CD kopieren und zur Installation den RPM-Befehl ausführen

Unter der Annahme, dass es in /tmp/chkconfig-1.3.30.2-2.el5.x86_64.rpm wiederhergestellt wird, lautet der Befehl wie folgt:

rpm -ivh /tmp/chkconfig-1.3.30.2-2.el5.x86_64.rpm

Dann kann der Befehl chkconfig verwendet werden.

3. Ubuntu-Installation

apt-get install sysv-rc-conf
cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig

4. Linux-Runlevels

  • 0: Das System befindet sich im Shutdown-Zustand. Die Standardbetriebsebene des Systems kann nicht auf 0 gesetzt werden , da es sonst nicht normal gestartet werden kann und die Maschine heruntergefahren wird.

  • 1: Einzelbenutzer-Arbeitsstatus, Root-Berechtigung, zur Systemwartung verwendet, Remote-Anmeldung ist verboten, genau wie die Anmeldung im abgesicherten Modus unter Windows.

  • 2: Mehrbenutzerstatus, keine NFS-Unterstützung.

  • 3: Beenden Sie den Mehrbenutzermodus mit NFS und rufen Sie nach der Anmeldung den Befehlszeilenmodus der Konsole auf.

  • 4: Das System wird nicht verwendet und ist für den allgemeinen Gebrauch reserviert. In einigen Sonderfällen kann es für bestimmte Aufgaben verwendet werden. Wenn beispielsweise der Akku des Laptops leer ist, können Sie in diesen Modus wechseln, um einige Einstellungen vorzunehmen.

  • 5: Rufen Sie nach der Anmeldung den grafischen GUI-Modus des XWindow-Systems auf.

  • 6: Das System wird normal heruntergefahren und neu gestartet. Die Standardbetriebsebene kann nicht auf 6 eingestellt werden , da es sonst nicht normal gestartet werden kann. Führen Sie init 6 aus und der Computer wird neu gestartet.

Prinzip des Runlevels:

  1. Im Verzeichnis /etc/rc.d/init.d gibt es viele Serverskriptprogramme, die im Allgemeinen als Dienste (Service) bezeichnet werden.
  2. Unter /etc/rc.d gibt es 7 Verzeichnisse mit dem Namen rcN.d, die den 7 Betriebsebenen des Systems entsprechen
  3. Es gibt einige symbolische Linkdateien im Verzeichnis rcN.d. Diese Linkdateien verweisen auf die Dienstskriptdateien im Verzeichnis init.d. Die Benennungsregel lautet K+nn+Dienstname oder S+nn+Dienstname, wobei nn ist eine zweistellige Zahl.
  4. Das System ruft das entsprechende rcN.d-Verzeichnis entsprechend der angegebenen Ausführungsebene auf und sucht in der Reihenfolge der Dateinamen nach den Linkdateien im Verzeichnis: Für Dateien, die mit K beginnen, beendet das System den entsprechenden Dienst, für Dateien, die mit beginnen S, das System startet den entsprechenden Dienst.
  5. Zeigen Sie den Runlevel an mit: runlevel
  6. Um andere Betriebsebenen aufzurufen: initN, wenn init3 in den Terminalmodus wechselt, wechselt init5 in den grafischen GUI-Modus
  7. Darüber hinaus wird init0 heruntergefahren und init6 startet das System neu.

Der Standard-Linux-Betriebslevel ist 3 oder 5. Wenn er 3 ist, befindet sich das System in einem Mehrbenutzerstatus; wenn er 5 ist, wird das XWindow-System ausgeführt.
Verschiedene Run-Level haben unterschiedliche Verwendungszwecke und sollten entsprechend Ihren unterschiedlichen Situationen eingestellt werden. Wenn beispielsweise das Root-Passwort verloren geht, kann es durch Booten des Computers im Einzelbenutzerstatus festgelegt werden. Geben Sie an der Lilo-Eingabeaufforderung nach dem Start Folgendes ein:init=/bin/shrw

Dadurch wird die Maschine in Runlevel 1 versetzt und das Root-Dateisystem als Lese-/Schreibzugriff bereitgestellt. Es besteht die gesamte Systemauthentifizierung, ermöglicht die Verwendung des passwd-Programms zum Ändern des Root-Passworts und startet dann in einem neuen Runlevel.

5. Detaillierte Erläuterung des Befehls chkconfig unter Linux

Der Befehl chkconfig wird hauptsächlich zum Aktualisieren (Starten oder Stoppen) und Abfragen der Run-Level-Informationen von Systemdiensten verwendet. Denken Sie daran, dass chkconfig einen Dienst nicht sofort automatisch deaktiviert oder aktiviert, sondern lediglich den symbolischen Link ändert.

Grammatik:

  • chkconfig --list [Name]
  • chkconfig --Name hinzufügen
  • chkconfig --del Name
  • chkconfig [–level <Levelcode>] [Systemdienste] [on|off|reset]

Syntaxerklärung:
  Wenn chkconfig ohne Parameter ausgeführt wird, wird die Nutzung angezeigt. Wenn Sie den Dienstnamen hinzufügen, prüfen Sie, ob der Dienst auf der aktuellen Ausführungsebene gestartet wird. Wenn ja, geben Sie true zurück, andernfalls geben Sie false zurück. Wenn nach dem Dienstnamen „on“, „off“ oder „reset“ angegeben wird, ändert chkconfig die Startinformationen des angegebenen Dienstes. „on“ und „off“ bedeuten, dass der Dienst gestartet bzw. gestoppt wird, und „reset“ bedeutet, dass die Startinformationen des Dienstes zurückgesetzt werden , unabhängig davon, was das betreffende Init-Skript angibt. Mit Ein- und Ausschaltern ist das System standardmäßig nur für die Ausführungsebenen 3, 4 und 5 gültig , das Zurücksetzen kann jedoch für alle Ausführungsebenen gültig sein.

  • –level<Levelcode> gibt an, in welcher Ausführungsebene der lesende Systemdienst geöffnet oder geschlossen werden soll.

Es ist zu beachten, dass es für jeden Runlevel nur ein Startskript bzw. Stoppskript geben kann. Beim Wechseln des Runlevels startet init weder den gestarteten Dienst neu, noch stoppt es den gestoppten Dienst erneut.

  • chkconfig --list: Zeigt die laufenden Statusinformationen (ein oder aus) aller Run-Level-Systemdienste an. Wenn ein Name angegeben wird, wird nur der Status des angegebenen Dienstes auf verschiedenen Runleveln angezeigt.

  • chkconfig --add name: Einen neuen Dienst hinzufügen. chkconfig stellt sicher, dass jeder Runlevel einen Start- (S) oder Kill-Eintrag (K) hat. Wenn es fehlt, wird es automatisch aus dem Standard-Init-Skript erstellt.

  • chkconfig --del name: löscht den Dienst und löscht den zugehörigen symbolischen Link aus /etc/rc[0-6].d.

  • chkconfig [–levellevels] Name: Legt fest, ob ein Dienst auf der angegebenen Ausführungsebene gestartet, gestoppt oder zurückgesetzt wird. Um beispielsweise den NFS-Dienst auf den Ausführungsebenen 3, 4 und 5 zu stoppen, lautet der Befehl wie folgt:

chkconfig --level 345 nfs off

Kein Runlevel angegeben:

chkconfig redis_6379 on
chkconfig --list

Ausgang:

redis_6379     	0:off	1:off	2:on	3:on	4:on	5:on	6:off
chkconfig redis_6380 on
chkconfig redis_6381 on
chkconfig --list

Ausgang:

redis_6379     	0:off	1:off	2:on	3:on	4:on	5:on	6:off
redis_6380      0:off	1:off	2:on	3:on	4:on	5:on	6:off
redis_6381      0:off	1:off	2:on	3:on	4:on	5:on	6:off

Runlevel-Datei:

Jeder von chkconfig verwaltete Dienst muss dem Skript unter der entsprechenden init.d zwei oder mehr Kommentarzeilen hinzufügen.

Die erste Zeile teilt chkconfig mit, welches Runlevel standardmäßig gestartet werden soll und welche Priorität das Starten und Stoppen hat. Wenn ein Dienst standardmäßig nicht auf einem Runlevel startet, verwenden Sie - anstelle des Runlevels.

Die zweite Zeile beschreibt den Service und kann zeilenübergreifend kommentiert werden.

Random.init enthält beispielsweise drei Zeilen:

 # chkconfig: 2345 20 80 
 # description: Saves and restores system entropy pool for 
 # higher quality random number generation.

Es gibt viele Ausführungsebenen unter Linux, die häufigsten sind 2, 3, 4 und 5 für Mehrbenutzer. Viele Leute wissen, dass 5 die Ausführungsebene von X-Windows ist und 0 das Herunterfahren bedeutet. Runlevel-Änderungen können über den Befehl init umgeschaltet werden. Angenommen, Sie möchten das System in einem Einzelbenutzerstatus halten, dann können Sie init1 zum Wechseln verwenden. Während des Umschaltvorgangs der Linux-Betriebsebene sucht das System automatisch nach Dateien, die mit K und S beginnen, im Verzeichnis /etc/rc[0-6].d, das der Betriebsebene entspricht, und führt diese Skripte in der Reihenfolge aus die Zahlen dahinter. Die Pflege dieser Skripte ist sehr umständlich. Linux stellt den Befehl chkconfig zur Verfügung, um Systemdienste auf verschiedenen Bedienebenen zu aktualisieren und abzufragen.

Beispiel:

  1. Sehen Sie sich den Status jedes Dienstes in verschiedenen Ausführungsebenen an:
$chkconfig    --list
  1. Listen Sie den Startstatus des Systemdienstes vsftpd auf jeder Ausführungsebene auf:
$chkconfig   --list      vsftpd
  1. Schließen Sie beim Ausführen der Stufen 3 und 5 den vsftpd-Systemdienst:
$chkconfig    --level   35   vsftpd    off
  1. Starten Sie beim Ausführen der Stufen 2, 3 und 5 den vsftpd-Systemdienst:
$chkconfig    --level      235      vsftpd      on

Starten Sie beim Ausführen der Stufen 2, 3 und 5 den vsftpd-Systemdienst neu:

chkconfig    --level     235    vsftpd     restart
  1. Schließen Sie einige unnötige Dienste: Wenn kein Drucker vorhanden ist:
$chkconfig  --level  235  cups  off

Wenn kein LAN vorhanden ist:

$chkconfig  --level  235  smb  off

Wenn keine Remote-Benutzeranmeldung erforderlich ist:

$chkconfig  --level  235  sshd  off

Wenn keine geplanten Aufgaben erforderlich sind:

$chkconfig  --level  235  crond  off

Wenn Sie keine neue Hardware hinzufügen müssen:

$chkconfig  --level  235  kudzu  off

Zeigen Sie den Prozessstatus eines bestimmten Systemdienstes an, z. B. httpd:

$chkconfig  --list | grep httpd

6. Allgemeine Anwendungen

  1. Wie füge ich einen Dienst hinzu?

Zunächst muss das Dienstskript im Verzeichnis /etc/ini.d/ gespeichert werden ;

Zweitens müssen Sie chkconfig ––add servicename verwenden, um diesen Dienst zur Dienstliste des chkconfig-Tools hinzuzufügen. Zu diesem Zeitpunkt erhält der Dienst einen K/S-Eintrag in /etc/rc.d/rcN.d. Schließlich können Sie die Standard-Startebene des Dienstes mit der oben beschriebenen Methode ändern.

  1. Wie starte ich MySQL unter Linux automatisch?

Stellen Sie zunächst sicher, dass /etc/rc.d/init.d/mysqld vorhanden ist. Wenn Sie es normal mit service mysqld start starten können, bedeutet dies, dass der Dienst vorhanden ist

(Hinweis: Wenn es in Form von RPM installiert wird, wird der entsprechende Dienst automatisch im Verzeichnis /etc/rc.d/init.d registriert.) Führen Sie den Befehl aus:

chkconfig --add mysqld

Führen Sie den Befehl aus:

chkconfig --level 345 mysqld on

einfach neu starten

Wie installiere ich aus dem Quellcode, wie starte ich die Software, nehmen Sie Apache als Beispiel?

Der Apache-Dienst wird unter Linux installiert (durch Herunterladen der kostengünstigen Kompilierung und Installation der Binärdatei, nicht des RPM-Pakets), und der Apache-Dienst-Startbefehl:

/server/apache/bin/apachectl starten. Lassen Sie den Apache-Dienst unter Runlevel 3 laufen. Der Befehl lautet wie folgt:

touch /etc/rc.d/init.d/apache
vi /etc/rc.d/init.d/apache
chown -R root /etc/rc.d/init.d/apache
chmod 700 /etc/rc.d/init.d/apache
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache   #S 是start的简写、代表启动、K是kill的简写、代表关闭。60数字代表启动的顺序。

Inhalt von Apache:

#!/bin/bash

#Start httpd service
/server/apache/bin/apachectl start

Zu diesem Zeitpunkt kann der Apache-Dienst automatisch zufällig auf Ausführungsebene 3 gestartet werden. (Hinweis: Nach dem Erstellen der Datei /etc/rc.d/init.d/apache können Sie den Startdienst tatsächlich in Kombination mit chkconfig anpassen.)

Darüber hinaus können Sie den Startbefehl /server/apache/bin/apachectl start auch direkt in die Datei /etc/rc.d/rc.local schreiben, um den Zweck des Bootens zu erreichen!

7. Verwandte Artikel

Referenz:
https://www.likecs.com/show-305940497.html

Supongo que te gusta

Origin blog.csdn.net/craftsman2020/article/details/128252150
Recomendado
Clasificación