Aggiungere uno script di esecuzione locale ad un init stile UNIX System V


Caveat emptor: Tutta questa roba non è necessaria se vi trovate un file /etc/rc.local. Potete usare quello per ottenere esattamente lo stesso comportamento.

Molti di voi sapranno che le distribuzioni di GNU/Linux più note (Debian e derivate, come Ubuntu, ma anche Fedora e OpenSUSE) utilizzano un init derivato da UNIX System V, che ha la caratteristica di organizzare i singoli script di avvio in directory diverse a seconda del runlevel.

In realtà, a volte sarebbe desiderabile avere uno script che avvii, come dire, tutte quelle attività una tantum, o per cui non si prevede una rigorosa implementazione degli stati per singolo runlevel. In questo, un init stile BSD offre una funzionalità apposita: uno script rc.local.

Con i passaggi seguenti (provati su Debian e Ubuntu) è possibile aggiungere uno script che si comporta esattamente come il suddetto script, che si chiamerà local:

cd /etc/init.d
sudo touch local
sudo chmod +x local
sudo update-rc.d local defaults 80

/etc/init.d/local dovrà contenere righe come queste:

#!/bin/bash 

case "$1" in
       start)
       # Comandi da eseguire all'avvio del computer
       # (o dello script)
               comando1
               comando2
       # Due punti e virgola ;; marcano la fine della
       # sezione
       ;; 

       stop)
       # Comandi da eseguire allo spegnimento del
       # computer (o alla terminazione dello script)
               comando1
               comando2
       ;; 

      restart)
     # Comandi da eseguire al riavvio dello script
               comando1
               comando2
       ;; 

        *)
        # Nessun parametro specificato.
        echo "Usage: $0 {start|stop|restart}
        ;;
esac

Una Risposta a “Aggiungere uno script di esecuzione locale ad un init stile UNIX System V”

  1. Far configurare correttamente al boot la scheda di rete wireless Broadcom 4306 inclusa nei portatili ASUS L5000D con Debian e Ubuntu « Emanuele Cipolla Dice:

    [...] /etc/rc.local (o un altro script di esecuzione locale) simile a [...]

I commenti sono chiusi.