Esistono almeno quattro lavori separati che sono spesso confusi insieme perché gli strumenti popolari li integrano:
- Archiviazione: la possibilità di combinare più file (compresi i metadati) in un singolo file, preservando quante più cose possibile. Nel mondo Linux / Unix, l'archiviazione viene tradizionalmente eseguita in formato file TAR.
- Compressione: la capacità di ridurre al minimo le dimensioni di un flusso di dati binari. Nel mondo Linux / Unix, questo è tradizionalmente fatto da GZip e BZip2.
- Crittografia: la possibilità di mescolare i dati con le chiavi
- Checksum: la capacità di rilevare (e possibilmente correggere) errori.
L'ubiquità di .tar.gz e .tar.bz corrisponde alla filosofia Unix di piccoli strumenti che fanno bene un singolo lavoro, rispetto a un singolo strumento che fa tutto. Il formato del file TAR non supporta la compressione o la crittografia, ma può essere ulteriormente compresso da qualsiasi compressore (incluso come .tar.zip o .tar.7z). Il lavoro di GZip e BZip2 è semplicemente quello di comprimere un flusso di file in un altro filestream, il livello di compressione non deve preoccuparsi di come conservare i metadati o la crittografia o il checksum. Nel corso del tempo, tuttavia, nel tar
programma sono state create diverse scorciatoie per lavorare in modo più conveniente con un compressore.
In formato zip e 7z, questi lavori separati vengono eseguiti da un singolo programma in un unico formato super file.
Perché la tendenza di cui sopra sembra reggere, anche se tutti questi sono formati portatili? Ci sono dei vantaggi particolari nell'utilizzare un particolare formato di archivio su una particolare piattaforma?
Poiché è stato fatto così, i codici sorgente del programma sono tradizionalmente distribuiti come .tar.gz o .tar.bz2, perché preservare i permessi dei file, i tempi di modifica, ecc. Sono importanti per vari strumenti usati per la programmazione (es. Make).
La fase separata di archiviazione e compressione ha funzionato per anni molto bene, ha un chiaro vantaggio di poter mescolare e abbinare liberamente archiviazione e compressione e il suo svantaggio (un processo di compressione in 2 fasi) può essere facilmente aggirato sviluppando strumenti più intelligenti ( il più moderno programma di compressione linux comprime direttamente in .tar.gz o .tar.bz2, nascondendo il passaggio intermedio).
Non vi è alcun motivo valido per passare ad altri formati di file, i compressori più recenti non hanno un tasso di compressione significativamente migliore per giustificare la rottura della tradizione e tar può preservare tutto abbastanza bene.