Vraag Wat is het verschil tussen .tar.gz en .gz of .tar.7z en .7z?


Onlangs heb ik veel van mijn gegevens opgeslagen en het viel me op dat ik bestanden kan opslaan als .gz of .tar.gzof .7z en .tar.7z, enzovoort. Wat zijn de verschillen tussen de normale en de .tar.* variant? Welke van deze is geadviseerd bij het maken van back-ups?


145
2018-04-15 01:09


oorsprong




antwoorden:


Als u van een Windows-achtergrond komt, bent u wellicht bekend met de zip- en rar-indelingen. Dit zijn archieven van meerdere samengeperste bestanden.

In Unix en Unix-achtige systemen (zoals Ubuntu) zijn archivering en compressie gescheiden.

tar zet meerdere bestanden in een enkel (tar) bestand.

gzip comprimeert één bestand (alleen).

Dus om een ​​gecomprimeerd archief te krijgen, combineer je de twee, het eerste gebruik tar of pax om alle bestanden in een enkel bestand (archive.tar) te krijgen, dan gzip het (archive.tar.gz). Als je maar één bestand hebt dat je moet comprimeren (notes.txt), dan is tar niet nodig, dus doe het gewoon gzip notes.txt wat zal resulteren in notes.txt.gz. Er zijn andere soorten compressie, zoals compress, bzip2 en xz die op dezelfde manier werken als gzip (behalve natuurlijk het gebruik van verschillende soorten compressie)


173
2018-04-15 01:41



Dat is logisch, maar waarom kan ik het dan maken? .7z archiveren vanuit meerdere bestanden, terwijl ik ook een kan maken .tar.7z archiveren uit meerdere bestanden? - Exeleration-G
@ Exeleration-G 7zip volgt dit schema niet. Het is meer zoals zip en rar. Ik weet niet zeker wat het nut is van het gebruik van teer in combinatie met 7zip, omdat ik zelf geen 7zip heb gebruikt. - geirha
@ Exeleration-G Na het lezen van de andere antwoorden, zie ik dat SaultDon dit antwoord geeft; 7zip slaat geen unix-eigendom en toestemming van de gearchiveerde bestanden op (het lijkt voornamelijk gericht te zijn op Windows, zoals zip en rar), dus is het logisch om het te combineren met tar om eigendom en permissies te behouden. - geirha
@geirha Markeer de vraag als opgelost als u het juiste antwoord vindt. - Ravi
In mijn ervaring is 7z veel beter in compressie dan zip. Toen ik het testte, bespaarde ik iets als 40% extra - Eoin


Het hangt ervan af wat je zoekt ... Compressie of archivering?

Als ik praat over archivering, bedoel ik het behoud van rechten, mappenstructuur, enz ...

Compressie negeert het meeste hiervan en haalt uw bestanden gewoon in kleinere pakketten.

Gebruik tar: om bestandstoestemmingen te behouden:

tar cpvf backup.tar folder

Met de vlag p worden bestandstoestemmingen opgeslagen. Gebruik de vlag z voor gzip-compressie of de j-vlag voor bzip-compressie.

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

Als u een tar-bestand wilt, kunt u het pakket "bijwerken" met behulp van de vlag P:

tar cpPvf backup.tar folder

Dan om te updaten, vervang 'c' door 'u' en bij het uitpakken kunt u 'k' gebruiken om bestaande bestanden te behouden.

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

De vlag P slaat bestanden op met volledige paden, dus - / home / gebruikersnaam vs home / gebruikersnaam (let op de naar voren wijzende schuine streep).

7z-compressie biedt betere compressie, maar behoudt niet het eigendom van bestanden, machtigingen, etc. Rzip is een ander compressieprogramma dat vergelijkbare compressie met 7z biedt.

Ik denk dat een backup.tar.7z-bestand slechts een tar-bestand is (met permissies) gecomprimeerd door een 7z-bestand, hoewel het me niet zou verbazen dat er weinig compressie plaatsvond omdat 7z de bestandsmetadata mogelijk niet kon dumpen. Het is 7z's vermogen om de metadata van het bestand uit te sluiten dat het geweldige compressie kan bieden (onder andere natuurlijk).

Compressie is ook volledig afhankelijk van het gegevenstype. Sommige bestanden comprimeren niet goed omdat ze al op een andere manier kunnen worden gecomprimeerd (bijv. .Mp3, .jpg, .tiff / met lzma, .rpm, enz.).


46
2018-04-15 01:45





gzip of bzip2 weet het niet file system - bestandsnaam, map of boomstructuur. Het comprimeert gewoon de invoerstroom en vervolgens het resultaat. Zelfs gzip of bzip2 kunnen mappen niet zelf archiveren, daarom wordt het meestal gecombineerd met teer.

tar (archiver) - archiveer gewoon de bestandsstructuur. gzip, bzip2 (compressor) - comprimeer gewoon de invoer.

Ik denk dat deze strategie is ontstaan 'een ding goed doen' Unix-filosofie. Tar werkt goed? Laat het zoals het is. Meer compressieratio nodig dan gzip? Hier is bzip2 of 7zip.


10
2018-04-15 04:55



Eigenlijk kan 7zip archiveren zoals zip of rar. - Mait


de verschillende compressiestijlen, tar op zich is eenvoudig gearchiveerd (weinig tot geen compressie). tar.gz is een tar-archief maar de inhoud wordt gecomprimeerd door gzip (gematigde compressie) vandaar dat de .gz en tar.7z gecomprimeerd zijn met 7zip (meestal super hoge compressie)

bij het maken van een back-up raad ik tar.7z aan, omdat deze de hoogste compressieratio heeft en je ruimte spaart, maar een extra programma (7zip) gebruikt. .tar.gz zullen grotere bestanden zijn en hetzelfde werk doen, je zou ook bzip (.tar.bz / bz2) kunnen gebruiken, hoewel ik niet zeker ben of dat jou het beste zou passen als ik gzip of 7zip gebruik


8
2018-04-15 01:36





meestal zijn * .tar-bestanden tar-bestanden die door het tar-programma zijn gemaakt. * .gz-programma's worden gemaakt door gzip, * .tar.gz (ooit ook * .tgz) zijn gziped-tar-bestanden en * .7z zijn gemaakt door 7zip.

Echter, in Linux / Unix kan men een bestand eigenlijk een naam geven die hij maar wil, dus het is geheel aan het oordeel van de maker van de bestanden.


3
2018-04-15 01:21





Tar (Tape Archiver) wordt van oudsher gebruikt als een container in Unix / Linux om bestanden te verpakken voor verplaatsing. Het verpakt de bestandsstructuur en onderhoudt bestandskenmerken, maar comprimeert de bestanden niet.

Compressieprogramma's comprimeren het bestand om het kleiner te maken, maar ze kunnen mogelijk niet overweg met meerdere bestanden en / of ze kunnen de bestandsattributen die nodig zijn voor Linux niet afhandelen. Omdat tar al bestaat en goed wordt ondersteund, is er geen reden om programma's te archiveren om deze functionaliteit te dupliceren, die platformspecifiek is (opnieuw, anders voor Windows en Linux). Ook kunnen verschillende compressieprogramma's verschillend presteren op verschillende soorten bestanden, dus het is wenselijk een keuze te maken uit meer dan één.


3
2018-04-15 01:34