Uno dei grandi cambiamenti introdotti da CentOS nella versione 7 è stata la mancanza di esecuzione nativa per l'avvio di script personalizzati dal file /etc/rc.d/rc.local.
/etc/rc.d/rc.local era uno dei modi più classici per aggiungere script personalizzati per l'avvio automatico dopo che tutti gli script init.d erano stati avviati sulle vecchie versioni di CentOS 5 e CentOS 6.
Tuttavia, molte cose sono cambiate nella nuova CentOS 7.x, che include il modo in cui gestisce i servizi grazie al nuovo sistema di gestione dei servizi.
Su CentOS 7 quel file non viene più eseguito per impostazione predefinita (come avveniva nelle versioni precedenti di CentOS) a causa dell'adozione di systemd.
Come eseguire automaticamente gli script all'avvio su CentOS 7?
Per eseguire/eseguire script automaticamente dal file rc.local (/etc/rc.d/rc.local) è necessario applicare le autorizzazioni di esecuzione a quel file
Rendiamolo eseguibile eseguendo questo comando come root:
chmod +x /etc/rc.d/rc.local
se non funziona prova
chmod u+x /etc/rc.d/rc.local
Questo comando chmod attiva attiva il nuovo rc-local che dipende dal servizio Systemd.
Una volta terminato, puoi eseguire gli script automaticamente modificando /etc/rc.local, che è un collegamento simbolico al file /etc/rc.d/rc.local.
Ora aggiungi i tuoi script in fondo a quel file e questo è tutto, a questo punto dovresti eseguire automaticamente gli script all'avvio su CentOS 7.
Come posso testare l'esecuzione automatica dei miei script dopo l'avvio in CentOS 7?
Facile. Testare il servizio rc-local eseguendo:
systemctl start rc-local
Un altro modo per testarlo è riavviare il server:
shutdow now -rf
Ulteriori letture:
- Note sulla versione di CentOS 7