Debian e iPod: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(→‎Introduzione: aggiunta nota sul formato scrambled usato da apple)
mNessun oggetto della modifica
 
(12 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
Come facciamo a scoprire se veniamo infettati da un RootKit?
{{Versioni compatibili |Lenny|Squeeze|Wheezy}}
== Introduzione: Le limitazioni dell'iPod ==
I dispositivi iPod hanno, rispetto alla maggior parte dei lettori multimediali, una limitazione: non è sufficiente copiare la musica al loro interno per ascoltarla. La Apple infatti usa un semplice metodo di ''scrambling'' (in pratica ogni file viene spezzettato in molte directory con nomi casuali) per impedire che la la musica dall'iPod possa essere ricopiata su pc. Ovviamente questa è una arbitraria limitazione della libertà del consumatore che, nei limiti della legalità deve poter usare l'oggetto che acquista come meglio crede. L'iPod richiede quindi un programma apposito (iTunes nei piani della Apple) che sappia copiare la musica sull'iPod in questo formato arbitrario ''non facilmente leggibile''. 


Con il checksum dei binari di sistema, in questa guida vedremo come fare.
Per fortuna esistono diversi software liberi che permettono sia di scrivere nel formato ''scrambled'' richiesto dall'iPod sia di leggere la musica per ricopiarla sul PC. Rimane comunque il lato negativo che, a differenza di un normale lettore mp3, si ha bisogno di programmi aggiuntivi, che non sempre funzionano con tutti i modelli (dato la Apple applica spesso piccole modifiche per frenare lo sviluppo dei programmi alternativi ad iTunes).


Partiamo dal presupposto che per poter mettere in atto quanto diremo da qui in poi abbiamo bisogno o di una macchina con os appena installato o dobbiamo essere sicuri al 300% che la nostra macchina non sia compromessa.
Inoltre alcuni modelli presentano anche diverse funzionalità quali calendario, rubrica, eccetera, ed hanno bisogno di programmi appositi che consentano di sincronizzarli con il PC.


Partiamo con lo scaricarci uno di questi 2 software AFICK AIDE (si veda fondo pagina per i link).
Questa guida spiega come utilizzare i dispositivi iPod della Apple con il sistema Debian GNU/Linux, tuttavia dovrebbe funzionare con qualunque distribuzione.


Il bello di questi programmi e che oltre che calcore il checksum dei binari , possono controllare gli accessi, i permessi, il numero di link simbolici e tanto altro ancora, per questa guida io mi basero' su AFICK, a noi interessa il file afick.pl e afick.conf il suo file di configurazione.
== Note ==
mettiamo questi 2 file in <tt>/root</tt> e prepariamoci per modificare il file di conf per esempio:
*La guida tratta varie possibilità, ma la procedura è stata testata in prima persona solo con iPod con filesystem formattato in FAT32. Gli iPod infatti funzionano sia con sistemi Mac che Windows, ma con filesystem diversi: FAT per Windows e HFS per MAC.
*Sebbene iPod supporti sia il collegamento via USB che via FireWire, ho potuto testare solo il primo.
 
== Prepariamo il Sistema: ==
=== Primo Collegamento ===
 
Iniziamo aprendo una shell e digitando:
 
<pre>
# tail -f /var/log/syslog
</pre>
 
 
Collegando ora l'iPod tramite il cavo USB dovremmo avere una risposta di questo tipo:


<pre>
<pre>
# esempio di file di conf
Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
database:=./afick
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
warn_dead_symlinks := yes
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
exclude_suffix := wav WAV mp3 avi
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
=/ d+i+p+u+g
Sep 30 20:50:12 kaneda kernel:  Vendor: Apple    Model: iPod              Rev: 1.62
=/bin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
=/sbin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
=/usr/sbin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
=/usr/bin p+n+b+m+c+md5
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:13 kaneda kernel:  sdb: sdb1 sdb2
Sep 30 20:50:13 kaneda kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Sep 30 20:50:13 kaneda kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  type 0
Sep 30 20:50:13 kaneda kernel: usb-storage: device scan complete
</pre>
</pre>


dopo aver controllato che la prima riga di afick.pl contenga la locazione precisa dell eseguibile Perl, possiamo passare a inizializzare il database dei nostri binari,
il che ci mostra le due partizioni dell'iPod, in questo caso <code>''sda1''</code> ed <code>''sda2''</code>.
digitiamo da console quanto segue:
La partizione che ci interessa è <code>''sda2''</code>, ovvero quella contenente i dati.
 
=== Creazione del mountpoint ===
Andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:


<pre>
<pre>
# ./afick.pl -c afick.conf -i
# mkdir /mnt/iPod
</pre>
</pre>


bene cosi' abbiamo creato il nostro database di sistema, ora facciamo passare un po di tempo e poi controlliamo come va'
creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:
 


<pre>
<pre>
# ./afick.pl -c afick.conf -k
# addgroup ipod
</pre>
</pre>


se non abbiamo modificato nessun binari inserito nel file di configurazione dovrebbe apparirci in risposta dal programma:
ed aggiungiamo al gruppo gli utenti desiderati con:


<pre>
<pre>
Hash Database : numero file scanned 0 changed ecc
# adduser "user" ipod
</pre>
</pre>


bene ora proviamo a modificare qualche file, banalmente:
Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb. Se utilizziamo FAT:


<pre>
<pre>
# touch /sbin/lilo
# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
# ln-s /sbin/sulogin /usr/sbin/sulogin
</pre>
</pre>


ora rieseguiamo il controllo come prima, questa volta in risposta avremmo:
Mentre con HFS:


<pre>
<pre>
new symbolic link : /usr/sbin/sulogin
# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
changed file : /sbin/lilo
changed directory :/usr/sbin
</pre>
</pre>


seguito dai dettagli delle varie operazioni compiute.
----
per semplificare questa operazione, che può essere gestita in automatico da tools che stiamo per vedere, consiglio di scrivere una riga che salvi queste impostazioni nel vostro file <code>/etc/fstab</code>.
----


Dal momento che sappiamo che queste modifiche le abbiamo fatte noi
Esplorando questa partizione vedrete che i file sono nella directory:
ora dobbiamo riaggiornare il database:


<pre>
<pre>
# ./afick.pl -c afick.conf -u
/mnt/iPod/iPod_Control
</pre>
</pre>


ora sappiamo usare il nostro Monitor di sistema.
(Se l'iPod è nuovo e non è mai stato utilizzato, non vi sarà nulla. Vedremo in seguito come creare tutto questo)


Un consiglio che mi sento di darvi e di aggiungere un controllo al db tramite cron in base all uso della macchina ogni giorno ogni 2 ore vedete voi.
== Installazione dei tools e delle gui ==
=== gnupod-tools ===


==Non � finita qui==
Il pacchetto fondamentale per gestire un iPod sotto GNU/Linux è ''gnupod-tools''.Sul [http://www.gnu.org/software/gnupod/ sito ufficiale] potete trovare tutta la documentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida.
Credete che questo basti, invece no' pensate un momento se un hacker riuscisse a penetrare il vostro sistema, anche se il nostro db fosse conservato in una partizione apposita read-only, se l'hacker riuscisse a guadagnare la root potrebbe rimontare la partizione in r/w e compromettere il nostro db, quindi come fare diciamo che sara' la base per un prossimo articolo e si chiama RFC e GRSEC
Per ottenere ''gnupod-tools'' è sufficiente un:


<pre>
# apt-get install gnupod-tools
</pre>
=== YamiPod ===
''YamiPod'' è un altro programma che si può scaricare sul sito [http://www.yamipod.com/main/modules/home/ www.yamipod.com] molto simile a ''gtkpod'', ma multipiattaforma (Linux, MacOS X, Win). Questo programma non è software libero (anche se il suo uso è gratuito).
=== QuodLibet ===
Anche l'ottimo e versatile ''QuodLibet'' consente, grazie ad un plugin apposito, di gestire direttamente e in maniera immediata l'iPod, sfogliarne i contenuti, cancellare brani e uploadare, ovviamente, brani o interi album dalla vostra libreria.


==Link==
Il plugin può essere scaricato dal seguente URL: [http://www.sacredchao.net/quodlibet/wiki/Plugins/iPod].
Estraete l'archivio in <code>.quodlibet/plugins/songsmenu</code>.


* http://afick.sourceforge.net
Nel caso non fossero già installati:
* http://www.cs.tut.fi/~rammer/aide.html


Un consiglio scaricate pure chkrootkit e aggiungetelo al cron insieme al tool per il controllo da voi scelto.
<pre>
# apt-get install libgpod0 python2.3-gpod
</pre>


* http://www.chkrootkit.org
Procuriamoci ora i file <code>'''gpod.y'''</code> e <code>'''_gpod.so'''</code> dalle librerie di python:


----
<pre>
Autore: debian
$ cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
[[Categoria:Server]][[Categoria:Sicurezza]]
$ cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod
[[Categoria:Networking]]
</pre>
 
A questo punto punto il nuovo plugin dovrebbe comparire nella lista dei plugin di QuodLibet (refresh o lanciate il programma). Basta attivare i plugin ('''Browse iPod''' e '''Copy To iPod''') mediante checkbox e configurare mountpoint e device nell'apposita finestra di configurazione del plugin stesso.
 
[[image:Quodlibet_ipod.png|thumb|center]]
 
=== gtkpod + codecs ===
per poter gestire il vostro iPod sarebbe ora sufficiente installare ''gtkpod''. Tuttavia, per avere un pieno supporto che faccia dimenticare iTunes, sono necessari ancora dei piccoli passaggi. Visto che alcuni dei pacchetti di cui necessitiamo non sono presenti sui repository ufficiali, dovremo editare il nostro file:
<pre>
/etc/apt/sources.list
</pre>
 
aggiungendo i [[Repository_non_ufficiali#Marillat_Repository| Marillat repository]].
 
Ora siamo pronti all'ultimo passaggio:
dopo aver dato un
<pre>
# apt-get update
</pre>
sarà sufficiente dare:
<pre>
# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain
</pre>
per avere pieno supporto ai formati aac e mp4.
 
== Utilizzo dell'iPod ==
=== Preparazione dell'iPod con GNUpod-tools ===
 
Se l'iPod appena collegato è nuovo, questo non avrà l'albero delle directory necessario al suo utilizzo.
Inoltre mancherà anche il file <code>iTunesdb.ext</code>, necessario per gestire la musica.
ecco che entra in gioco ''GNUpod-tools'', che con un semplice comando creerà tutto questo, sostituendo ad <code>iTunesdb.ext</code> <code>GNUtunesDB.ext</code>.
Ecco come procedere:
 
<pre>
# gnupod_INIT.pl -m /mnt/iPod
</pre>
 
Per maggiori informazioni sull'iTunesdb visitate il [http://ipodlinux.org/ITunesDB wiki]
 
=== Configurazione di GTKpod ===
La configurazione di ''GTKpod'' è molto semplice ed intuitiva. Nel menu Modifica si trova la voce "Preferenze", e da lì si può avere pieno controllo sulle impostazioni del programma, e sulla gestione del vostro iPod.
 
[[Immagine:Gtkpod.jpg|thumb|left|Esempio 1]] [[Immagine:Gtkpod2.jpg|thumb|right|Esempio 3]] [[Immagine:Gtkpod1.jpg|thumb|center|Esempio 2]]
 
== Installare linux sull'iPod ==
 
È possibile installare anche un firmware basato su linux mantenendo inoltre il firmware Apple originale.
Il progetto dal nome [http://ipodlinux.org/Main_Page "ipodlinux"] è ancora in fase di sviluppo, ma provvede già a dare un bootloader funzionante e dei player audio in via di perfezionamento.
Oppure esistono altre soluzioni di firmware quali [http://www.rockbox.org "RockBox"] che, come Linux, risolvono il problema della limitazione software alla radice.
 
== Collegamenti ==
* [http://ipodlinux.org/Project_Status Lista dei modelli di iPod supportati]
 
* [http://ipodlinux.org/Installation Istruzioni dettagliate per l'installazione]
 
{{Autori
|Autore = [[Utente:Jango|jango]]
}}
 
[[Categoria:Lettori MP3]]

Versione attuale delle 03:31, 15 dic 2012

Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 5 "lenny"
Debian 6 "squeeze"
Debian 7 "wheezy"

Introduzione: Le limitazioni dell'iPod

I dispositivi iPod hanno, rispetto alla maggior parte dei lettori multimediali, una limitazione: non è sufficiente copiare la musica al loro interno per ascoltarla. La Apple infatti usa un semplice metodo di scrambling (in pratica ogni file viene spezzettato in molte directory con nomi casuali) per impedire che la la musica dall'iPod possa essere ricopiata su pc. Ovviamente questa è una arbitraria limitazione della libertà del consumatore che, nei limiti della legalità deve poter usare l'oggetto che acquista come meglio crede. L'iPod richiede quindi un programma apposito (iTunes nei piani della Apple) che sappia copiare la musica sull'iPod in questo formato arbitrario non facilmente leggibile.

Per fortuna esistono diversi software liberi che permettono sia di scrivere nel formato scrambled richiesto dall'iPod sia di leggere la musica per ricopiarla sul PC. Rimane comunque il lato negativo che, a differenza di un normale lettore mp3, si ha bisogno di programmi aggiuntivi, che non sempre funzionano con tutti i modelli (dato la Apple applica spesso piccole modifiche per frenare lo sviluppo dei programmi alternativi ad iTunes).

Inoltre alcuni modelli presentano anche diverse funzionalità quali calendario, rubrica, eccetera, ed hanno bisogno di programmi appositi che consentano di sincronizzarli con il PC.

Questa guida spiega come utilizzare i dispositivi iPod della Apple con il sistema Debian GNU/Linux, tuttavia dovrebbe funzionare con qualunque distribuzione.

Note

  • La guida tratta varie possibilità, ma la procedura è stata testata in prima persona solo con iPod con filesystem formattato in FAT32. Gli iPod infatti funzionano sia con sistemi Mac che Windows, ma con filesystem diversi: FAT per Windows e HFS per MAC.
  • Sebbene iPod supporti sia il collegamento via USB che via FireWire, ho potuto testare solo il primo.

Prepariamo il Sistema:

Primo Collegamento

Iniziamo aprendo una shell e digitando:

# tail -f /var/log/syslog


Collegando ora l'iPod tramite il cavo USB dovremmo avere una risposta di questo tipo:

Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
Sep 30 20:50:12 kaneda kernel:   Vendor: Apple     Model: iPod              Rev: 1.62
Sep 30 20:50:12 kaneda kernel:   Type:   Direct-Access                      ANSI SCSI revision: 00
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:13 kaneda kernel:  sdb: sdb1 sdb2
Sep 30 20:50:13 kaneda kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Sep 30 20:50:13 kaneda kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  type 0
Sep 30 20:50:13 kaneda kernel: usb-storage: device scan complete

il che ci mostra le due partizioni dell'iPod, in questo caso sda1 ed sda2. La partizione che ci interessa è sda2, ovvero quella contenente i dati.

Creazione del mountpoint

Andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:

# mkdir /mnt/iPod

creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:


# addgroup ipod

ed aggiungiamo al gruppo gli utenti desiderati con:

# adduser "user" ipod

Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb. Se utilizziamo FAT:

# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod

Mentre con HFS:

# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod

per semplificare questa operazione, che può essere gestita in automatico da tools che stiamo per vedere, consiglio di scrivere una riga che salvi queste impostazioni nel vostro file /etc/fstab.


Esplorando questa partizione vedrete che i file sono nella directory:

/mnt/iPod/iPod_Control

(Se l'iPod è nuovo e non è mai stato utilizzato, non vi sarà nulla. Vedremo in seguito come creare tutto questo)

Installazione dei tools e delle gui

gnupod-tools

Il pacchetto fondamentale per gestire un iPod sotto GNU/Linux è gnupod-tools.Sul sito ufficiale potete trovare tutta la documentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida. Per ottenere gnupod-tools è sufficiente un:

# apt-get install gnupod-tools

YamiPod

YamiPod è un altro programma che si può scaricare sul sito www.yamipod.com molto simile a gtkpod, ma multipiattaforma (Linux, MacOS X, Win). Questo programma non è software libero (anche se il suo uso è gratuito).

QuodLibet

Anche l'ottimo e versatile QuodLibet consente, grazie ad un plugin apposito, di gestire direttamente e in maniera immediata l'iPod, sfogliarne i contenuti, cancellare brani e uploadare, ovviamente, brani o interi album dalla vostra libreria.

Il plugin può essere scaricato dal seguente URL: [1]. Estraete l'archivio in .quodlibet/plugins/songsmenu.

Nel caso non fossero già installati:

# apt-get install libgpod0 python2.3-gpod

Procuriamoci ora i file gpod.y e _gpod.so dalle librerie di python:

$ cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
$ cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod

A questo punto punto il nuovo plugin dovrebbe comparire nella lista dei plugin di QuodLibet (refresh o lanciate il programma). Basta attivare i plugin (Browse iPod e Copy To iPod) mediante checkbox e configurare mountpoint e device nell'apposita finestra di configurazione del plugin stesso.

Quodlibet ipod.png

gtkpod + codecs

per poter gestire il vostro iPod sarebbe ora sufficiente installare gtkpod. Tuttavia, per avere un pieno supporto che faccia dimenticare iTunes, sono necessari ancora dei piccoli passaggi. Visto che alcuni dei pacchetti di cui necessitiamo non sono presenti sui repository ufficiali, dovremo editare il nostro file:

/etc/apt/sources.list

aggiungendo i Marillat repository.

Ora siamo pronti all'ultimo passaggio: dopo aver dato un

# apt-get update

sarà sufficiente dare:

# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain

per avere pieno supporto ai formati aac e mp4.

Utilizzo dell'iPod

Preparazione dell'iPod con GNUpod-tools

Se l'iPod appena collegato è nuovo, questo non avrà l'albero delle directory necessario al suo utilizzo. Inoltre mancherà anche il file iTunesdb.ext, necessario per gestire la musica. ecco che entra in gioco GNUpod-tools, che con un semplice comando creerà tutto questo, sostituendo ad iTunesdb.ext GNUtunesDB.ext. Ecco come procedere:

# gnupod_INIT.pl -m /mnt/iPod

Per maggiori informazioni sull'iTunesdb visitate il wiki

Configurazione di GTKpod

La configurazione di GTKpod è molto semplice ed intuitiva. Nel menu Modifica si trova la voce "Preferenze", e da lì si può avere pieno controllo sulle impostazioni del programma, e sulla gestione del vostro iPod.

Esempio 1
Esempio 3
Esempio 2

Installare linux sull'iPod

È possibile installare anche un firmware basato su linux mantenendo inoltre il firmware Apple originale. Il progetto dal nome "ipodlinux" è ancora in fase di sviluppo, ma provvede già a dare un bootloader funzionante e dei player audio in via di perfezionamento. Oppure esistono altre soluzioni di firmware quali "RockBox" che, come Linux, risolvono il problema della limitazione software alla radice.

Collegamenti




Guida scritta da: jango Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized