GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come eseguire script/comandi usando /etc/rc.d/rc.local in CentOS/RHEL 7

Il problema

Gli script/comandi nel file di configurazione /etc/rc.d/rc.local non potrebbe funzionare all'avvio in un sistema CentOS/RHEL 7. Lo stesso funzionava nelle versioni precedenti di CentOS/RHEL. È deprimente o esiste una soluzione alternativa per utilizzare ancora questo metodo?

La risposta

Il rc.local il servizio viene interrotto per impostazione predefinita in CentOS/RHEL 7. Se controlli il file di configurazione etc/rc.d/rc.local, ci sono suggerimenti al riguardo.

# 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

La soluzione alternativa

1. Con sistema , gli script init non ci sono più. Di conseguenza, l'esecuzione delle attività all'avvio doveva cambiare. In CentOS/RHEL 7, il file /etc/rc.d/rc.local è controllato dal servizio rc-local.

...
[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. Per impostazione predefinita, il file /etc/rc.d/rc.local non dispone del permesso di esecuzione. Aggiungi i permessi di esecuzione a questo file.

# 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. Abilita il servizio rc.local, per assicurarti che si avvii ogni volta dopo un riavvio.

# systemctl enable rc-local

Conferma se il servizio è abilitato:

# systemctl status rc-local.service

3. Quindi, avvia rc-local servizio.

# systemctl start rc-local


Cent OS
  1. Come viene aggiornato /etc/motd?

  2. CentOS / RHEL 7:come seguire l'ordine di montaggio in /etc/fstab

  3. CentOS / RHEL:come registrare tutti i comandi LVM

  4. Come disabilitare la combinazione di tasti "alt + ctrl + Canc" che causa il riavvio in CentOS/RHEL 4,5

  5. Come disabilitare Ctrl+Alt+Canc causando il riavvio del sistema in CentOS/RHEL 6

Come installare flameshot su RHEL/CentOS usando Snapcraft

Come installare osTicket su CentOS 8 /RHEL 8

CentOS / RHEL 7:come recuperare dalla voce di root eliminata nei file /etc/shadow e/o /etc/passwd

Come inviare i log di controllo al server Rsyslog remoto in CentOS/RHEL 6,7

Come eseguire il comando Pstack su CentOS/RHEL

CentOS / RHEL:come recuperare dal file /etc/passwd cancellato