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


Recentemente, ho eseguito il backup di molti dei miei dati e ho notato che posso salvare i file come .gz o .tar.gz, o .7z e .tar.7z, eccetera. Quali sono le differenze tra quello normale e il .tar.* variante? Quale di questi è consigliato durante i backup?


145
2018-04-15 01:09


origine




risposte:


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 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, il primo utilizzo tar o pax per ottenere tutti i file in un singolo file (archive.tar), quindi gzip it (archive.tar.gz). Se hai solo un file da comprimere (notes.txt), non c'è bisogno di tar, quindi basta gzip notes.txt quale risulterà in notes.txt.gz. Esistono altri tipi di compressione, ad esempio compress, bzip2 e xz che funzionano allo stesso modo di gzip (a parte l'uso di diversi tipi di compressione ovviamente)


173
2018-04-15 01:41



Questo ha senso, ma allora, perché posso fare un .7z archivio da più file, mentre posso anche fare un .tar.7z archivio da più file? - Exeleration-G
@ Exeleration-G 7zip non segue questo schema. È più simile a zip e rar. Non so quale sia il punto di utilizzo di tar in combinazione con 7zip è come non ho usato 7zip me stesso. - geirha
@ Exeleration-G Dopo aver letto le altre risposte, vedo che SaultDon risponde a questo; 7zip non memorizza la proprietà di unix e il permesso dei file archiviati (sembra essere principalmente orientato verso Windows, come zip e rar), quindi ha senso combinarlo con tar per ottenere la proprietà e le autorizzazioni preservate. - geirha
@geirha Contrassegna la domanda come risolta se trovi la risposta appropriata. - Ravi
Nella mia esperienza 7z è molto meglio a compressione di zip. Quando ho provato, mi ha salvato qualcosa come il 40% in più - Eoin


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

Quando parlo di archiviazione, intendo preservare i permessi, la struttura delle directory, ecc ...

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

Per conservare i permessi dei file, usa tar:

tar cpvf backup.tar folder

Il flag p salverà i permessi dei file. Usa 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 la 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 che già esistono.

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 / nome utente vs home / nome utente (notare la barra diretta in avanti).

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

Immagino che un file backup.tar.7z sia solo un file tar (con permessi) compresso da un file 7z, anche se non sarei sorpreso se si verificasse una piccola 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 un'ottima 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 (es. .Mp3, .jpg, .tiff / con lzma, .rpm, ecc.).


46
2018-04-15 01:45





gzip o bzip2 non sa nulla file system - nome del file, directory o struttura ad albero. Comprime solo il flusso di input, quindi il risultato dell'output. Anche gzip o bzip2 non possono archiviare le directory da sole, per questo motivo viene solitamente combinato con tar.

tar (archiver) - basta archiviare la struttura del file. gzip, bzip2 (compressore): basta comprimere l'input.

Penso che questa strategia sia venuta 'fai bene una cosa' Filosofia Unix. Tar funziona bene? Lascia stare così com'è. Hai bisogno di più rapporto di compressione di gzip? Ecco bzip2 o 7zip.


10
2018-04-15 04:55



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


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

quando eseguo il backup, consiglierei tar.7z in quanto ha il più alto tasso di compressione risparmiando spazio ma utilizza un programma extra (7zip). .tar.gz saranno file più grandi e faranno lo stesso lavoro, potresti anche usare bzip (.tar.bz / bz2) anche se non sono sicuro se questo ti si addice meglio visto che uso gzip o 7zip


8
2018-04-15 01:36





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 tarati e * 7z sono creati da 7zip.

Tuttavia, in Linux / Unix, è possibile nominare un file in qualsiasi modo desideri, quindi è completamente a discrezione del creatore dei file.


3
2018-04-15 01:21





Tar (Tape Archiver) è stato tradizionalmente utilizzato come contenitore in Unix / Linux per il pacchetto di file per il movimento. Imballa la struttura del file e conserva gli attributi del file, ma non comprime i file.

I programmi di compressione comprimono il file per renderlo più piccolo, ma potrebbero non gestire più file e / o potrebbero non gestire gli attributi del file necessari per Linux. Poiché tar esiste già ed è ben supportato, non vi è alcun motivo per archiviare i programmi per duplicare questa funzionalità, che è specifica della piattaforma (diversa per Windows e Linux). Inoltre, diversi programmi di compressione possono avere prestazioni diverse su diversi tipi di file, quindi è preferibile scegliere tra più di uno.


3
2018-04-15 01:34