Rc.Il locale è uno script obsoleto tenuto per scopi di compatibilità per i sistemi SystemV.
Una volta era un file universale presente nella maggior parte delle distribuzioni Linux a causa della sua semplicità per gli amministratori Linux per definire gli script di avvio o i servizi aggiuntivi per l'avvio.
Il file rc.Il locale non contiene informazioni sui componenti di avvio del sistema, ma solo componenti definiti superutenti/root. Tuttavia, non tutti i programmi di avvio root sono descritti in RC.locale ma solo quelli che non interferiscono con i componenti del sistema. Di solito, RC.Il locale viene eseguito dopo l'avvio di servizi normali.
I nuovi sistemi Linux, incluso SystemD, hanno sostituito l'RC.sceneggiatura locale, ma può essere ripristinata nonostante Essere una soluzione consigliata. Questo tutorial mostra come ripristinare e utilizzare il RC.Script locale e utilizzare RC-Local di SystemD su nuove distribuzioni Linux.
Abilitazione /etc /rc.Distribuzioni locali in Linux utilizzando SystemD:
IMPORTANTE: È importante ricordare /etc /rc.Il locale è interrotto e sostituito. Il metodo corrente per eseguire gli script all'avvio è descritto dopo le istruzioni per abilitare /etc /RC.Locale. Questo tutorial è destinato agli utenti con esigenze specifiche.
Per iniziare, crea il file /etc/rc.Locale Utilizzando l'editor che desideri e sudo (o root):
nano /etc /rc.Locale
Incolla il codice seguente nel file e sostituire Con il comando che desideri eseguire all'avvio. Non usare sudo. Se un comando incluso in questo script non riesce a eseguire, il servizio che chiamerà RC.locale (RC-Local.servizio) fallirà.
#!/bin/sh -e
#
# rc.Locale
#
# Questo script viene eseguito alla fine di ogni runlevel multiutente.
# Assicurati che lo script "uscirà 0" sul successo o su qualsiasi altro
# Valore sull'errore.
#
# Per abilitare o disabilitare questo script, basta cambiare l'esecuzione
# bit.
#
# Per impostazione predefinita, questo script non fa nulla.
uscita 0
Nel mio esempio, userò il RC.Script locale per aggiornare il database Vuls di Scansione di sicurezza ogni volta che inizia il sistema. Puoi scrivere qualsiasi script che desideri essere eseguito all'inizio, tranne per gli script di networking (come iptables) che possono interferire con il normale processo di avvio e avere i propri script o directory di avvio.
Salva il file (Ctrl+X E Y) e dargli le autorizzazioni di esecuzione eseguendo il comando di seguito:
sudo chmod +x /etc /rc.Locale
Crea il file /etc/systemd/system/rc-local.servizio, correre:
nano/etc/systemd/system/rc-local.servizio
Incolla i seguenti comandi e uscita il salvataggio premendo Ctrl+X E Y.
ExecStart =/etc/rc.Inizio locale
Timeoutsec = 0
Standardutput = tty
RemafterExit = sì
Sysvstartpriority = 99
[Installare]
WANTEDBY = Multi-utente.bersaglio
Abilita RC-Local:
sudo systemctl abilita rc-local
Ora puoi avviare RC-Local.servizio, che leggerà /etc /rc.File locale. Esegui il comando mostrato di seguito:
SystemCtl Avvia RC-Local.servizio
Puoi verificare se RC-Local è stato caricato correttamente eseguendo quanto segue:
Stato SystemCtl RC-Local.servizio
Il modo corretto (SystemD):
Il processo sopra descritto è vecchio, obsoleto e può arrestare alcuni servizi.
Questa sezione mostra il processo corrente per avviare script o servizi all'avvio per le distribuzioni Linux utilizzando SystemD.
SystemD è un responsabile dei servizi che assegna i gruppi di controllo dei servizi (cgroup) e tiene traccia dei processi. SystemD è il processo (PID) 1 responsabile dell'avvio del sistema.
Per aggiungere servizi o script all'avvio, è necessario creare un unità di sistema.
Le unità SystemD includono servizi (.servizio), punti di montaggio (.montare), dispositivi (.dispositivo) o prese (.PRESA). Contrariamente al vecchio processo descritto in precedenza con RC.Locale, invece di modificare lo stesso file contenente informazioni sugli script dell'utente, è necessario creare un'unità di servizio SystemD per ogni script che si desidera eseguire all'avvio.
Le unità SystemD si trovano a /etc/systemd/system, Ed è qui che dobbiamo creare l'unità Systemd per lo script che vogliamo eseguire all'avvio.
La seguente immagine mostra il contenuto dell'unità TeamViewer.servizio.
Dove le direttive [unità]:
Alcune direttive utilizzate nella sezione [Servizio] possono essere condivise con [unità].
L'unica direttiva [installa] nell'esempio sopra è desiderata.
Nota: Puoi controllare tutte le direttive di SystemD a
https: // www.Freedesktop.org/software/systemd/man/systemd.direttive.html
Aggiunta della tua unità di sistema:
Per eseguire uno script all'avvio, crealo sotto /etc/systemd/system con il suo nome seguito da un punto e un servizio, ad esempio, Linuxhint. Servizio. Puoi usare Nano come nel seguente campione:
Incolla quanto segue, sostituendo <Nome o descrizione dello script> Con una descrizione della tua sceneggiatura e dove /usr/sbin/linuxhint.sh Scrivi il percorso corretto.
[Unità]
Descrizione ==