h1

Guida: potenziare la shell con Busybox

12 marzo 2013

download

Immagino che molti di voi avranno sentito parlare di Busybox e probabilmente lo avranno anche installato, volontariamente o meno. Esso infatti viene distribuito assieme a quasi tutte le Rom cucinate.

La domanda è sempre la stessa: di cosa si tratta? a cosa serve?

Busybox è un pacchetto di tools (programmi) che potenzia notevolmente le nostre possibilità di azione fornendo tutta una serie di funzionalità aggiuntive, che possono essere sfruttate direttamente da riga di comando (shell) oppure utilizzate da applicazioni specifiche (Titanium Backup richiede Busybox per poter funzionare al meglio).

Come avrete capito è necessario possedere i privilegi di root per poter sfruttare questa potente utility.

Ora avete le idee più chiare? Bene, vediamo come possiamo procurarcelo.

Tengo a precisare nuovamente che se avete installato una Rom modificata è molto probabile che Busybox sia già presente sul vostro terminale. In ogni caso potete verificarne la presenza con questi rapidi passaggi:

  1. andate sul Play Store e scaricate l’applicazione Busybox (si tratta di un installer);
  2. apritela e concedete i privilegi di root;
  3. a questo punto il programma vi mostrerà la versione che sta per essere installata e il percorso (/system/bin solitamente). Se Busybox è già presente vi verrà segnalato, inoltre se avete una versione vecchia vi verrà data la possibilità di aggiornarla;
  4. premete su Install e selezionate Smart Install se non avete esigenze particolari.

Ecco fatto, il pacchetto di tool è ora presente nella directory che abbiamo visto in fase di installazione. Se invece avete installato una Rom Cyano è probabile che l’applicativo si trovi in /system/xbin (potete vedere il percorso dall’applicazione scaricata sopra): poco male, in quanto entrambe le directory fanno parte della PATH e quindi non dovrete eseguire modifiche per poter utilizzare i tools.

Immagino che sarete ansiosi di andare a vedere cosa si nasconde in queste  directory. Scopriamolo subito.

Nel caso non lo aveste già fatto, dovete scaricare dal Play Store un Emulatore di Terminale (esatto, proprio come sul PC).

Una volta installato, apritelo e digitate:

  • cd /system/bin oppure cd /system/xbin (dipende da dove si trova Busybox);
  • ls -l

A questo punto il sistema vi restituirà una serie di righe che rappresentano tutti i tool presenti, il cui nome si trova come ultimo termine. Nell’immagine qui sotto ho riportato una screenshot che vi chiarirà la situazione (si può ingrandire).

Screenshot_busybox

Come vedete le informazioni sono suddivise per colonne, ciò che ci interessa è contenuto nell’ultima colonna, quella che contiene abcc, adb, am, app_process ecc. Sono questi i nomi dei tool che potremo utilizzare.

E’ tuttavia doveroso precisare che solo alcuni di essi sono stati installati grazie a Busybox in quanto il sistema offre di default tutta una serie di applicativi, i quali vengono integrati e potenziati grazie al pacchetto che abbiamo installato oggi. Ad esempio, il comando ls che abbiamo utilizzato poc’anzi è presente di default, e serve per ottenere un elenco di ciò che è contenuto in una directory.

Se volete ottenere un elenco più leggibile, vi basterà digitare busybox, sempre da terminale ovviamente. Otterrete una schermata simile a quella presente qui sotto, e le informazioni che vi interessano si trovano in Currently defined functions.

Screenshot_busybox1

 

Credo che ora sia giunto il momento di vedere all’opera qualcuno di questi tools.

Se, ad esempio, avete necessità di comprimere (zippare) un file, potete decidere di farlo direttamente da riga di comando, utilizzando gzip bzip2. Il primo fa parte del bagaglio di tools nativi, mentre il secondo appartiene al pacchetto Busybox. La sintassi è simile. Vediamo un esempio:

  • recatevi nella directory dell’utente digitando cd /sdcard
  • create un nuovo file vuoto, digitando touch nome_nuovo_file (scegliete il nome che volete e sostituitelo a nome_nuovo_file);
  • adesso passiamo alla compressione: bzip2 nome_nuovo_file
  • potete verificare l’avvenuta compressione digitando ls -l , vedrete che il vostro file avrà estensione .bz2
  • per decomprimerlo vi basterà invece digitare: bzip2 -d nome_nuovo_file.bz2

Come avete visto grazie a questo piccolo esempio la shell di Android offre delle funzionalità veramente utili ed avanzate, che diventano ancora più potenti grazie all’installazione del pacchetto Busybox.

In questo articolo non voglio certo esplorare tutte le possibilità offerte poiché sarebbe impossibile, ma spero di essere riuscito a darvi un’idea chiara degli strumenti e delle loro potenzialità.

Ora tocca a voi, munitevi di manuali e scoprite questo fantastico mondo che è la shell di Linux, senza dimenticare di documentarvi a fondo prima di eseguire qualsiasi operazione: potreste apportare grossi danni al sistema altrimenti.

Come al solito vi invito a segnalarmi le vostre impressioni sull’articolo e sull’argomento trattato.

Roberto Dettori

3 commenti

  1. voglio installare busybox sul mio cellulare ma non riesco anche se ho i permessi root,il modello è mtk6582 w9002
    Spero che mi possa aiutare.


  2. Grazie l’articolo è molto interessante, vorrei sapere quali comandi devono essere utilizzati per cambiare il codice IMEI del device .


  3. grazie , non ho capito nulla ma era tutto molto bene spiegato e convincente; mi sono tranquillizzata.



Lascia un commento

Non solo Android

News, recensioni e guide

WordPress.com News

The latest news on WordPress.com and the WordPress community.