A volte capita di avere la necessità di verificare cosa c’è dentro un file di archivio .tar.gz o forse solo bisogno di estrarre un paio di file da un altro archivio, questo è possibile, basta ricordare tutte le opzioni o semplicemente estrarre tutto in /tmp e poi eliminare il file che non servono
Ma c’è anche un modo più furbo per farlo, utilizzare archivemount
Cosa è archivemount? Citando Wikipedia:
archivemount è basato su file system FUSE per le differenti versioni di Unix, compreso Linux. Il suo scopo è quello di montare archivi (cioè tar, tar.gz, ecc) su un punto di mount in cui può essere letto o scritto come con qualsiasi altro file system. Questo rende l’accesso al contenuto dell’archivio, che può essere compresso, trasparente per altri programmi, senza decomprimerlo.
Questo è esattamente quello che stavamo cercando per lavorare sui nostri archivi in maniera totalmente trasparente.
Installazione
archivemount it’s available in most distribution, so install it using your distirbution package manager, on my Ubuntu 11.04 i’ve run from the terminal:
sudo aptitude install archivemount |
Aggiungere anche gli utenti che desiderano utilizzarlo al gruppo fuse (e fargli fare logout e login di nuovo se necessario), per farlo utilizzare il comando useradd
da terminale:
Sintassi:
useradd -G {group-name} username
Esempio
sudo useradd -G fuse linuxaria |
sintassi di archivemount
archivemount [-hVdfs] [-o options] archivepath mountpoint
Ci sono molte opzioni per archivemount e in generale per tutti i filesystem di tipo fuse, ma per iniziare, potete ignorarli, per cui la sintassi di base è solo:archivemount archivepath mountpoint
Quindi basta il percorso completo del vostro archivio e una directory libera dove montare il contenuto di tale archivio.
EXAMPLE SESSION
Considerare l’archivio compresso con tar e gzip “files.tgz” che contiene i file “file1” e “file2”, ed una directory vuota di nome “mnt”.
$ ls files.tgz mnt/ $ archivemount files.tgz mnt $ ls mnt file1 file2 [...Eseguire le letture/scritture desiderate sull'archivio via /mnt ...] $ umount mnt [... Tutte le modifiche vengono salvate nell'archivio ...]
Poichè fuse espone i suoi filesystem attraverso il kernel Linux, è possibile utilizzare qualsiasi applicazione per caricare e salvare file direttamente in tali archivi montati. Ciò consente di utilizzare il vostro editor di testo preferito, visualizzatore di immagini, o un lettore musicale per file che sono ancora all’interno di un file di archivio. Andando un passo in avanti, poichè archivemount supporta anche l’accesso in scrittura per alcuni formati di archivio, è anche possibile modificare un file di testo direttamente da dentro un archivio.
Formati degli Archivi
Il supporto per i formati archivio è fornito dalla libreria libarchive. Operazioni di lettura sono supportate:
- Archivi tar nel vecchio formato,
- La maggior parte delle varianti del formato POSIX “ustar” ,
- Il formato POSIX “pax interchange” ,
- Archivi tar nel formato GNU,
- La maggior parte dei formati degli archivi cpio,
- Immagini CD SO9660 (con o senza le estensioni RockRidge),
- Archivi Zip.
Archivi compressi con gzip, bzip2, o compress sono rilevati automaticamente e in modo trasparente decompressi.
I seguenti formati possono essere scritti:
- Archivi POSIX-standard “ustar”,
- Archivi POSIX “pax interchange format”,
- Archivi POSIX cpio,
- Due varienti degli archivi shar.
Prima di scrivere, l’archivio originale viene rinominato con una estensione .orig. Maggiori dettagli circa la lettura/scrittura si possono trovare nella documentazione di libarchive.
Popular Posts:
- None Found