Forse sto per dirvi niente di nuovo e magari faccio pure la figura di quello che ha scoperto l’acqua calda, ma vorrei segnalarvi un software, o meglio, un componente per Quicktime, che vi permette di visualizzare molti formati video che non sono supportati in maniera nativa, ma che sono strausati al giorno d’oggi. Sto parlando di Perian, il coltellino svizzero per Mac OS X, secondo la definizione attribuita dal suo ideatore.
Il componente si presenta sotto forma di pannello delle preferenze, e, una volta installato, pensa in maniera autonoma alla parte di setup. Voi non dovete far altro che stare a guardare e in pochi secondi sarete già in grado di visualizzare file in formato divx, xvid, flv, mkv, ac3 e tanti altri.
Grazie a Perian non devo più installare programmi come VLC o il commerciale Divx Player, e adesso posso visualizzare tutti i miei video direttamente in Quicktime.
Un’ultima cosa altrettanto importante: Perian è Open Source!
Archivi categoria: Tips and tricks
Tiger e le impostazioni di network modificate
Andate nel menù Mela > Preferenze > Network e vi appare il messaggio:
Le tue impostazioni di network sono state modificate da un'altra applicazione
e non potete fare nulla se non quella di chiudere forzatamente la finestra?
Non vi crucciate troppo: anche i migliori a volte sbagliano. Il sistema operativo della Mela è robusto ed efficiente. Tuttavia non sempre fila tutto liscio. In questo caso, non so quale sia la causa. Sta di fatto però che non si riesce più a modificare le impostazioni di rete del proprio Macintosh.
Una soluzione un po’ radicale ma che ci permette una via di uscita, consiste nell’andare nella cartella Libreria/preferences/systemconfiguration
ed eliminare, se presenti, i seguenti file:
- com.apple.airport.preferences.plist
- NetworkInterfaces.plist
- preferences.plist
- com.apple.nat.plist
Quindi riavviare Mac OS X e il problema sarà risolto. Purtroppo come avevo accennato prima, questa soluzione è radicale in quanto si perdono tutte le impostazioni di rete. Quindi dovremo procedere col riconfigurare le nostre interfacce di rete.
Clonazione di un disco
In questo periodo sto leggendo un libro davvero interessante: Computer Forensics di Ghirardini – Faggioli, Apogeo Editore. Il testo tratta delle tecniche di analisi forense in ambito informatico. Grazie a questo libro ho appreso una nuova tecnica per effettuare il clone di un disco. Avevo già trattato questo argomento in precedenza. Tuttavia questo sistema è molto più accurato ed elegante e merita certamente di essere menzionato tra i miei appunti di informatica, in quanto tale metodologia può rivelarsi davvero utile.
Per prima cosa la copia: viene usato il comando dd che esegue una copia byte per byte a prescindere dal tipo di filesystem utilizzato. Ad esempio il comando:
# dd if=/dev/sda of=/percorso/nome_file.img bs=2048
esegue una copia del disco (device) sda (compresa l’MBR, la struttura delle partizioni e lo spazio non utilizzato) nel file nome_file.img. Ovviamente, invertendo gli argomenti, è possibile ripristinare un’immagine creata precedentemente nel disco.
La destinazione deve risiedere necessariamente in un disco diverso da quello sorgente. Quindi dobbiamo disporre di un altro supporto, interno o esterno, purché abbastanza capiente da contenere il file immagine, che avrà come dimensione finale la dimensione nominale del disco sorgente. Come possiamo fare se non si dispone di un supporto secondario? Gli autori descrivono come trasferire il file immagine in un’altra macchina via rete attraverso il tool netcat. Questo programma è in grado di restare in ascolto su una determinata porta e riportare tutto quello vi passa in un file. Dunque, possiamo procedere in questa maniera: nel computer di destinazione, che farà da server, avviare netcat:
$ netcat -l -p 5959 > nome_file.img
Sul pc client, dove risiede il disco da clonare:
# dd if=/dev/sda bs=2048 | netcat 192.168.0.1 5959
I parametri sono ovviamente a titolo di esempio. Quindi, nel caso reale, dovremo indicare l’indirizzo reale del server e una porta che non sia già usata da un altro programma in quel momento.
Una volta ottenuta l’immagine del disco, è possibile ripristinarla allo stesso modo, oppure montarla attraverso i loop device. Tuttavia dobbiamo ricordarci che quello che abbiamo in mano è la copia raw del disco e non una partizione. Quindi dobbiamo prima analizzare lo schema di partizionamento del disco, poi procedere con il montaggio della partizione di nostro interesse. Quindi:
$ fdisk -u -l nome_file.img
e otterremmo un risultato simile a questo:
Device Boot Start End Blocks Id System nome_file.img1 * 63 113627744 56813841 7 HPFS/NTFS nome_file.img2 113627745 156296384 21334320 7 HPFS/NTFS
Per montare la partizione dobbiamo calcolare il valore di offset che è dato dal numero di blocco iniziale * 512. Nell’esempio, la partizione nome_file.img1, che è di tipo ntfs inizia dal blocco 63, perciò: 63 * 512 = 32256. Quindi:
# mount -t ntfs -o ro,loop,offset=32256 nome_file.img /percorso/mountpoint
Un server FTP
Accedere ai file sul nostro server da remoto è più semplice se su di esso installiamo un servizio FTP. Questo protocollo è nato appositamente per lo scambio dei file da remoto e, sebbene esponga la nostra linux-box a qualche rischio di sicurezza in più, rende il suo utilizzo da remoto ancora più flessibile.
Un’installazione standard (ovvero senza particolari configurazioni) richiede pochissimo tempo. Innanzitutto installiamo il servizio vsftpd:
$ sudo apt-get install vsftpd
Quindi editiamo il file di configurazione /etc/vsftpd.conf e impostiamo i parametri che seguono:
#Disabilita il login anonimo anonymous_enable=NO #Abilita l'autenticazione basandosi sugli utenti locali local_enable=YES #Abilita la scrittura dei file per gli utenti accreditati write_enable=YES
Per rendere effettive le modifiche non resta che riavviare il servizio e poi siamo subito pronti per accedere al nostro server via FTP!
Localizzazione delle cartelle
Uno dei punti di forza di Mac OS X, dal punto di vista di un programmatore, è senza dubbio il sistema di localizzazione integrato in esso. Il Sistema Operativo offre allo sviluppatore una serie di strumenti che facilitano l’integrazione delle proprie applicazioni nella lingua usata dall’utente. Questi strumenti possono essere estesi non solo alle applicazioni, ma anche alle cartelle del filesystem. Se con il Finder apriamo la nostra Home, troviamo al suo interno le cartelle Documenti, Filmati e Musica. Ma se andiamo ad esplorarla attraverso il Terminale, ci accorgeremo che tali cartelle corrispondono alle directory Documents, Movies e Music.
Attraverso questo sistema, è possibile semplificare le operazioni sulle cartelle rendendole più user-friendly all’utente, senza complicare troppo la vita al programmatore, dal momento che egli, potrà sempre e comunque, fare riferimento alle path di queste cartelle attraverso il nome reale, senza preoccuparsi di come queste vengono chiamate dall’utente nella sua lingua.
Vediamo come possiamo personalizzare i nomi di queste cartelle, o meglio ancora, aggiungerne di altre.
Metodo 1
Questo metodo prevede la modifica della configurazione del Finder e, affichè la nostra cartella venga localizzata, occorre ripetere l’operazione sotto descritta in ogni singola installazione di Mac OS X. Questo approccio viene usato per le cartelle di sistema predefinite.
Andiamo nella nostra Home e creiamo la cartella Projects.
Quindi da terminale, attraverso il nostro editor di testo preferito (io uso vi) editiamo il file contenente le stringhe di localizzazione per l’italiano (ovviamente la regola vale per qualunque lingua, basta modificare il file corretto!):
$ sudo vi /System/Library/CoreServices/SystemFolderLocalizations/it.lproj/SystemFolderLocalizations.strings
e andiamo ad aggiungere la seguente riga:
"Projects" = "Progetti";
Salviamo il file e poi digitiamo il seguente comando:
$ touch Projects/.localized
Quest’ultimo crea un file all’interno della nostra cartella che indica al Finder di localizzarla usando la stringa che abbiamo impostato.
Per rendere effettive le modifiche dobbiamo disconnetterci e effettuare di nuovo il login, oppure riavviare il sistema.
Metodo 2
Questo metodo segue invece un approccio leggermente diverso in quanto le stringhe di localizzazione risiedono all’interno della cartella stessa. Per fare ciò dobbiamo innanzitutto aggiungere l’estensione .localized al nome della cartella. Questa volta creeremo la relativa directory direttamente da Terminale:
$ mkdir Projects.localized
Noterete fin da subito che il Finder mostrerà solo la prima parte del nome, nascondendone l’estensione.
Adesso creiamo la subdirectory .localized:
$ mkdir Projects.localized/.localized
Quindi creiamo al suo interno il file per la localizzazione in italiano:
$ vi Projects.localized/.localized/it.strings
e inseriamo la traduzione:
"Projects" = "Progetti";
Salvate le modifiche; dopodiché rifate il login oppure riavviate il sistema, al termine del quale troverete il nome della vostra cartella localizzata.
I metodi descritti in questo articolo sono validi purché nelle preferenze del Finder non sia stata spuntata l’opzione Mostra tutte le estensioni dei documenti (Menù Finder > Preferenze > Avanzate).
La localizzazione delle applicazioni invece, benché si basi sullo stesso principio, merita senza dubbio un articolo a parte, vista la maggior complessità.