hvorfor skal jeg bruge tar.xz i stedet for tar.gz? xz er et tabsfrit datakomprimeringsprogram og filformat [duplikat]

Dette spørgsmål har allerede svar her :

Kommentarer

  • Jeg tror, du bliver nødt til at indstille op en simpel test og se, hvad komprimeringsprogram er " bedst " til dig. Ingen andre kan fortælle dig det.

Svar

gzip og xz bruger to forskellige algoritmer, og derfor fungerer de forskelligt, både hvad angår komprimeringsniveau de opnår og med hensyn til mængden af ressourcer, de bruger under komprimering eller dekomprimering.

I generelt opnår xz højere kompressionsforhold, men har brug for meget mere hukommelse og tid.

Jeg personligt brug xz til arkivering af data; store filer, som jeg har brug for at lægge væk i lang tid. Jeg bruger gzip ellers, da det normalt er hurtigere.

Test dem begge og se, hvordan de klarer sig i dit gennemsnit tar (eller hvad som helst) fil.

Svar

xz er blevet lidt af en standard, når det kommer til pakkehåndtering i de senere år.

LZMA2-kompressionsalgoritmen xz bruger, er undtagelsesvis effektiv med tekst (og “tekstlignende”) data. Jeg bruger det personligt til stort set alt, hvor beregningshastighed ikke er et problem (xz dekomprimerer meget hurtigere end komprimering, det er faktisk et af dets designmål).

Så det er fantastisk til ting som arkivering eller sikkerhedskopiering (generelt set filer der bliver dekomprimeret meget, men hvor data komprimeres ikke hele tiden eller ændres osv.). Det er ikke en så god beslutning for streamkomprimering – i det mindste ikke så ofte, fordi LZMA2 ikke er nøjagtigt lys på ressourcer, når du komprimerer.

Men jeg vil gerne kommentere en anden erklæring af din: “skal”. Hvad du skal eller ikke bør bruge, afhænger af, hvad du har brug for dine data til. Selvom xz og LZMA2 har eksisteret i årevis, folk overvejer stadig at komprimere med gz som tilbagefald af kompatibilitetsårsager. Ting som Trac eller cgit tilbyder .tar.gz, .7z og .tar.xz. Med .tar.gz mulighed der, fordi det har været “for evigt” og det ” et godt tilbagefaldsmål på enhver form for enhed, uanset hvor minimal eller gammel.

Ligesom et modeksempel, lzop er en hurtig og ressourcebesparende kompressor, som ofte bruges på rumfartøjer, men ellers ikke særlig effektiv. Jeg kunne ikke sige, at det ikke bruges i vid udstrækning. Det bruges ofte på systemer, hvor det er vigtigere at hurtigt komprimere noget med lidt strøm og computerplads.

Så hvad du skal eller ikke bør bruge, er det, der giver mest mening for dig og de mennesker, der interagerer med dine data.


En ting, der for nylig kom ind i mit sind: man sider komprimeres rutinemæssigt med gzip. Hvis du f.eks. Ser på /usr/share/man/man1/, vil du se mange filer, der ligner mv.1.gz, hvis ikke alle er komprimerede Nu ville det uden tvivl være fornuftigt at skifte til .xz filer på grund af den bedre komprimering, men pladsgevinsterne er minimale sammenlignet med de negative effekter fra grøft .gz til .xz. Årsagen til det er den næsten universelle kompatibilitet. Selv åbning af .gz komprimerede filer direkte i Vim fungerer fint og fungerer som gennemsigtig komprimering.

Svar

Formatet .xz giver et par avancerede funktioner. Samtidig er det blevet holdt enkelt nok til at være anvendeligt i mange integrerede systemer. Her er en oversigt over funktionerne:

  • Tilfældig adgangslæsning: Dataene kan opdeles i uafhængigt komprimerede blokke. Hver -filen indeholder et indeks over blokkene, som muliggør begrænset læsning af tilfældig adgang, når blokstørrelsen er lille nok.
  • Integritetskontrol: Integritet af alle overskrifter er altid beskyttet med CRC32 . Integriteten af de faktiske data kan verificeres med CRC32, CRC64, SHA-256 …
  • Sammenkædning: Ligesom med .gz og .bz2 filer er det muligt at sammenkæde .xz filer som de er. Dekompressoren kan dekomprimere en sammenkædet fil, som om det var en almindelig single-stream .xz -fil.
  • Padding: Binære nuller kan tilføjes til .xz filer for at blokere dem for at udfylde f.eks en blok på et backupbånd. Polstringen skal have flere byte, fordi størrelsen på hver gyldig .xz -fil er et multiplum af fire byte.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *