Qual è la differenza tra .tar.gz e .gz, o .tar.7z e .7z?


158

Di recente, ho eseguito il backup di molti dei miei dati e ho notato che posso salvare i file come .gzo .tar.gz, oppure .7ze .tar.7z, eccetera. Quali sono le differenze tra quella normale e la .tar.*variante? Quale di questi è consigliato durante i backup?

Risposte:


183

Se provieni da uno sfondo di Windows, potresti avere familiarità con i formati zip e rar. Questi sono archivi di più file compressi insieme.

Nei sistemi Unix e simili a Unix (come Ubuntu), l'archiviazione e la compressione sono separate.

tar mette più file in un singolo file (tar).

gzip comprime un file (solo).

Quindi, per ottenere un archivio compresso, si combinano i due, per prima cosa taro paxper ottenere tutti i file in un singolo file (archive.tar), quindi gzip(archivio.tar.gz). Se hai solo un file che devi comprimere (notes.txt), non c'è bisogno di tar, quindi fai semplicemente quello gzip notes.txtche si tradurrà in notes.txt.gz. Esistono altri tipi di compressione, come compress, bzip2e xzche funzionano allo stesso modo di gzip (oltre all'utilizzo di diversi tipi di compressione ovviamente)


6
Ciò ha senso, ma allora, perché posso creare un .7zarchivio da più file, mentre posso anche fare un .tar.7zarchivio da più file?
Exeleration-G,

3
@ Exeleration-G 7zip non segue questo schema. È più come zip e rar. Non sono sicuro di quale sia il senso dell'uso di tar in combinazione con 7zip poiché non ho usato 7zip da solo.
geirha,

42
@ Exeleration-G Dopo aver letto le altre risposte, vedo SaultDon rispondere a questa domanda; 7zip non memorizza la proprietà unix e l'autorizzazione dei file archiviati (sembra essere principalmente orientata verso Windows, come zip e rar), quindi ha senso combinarlo con tar per mantenere la proprietà e le autorizzazioni.
geirha,

@geirha Segna la domanda come risolta se trovi la risposta appropriata.
Ravi,

1
Nella mia esperienza 7z è molto meglio in compressione rispetto a zip. Quando l'ho provato mi ha risparmiato qualcosa del 40% in più
Eoin

49

Dipende da cosa stai cercando ... Compressione o archiviazione?

Quando parlo di archiviazione, intendo preservare le autorizzazioni, la struttura delle directory, ecc ...

La compressione può ignorare la maggior parte di ciò e semplicemente ottenere i tuoi file in pacchetti più piccoli.

Per conservare le autorizzazioni dei file, utilizzare tar:

tar cpvf backup.tar folder

Il flag p salverà le autorizzazioni per i file. Utilizzare il flag z per la compressione gzip o il flag j per la compressione bzip.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Se vuoi avere un file tar puoi "aggiornare" il pacchetto tar usando il flag P:

tar cpPvf backup.tar folder

Quindi per aggiornare, sostituire 'c' con 'u' e quando si decomprime, è possibile utilizzare 'k' per conservare i file già esistenti.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

Il flag P salva i file con percorsi completi, quindi - / home / username vs home / username (notare la barra in avanti).

La compressione 7z offre una maggiore compressione, ma non conserva la proprietà dei file, le autorizzazioni, ecc. Rzip è un'altra utility di compressione che offre una compressione comparabile anche con 7z.

Immagino che un file backup.tar.7z sia solo un file tar (con autorizzazioni) compresso da un file 7z, anche se non sarei sorpreso se si verificasse poca compressione perché 7z potrebbe non essere in grado di scaricare i metadati del file. È la capacità di 7z di escludere i metadati del file che può offrire una grande compressione (tra le altre cose ovviamente).

La compressione dipende interamente anche dal tipo di dati. Alcuni file non si comprimono bene perché potrebbero essere già compressi con altri mezzi (ad es. .Mp3, .jpg, .tiff / con lzma, .rpm, ecc.).


11

gzip o bzip2 non lo sanno file system- nome del file, directory o struttura ad albero. Comprime solo il flusso di input, quindi il risultato di output. Anche gzip o bzip2 non possono archiviare le directory da soli, ecco perché di solito è combinato con tar.

tar (archiviatore) - solo struttura dei file di archivio. gzip, bzip2 (compressore) - basta comprimere l'input.

Penso che questa strategia sia nata dalla filosofia Unix "fai bene una cosa" . Tar funziona bene? Lascialo così com'è. Hai bisogno di un rapporto di compressione maggiore di gzip? Ecco bzip2 o 7zip.


In realtà 7zip può archiviare come zip o rar.
Mait

8

i suoi diversi stili di compressione, tar di per sé è semplicemente archiviato (poca o nessuna compressione). tar.gz è un archivio tar ma i contenuti sono compressi da gzip (compressione moderata), quindi .gz e tar.7z sono compressi usando 7zip (di solito compressione super alta)

durante il backup, consiglierei tar.7z in quanto ha il più alto tasso di compressione risparmiando spazio ma utilizza un programma aggiuntivo (7zip). .tar.gz sarà un file più grande e farà lo stesso lavoro, potresti anche usare bzip (.tar.bz / bz2) anche se non sono sicuro che ti si adatta meglio mentre uso gzip o 7zip


4

in genere, i file * .tar sono solo file tar creati dal programma tar, i programmi * .gz sono creati da gzip, * .tar.gz (a volte anche * .tgz) sono file tar gziped e * .7z sono creati da 7zip.

Tuttavia, in Linux / Unix, si può nominare un file praticamente come vuole, quindi è completamente a discrezione del creatore dei file.


3

Tar (Tape Archiver) è stato tradizionalmente usato come contenitore in Unix / Linux per impacchettare i file per il movimento. Comprime la struttura del file e mantiene gli attributi del file, ma non comprime i file.

I programmi di compressione comprimono il file per ridurlo, ma potrebbero non gestire più file e / o potrebbero non gestire gli attributi di file necessari per Linux. Poiché tar esiste già ed è ben supportato, non c'è motivo per cui i programmi di archiviazione duplicino questa funzionalità, che è specifica della piattaforma (per quanto riguarda Windows e Linux). Inoltre, diversi programmi di compressione possono funzionare in modo diverso su diversi tipi di file, quindi è preferibile scegliere più di uno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.