3. Spiegazione degli strumenti di SquashFS

3.1. Utilizzo di mksquashfs

Il programma mksquashfs è lo strumento che serve a creare nuovi file system compressi e ad accodare nuovi dati a quelli esistenti. Il formato generale della riga di comando per mksquashfs è:


	bash# mksquashfs sorgente1 sorgente2 ... destinazione [opzioni]

Note sul comportamento predefinito di mksquashfs:

Si veda la prossima sezione maggiori dettagli su tutte le opzioni possibili.

3.2. Opzioni per la riga di comando

Tutte le opzioni possibili di mksquashfs sono mostrate nella tabella sotto.

Tabella 1. Opzioni per la riga di comando dello strumento mksquashfs

OpzioniDescrizione
-2.0 chiede a mksquashfs di creare un file system per la versione 2.0
-all-root o -root-ownedrende tutti i file sul file system di destinazione proprietà dell'utente root (UID=0, GID=0)
-always-use-fragmentsdivide tutti i file più grandi della dimensione di un blocco in frammenti di blocco (dalla versione 2.x). Ciò rende i rapporti di compressione più elevati
-b [block size]usa un blocco di dimensione [block size] per il file system (il valore predefinito per la versione 2.x è 32Kb, quello della versione 3.x, 128Kb) - può assumere i valori 4096, 8192, 16384, 32768, 65536 or 131072 byte
-be o -lechiede la creazione di un file system rispettivamente big endian o little endian
-check-dataabilita verifiche ulteriori sul file system
-e [file1] ( [file2] ... )specifica quali file e/o directory saranno omesse dal nuovo file system che viene creato
-ef [file]specifica un file che contenga la lista di file/directory da escludere
-force-gid [GID]imposta l'identificativo di gruppo [GID] per tutti i file del file system di destinazione (si può specificare come nome o come numero)
-force-uid [UID]imposta l'identificativo utente [UID] per tutti i file del file system di destinazione (si può specificare come nome o come numero)
-infostampa i nomi dei file, la loro dimensione originale ed il rapporto di compressione mentre vengono aggiunti al file system
-keep-as-directoryse la sorgente è una singola directory, essa sarà una sotto-directory della root nel file system creato
-noappendse il file o il dispositivo di destinazione contiene già un file system compresso, lo sovrascrive, piuttosto che accodare i nuovi dati al file system esistente
-no-duplicatesnon individua/rimuove i file duplicati
-noD o -noDataCompressionnon comprime i dati
-noF o -noFragmentCompressionnon comprime i frammenti di blocco (disponibile a partire dalla versione 2.x)
-no-fragmentsnon genera frammenti di blocco (disponibile a partire dalla versione 2.x; ciò produce un file system simile a quello creato dalla versione 1.x)
-noI o -noInodeCompressionnon comprime la tavola degli inode
-nopadnon arrotonda la dimensione del file system finale ad un valore multiplo di 4 Kb
-root-becomes [name]questa opzione può essere utilizzata quando si accodano dati ad un file system compresso pre-esistente; ciò produce una nuova root, e una directory [name] che contiene tutti i file e le directory pre-esistenti.
-versionstampa un messaggio con versione, copyright e licenza
-recover [name]ripristina i dati del file system utilizzando il file di ripristino [name] (3.3)
-no-recoverynon crea file di ripristino (3.3).
-no-exportsnon consente l'esportazione del file system mediante NFS (3.x)
-no-sparsenon esegue il controllo per file sparsi (3.x)
-processors [number]imposta il numero delle CPU per creare il file system. Il comportamento predefinito è quello di utilizzare tutti i processori disponibili (3.x)
--read-queue [size]imposta la coda di input a [size] Mb. (Il valore predefinito è 64 Mb)(3.x)
-write-queue [size]imposta la coda di output a [size] Mb (3.x)
-sort [sort_file]ordina i file in funzione della priorità nel [sort_file] (3.x)
-wildcardsabilita i metacaratteri estesi della shell per escludere directory/file (da usare con l'opzione -e)
-regexabilita l'utilizzo delle espressioni regolari POSIX (3.3)

Nella maggior parte dei casi, le opzioni predefinite per compressione e blocchi, permettono a mksquashfs di ottenere il miglior rapporto di compressione possibile.

3.3. Utilizzo di unsquashfs

Il programma unsquashfs è lo strumento che serve ad estrarre dati dal file system compresso. Il forma generale della riga di comando per unsquashfs è:


unsquashfs [opzioni] target [file/directory da estrarre]

Note per il comportamento di unsquashfs:

Le possibili opzioni per unsquashfs sono mostrate nella tabella sotto.

Tabella 2. Opzioni per la riga di comando dello strumento unsquashfs

OpzioneDescrizione
-v[ersion] stampa un messaggio con versione, copyright e licenza.
-i[nfo]stampa i nomi dei file mentre vengono estratti dal file system
-l[ist]elenca il contenuto del file system compresso senza estrarre i file
-lielenca i file con i loro attributi mentre vengono estratti (3.3)
-llelenca i file del file system compresso senza eseguire estrazione (3.3)
-d[estination] pathspecifica un percorso di destinazione per gli oggetti estratti
-f[orce]se i file esistono li sovrascrive
-s[tat]mostra le informazioni sul superblocco del file system (può individuare la versione del file system e le opzioni usate per comprimerlo - 3.3)
-e[f] [extract file]elenca le directory e i file da estrarre (le voci vanno date una per linea) (3.3)
-r[egex] utilizza epressioni regolari POSIX per gli oggetti da estrarre (3.3)

Nota che a partire dal rilascio 3.x è possibile estrarre anche file system creati con la versione 1.x o 2.x di mksquashfs.