eTRAYz – Avvio applicazioni al boot di sistema
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/K99asteriskln -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″.
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.
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’
Mi spiace ma non ho mai usato torrent sull’etrayz, e comunque quello che chiedi non credo sia possibile farlo.