Home > eTRAYz > eTRAYz – Avvio applicazioni al boot di sistema

eTRAYz – Avvio applicazioni al boot di sistema

21 marzo 2011

Quello che ci proponiamo di capire in questo articolo è come funziona l’avvio automatico delle applicazione al boot dell’etrayz, e cioè come funzionano in generale i runlevels di linux.

 

Se vi interessa mettere le mani sul boot di linux, in generale, è bene sapere cosa sono i runlevels.
Un runlevel è uno stato del sistema in cui possono venire compiute solo determinate operazioni.

I runlevel in linux sono sette, enumerati da 0 a 6 ( sebbene esistano anche il 7, l’8 ed il 9 che però i normali Unix (e Linux con loro) non utilizzano).
Non esiste uno standard su cosa rappresenti ogni singolo runlevel, anche se alcuni sono riservati ed in generale si ha:

  • Runlevel 0: /etc/rc0.d avvia la sequenza di arresto del sistema (shutdown).
  • Runlevel 1: /etc/rc1.d è detto Single user mode (“modalità ad utente singolo”): in questo stato non vi sono programmi in esecuzione in background, e nessun utente oltre all’amministratore ha accesso al sistema, per cui esso è sotto il suo pieno controllo. È utile, ad esempio, per eseguire attività di manutenzione come controlli sui dischi o aggiornare file di sistema, dato che vi è la certezza che nessun processo li stia utilizzando e che nessun utente possa intervenire all’insaputa dell’amministratore.
  • Runlevel 2: /etc/rc2.d Per l’utente .
  • Runlevel 3: /etc/rc3.d Per l’utente. Il 3 è il runlevel di default sull’eTRAYz.
  • Runlevel 4: /etc/rc4.d Per l’utente.
  • Runlevel 5: /etc/rc5.d Per l’utente.
  • Runlevel 6: /etc/rc6.d Il runlevel 6 è quello di reboot.  La macchina viene riavviata.

Gli script che di fatto permettono di gestire l’avvio o lo stop di un servizio sono in realtà nella directory /etc/init.d/ (in questa cartella sono conservati i file binari, eseguibili, dei demoni installati) e possono essere utilizzati direttamente dall’utente per gestire i singoli processi.

I file presenti nelle cartelle dei runlevels /etc/rcX.d (X è il numero del runlevel) sono in realtà dei link (“symlink“) agli script nella cartella /etc/init.d/
Noterete che tali link sono preceduti da una S (“start”) o una K (“Kill”), seguite da un numero.

Le applicazioni precedute da “S” verranno avviate nel relativo runlevel, mentre quelle precedute da “K” verranno ovviamente killate.

Il numero di seguito alla lettera S oK rappresenta invece l’ordine con cui la sequenza degli script verrà eseguita all’interno di ogni runlevel.

 

ESEMPIO

 

Per fare un esempio supponiamo di avere lo script asterisk.sh per eseguire sul nostro etrayz l’applicazione asterisk (come visto in altro articolo)

ovviamente lo script si troverà in  /etc/init.d/asterisk.sh.

Per come sono strutturati in genere questi script potremo eseguire manualmente i comandi:

/etc/init.d/asterisk start avvia Asterisk

/etc/init.d/asterisk stop ferma Asterisk

/etc/init.d/asterisk restart ferma e riavvia Asterisk

Per fare in modo che il nostro script Asterisk venga avviato in automatico ogni volta che si riavvia l’eTRAYz, dovremmo creare diversi symlink,  digitando i seguenti comandi:

ln -s /etc/init.d/asterisk /etc/rc0.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc1.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc2.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc3.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc4.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc5.d/K99asterisk
ln -s /etc/init.d/asterisk /etc/rc6.d/K99asterisk

ln -s /etc/init.d/asterisk /etc/rc3.d/S99asterisk

In questo modo, all’avvio dell’eTRAYz,  lo script asterisk verrà eseguito all’interno del runlevel 3 con priorità 99 (cioè per ultimo) con l’opzione S in modo da avviare asterisk.

 

ALTRO MODO DI AVVIO


Qualunque sia il runlevel usato, vi possono essere delle operazioni che voi eseguite spesso in riga di comando, e magari preferireste che il sistema all’avvio le eseguisse in automatico.

Oltre agli script in /etc/init.d/ c’è un’altro modo per far partire programmi al boot, infatti ad ogni avvio viene eseguito il file /etc/rc.local.

Se si vuol inserire un comando che richieda i privilegi di root e non abbia bisogno di esser lanciato con una precisa priorità, quella di /etc/rc.local è la soluzione più semplice.

Basterà infatti aggiungere il comando che vi interessa nel file /etc/rc.local inserendolo prima della riga “Exit 0″.

Ti potrebbero interessare:

Categorie:eTRAYz
  1. Alex
    19 settembre 2012 a 8:25 | #1

    ciao Flavio e compliementoni,
    ho visto che nei tuoi posto parlavi di Etrayz quindi, essendo
    un felice possessore, volevo farti una domanda:
    E’ possibile “visitare” il mio etrayz da remoto (device Android (4.0.3) o altro computer)
    visualizzando, vedendo o ascoltando in streaming senza la necessità prima di
    dover effettuare il download?
    Tipo sito internet per capirci.
    Spero di essermi spiegato
    Ciao e buon lavoro

    • 19 settembre 2012 a 8:53 | #2

      L’Etrayz integra già un server itunes, pertanto con dispositivi apple puoi già fare quello che chiedi.

      Se lo vuoi fare con altri dispositivi, basta che tramite l’etrayz App installer, installi uno dei server DLNA presenti sotto il capitolo UPnP & DLNA e questo ti permetterà di condividere in rete i tuoi file multimediali.
      Tra i presenti io ho utilizzato (non su etrayz a dir la verità) Twonkymedia e MediaTomb.
      Poi sul market android trovi diversi client DLNA che puoi utilizzare in combinazione con il server DLNA installato su etrayz.

  2. Alex
    19 settembre 2012 a 9:07 | #3

    Provo subito e ti so dire.
    intanto grazie mille per la sollecitudine della risposta

  3. Alex
    19 settembre 2012 a 10:50 | #4

    Twonky mi chiede una Reg. Key…
    posso farne a meno oppure no?

  4. antonio
    21 gennaio 2013 a 13:27 | #5

    Buongiorno, complimenti per il sito
    Volevo qualche info riguardo all’etrayz
    quando lo collego, anche se metto in pausa tutti i torrent , la rete risulta estremamente lenta, esiste un modo per poterlo disconnettere alla connettivita’ internet e farlo lavorare sulla rete locale
    magari con un tasto o comando per poi ripristinare tutte le funzionalita’

    • 21 gennaio 2013 a 14:29 | #6

      Mi spiace ma non ho mai usato torrent sull’etrayz, e comunque quello che chiedi non credo sia possibile farlo.

  5. alex
    17 maggio 2014 a 13:10 | #7

    Salve e complimenti per il blog. Possiedo il MediaAccess TG589vn v3 a cui è collegato un NAS Etrayz perfettamente configurato su rete locale ma non riesco in nessun modo ad accedere da remoto nemmeno eseguendo un Port Forwarding. Qualcuno ha avuto lo stesso mio problema? in che modo è riuscito a risolverlo…se lo ha risolto?

I commenti sono chiusi.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi