GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So führen Sie Skripte/Befehle mit /etc/rc.d/rc.local in CentOS/RHEL 7 aus

Das Problem

Die Skripte/Befehle in der Konfigurationsdatei /etc/rc.d/rc.local konnte beim Booten in einem CentOS/RHEL 7-System nicht funktionieren. Dasselbe funktionierte früher in früheren CentOS/RHEL-Versionen. Ist es veraltet oder gibt es eine Problemumgehung, um diese Methode weiterhin zu verwenden?

Die Antwort

Die rc.local Der Dienst wird in CentOS/RHEL 7 standardmäßig gestoppt. Wenn Sie die Konfigurationsdatei etc/rc.d/rc.local überprüfen, gibt es Hinweise dazu.

# cat /etc/rc.d/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

Die Problemumgehung

1. Mit systemd , die Init-Skripte sind nicht mehr vorhanden. Folglich musste sich die Ausführung von Tasks beim Booten ändern. In CentOS/RHEL 7 wird die Datei /etc/rc.d/rc.local vom rc-local-Dienst gesteuert.

...
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes

2. Standardmäßig hat die Datei /etc/rc.d/rc.local keine Ausführungsberechtigung. Bitte hängen Sie die Ausführungsberechtigungen an diese Datei an.

# ls -l /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 Nov  8 00:20 /etc/rc.d/rc.local
# chmod +x /etc/rc.d/rc.local
# ls -l /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 Nov  8 00:20 /etc/rc.d/rc.local

3. Aktivieren Sie den rc.local-Dienst, um sicherzustellen, dass er jedes Mal nach einem Neustart startet.

# systemctl enable rc-local

Bestätigen Sie, ob der Dienst aktiviert ist:

# systemctl status rc-local.service

3. Anschließend starten Sie bitte rc-local Dienst.

# systemctl start rc-local


Cent OS
  1. So erstellen Sie ein lokales YUM-Repository auf CentOS 7 / RHEL 7 mithilfe einer DVD

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. So stellen Sie gelöschte Root-Einträge in /etc/shadow- und/oder /etc/passwd-Dateien in CentOS / RHEL 6 wieder her

  4. So deaktivieren Sie die Tastenkombination „alt+ctrl+Del“, die einen Neustart in CentOS/RHEL 4,5 verursacht

  5. So deaktivieren Sie Strg+Alt+Entf, wodurch ein Systemneustart in CentOS/RHEL 6 verursacht wird

So installieren Sie Flameshot auf RHEL/CentOS mit Snapcraft

So installieren Sie osTicket unter CentOS 8 /RHEL 8

CentOS / RHEL 7 :So stellen Sie gelöschte Root-Einträge in /etc/shadow- und/oder /etc/passwd-Dateien wieder her

So stellen Sie eine beschädigte oder leere /etc/mtab-Datei in CentOS/RHEL 7 wieder her

So können Sie eine lokale Festplatte mit der Direktive „find_multipaths“ in CentOS/RHEL 6 auf die schwarze Liste setzen

CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her