BZIP2-arkisto (.bz2)

Bzip2 Standardi

Bzip2 (BZ2) on klassinen, patenttivapaa Unix-pakkaustyökalu ja tiedostomuoto, jonka loi Julian Seward. Se hyödyntää Burrows-Wheeler-muunnosta saavuttaakseen huomattavasti tiiviimmän pakkauksen kuin perinteinen Gzip.

Tarkastele tiedostoa ja sen metatietoja

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat BZ2-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa Ulkoisille palvelimille ei ole ladattu yhtään tavua. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Otsaketunniste tavutasolla (tunnistetavut)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat BZ2-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):

42 5A 68

ASCII-ESITYSTAPA: BZh

Standardointi: Bzip2 Open Source Standard

Tekniset tiedot

SäiliöarkkitehtuuriTietovirran otsake (”BZh” ja lohkokoon numero 1-9), jota seuraavat pakatut datalohkot ja 32-bittinen CRC-tarkistussumma
PakkausBurrows-Wheeler-muunnos (BWT), Move-to-Front-muunnos (MTF) ja Huffman-koodaus
Tavujärjestys (Endianness)Big-Endian-bittivirran kehystys
VäriavaruudetEi sovellu (tavujen pakkausvirta)
Kanavat ja rakenneYhden tiedoston pakattu tavujono
Suurimmat mitatRajoittamaton virran pituus (tukee mielivaltaisen kokoisia tiedostoja)
LäpinäkyvyysHäviötön, tavu tavulta täsmälleen palautuva datan säilytys
Suoratoisto ja progressiivinen latausPeräkkäinen lohkojen suoratoisto; jokaisella lohkolla on oma CRC-tarkistussumma

Tekninen vertailumatriisi: BZ2 vs. kilpailijat

Tekninen attribuuttiBZ2 (Nykyinen)GZXZZSTD
YdinalgoritmiBurrows-Wheeler-muunnos (BWT)Deflate (LZ77 + Huffman)LZMA / LZMA2Äärellisen tilan entropia + LZ77
Pakkaus Gzipiin verrattuna10-20 % pienempi tiedostokoko kuin GzipilläPerustaso20-30 % pienempi tiedostokoko kuin Gzipillä10-20 % pienempi tiedostokoko kuin Gzipillä
PurkunopeusHidas (noin 30-50 Mt/s)Nopea (noin 300 Mt/s)Kohtalainen (noin 100 Mt/s)Erittäin nopea (yli 1,5 Gt/s)
Lohkon tarkistussummatLohkokohtainen 32-bittinen CRCYhden virran CRC32Virran CRC64Virran xxHash64

Yleiset vioittumistavat ja heksadesimaalinen palautusopas

Purkaminen keskeytyy virheilmoitukseen 'bzip2: Data integrity error when decompressing'.

Perussyy: Kääntynyt bitti pakatussa lohkossa aiheuttaa BWT:n käänteispermutaatiomatriisin CRC32-varmennuksen epäonnistumisen.

Korjaus: Käytä 'bzip2recover'-työkalua vahingoittumattomien lohkojen pelastamiseen turmeltuneen sektorin ympäriltä.

Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit

Bzip2-toteutukset sisältävät monimutkaista bittivirran lajittelua ja Huffman-taulukoiden jäsennystä, joissa on historiallisesti esiintynyt kokonaislukujen ylivuotovikoja.

Tunnetut hyökkäysvektorit

  • Kokonaisluvun ylivuoto BWT-lajittelutaulukon varauksessa (esim. CVE-2016-3189).
  • Puskurin ulkopuolinen kirjoitus Huffman-purkutaulukon muodostuksen aikana.
  • Palvelunestohyökkäys patologisten syötteiden kautta, jotka aiheuttavat pahimman tapauksen neliölliset BWT-lajitteluajat.

Tietoturvan parhaat käytännöt: Pura BZ2-tiedostot muistiturvallisilla WASM-dekoodereilla, joissa on valvotut muistirajat.

Historia ja virstanpylväät

2019Federico Mena Quintero nykyaikaistaa bzip2-lähdekoodin ylläpitoa bzip3- ja muiden avoimen lähdekoodin hankkeiden puitteissa.
2000Versio 1.0 julkaistaan, mikä vakiinnuttaa bzip2-muodon Linux-jakeluissa ja pakettienhallinnassa.
1996Julian Seward julkaisee bzip2 0.15:n korvaamaan varhaisemman bzip-muodon, johon liittyi patenttihuolia.

Tärkeimmät edut

  • Pakkaa johdonmukaisesti 10-20 % pienemmäksi kuin perinteinen Gzip lähdekooditarhoissa, järjestelmälokeissa ja tekstitietokannoissa.
  • Itsenäinen lohkoarkkitehtuuri (100-900 kt) sisältää lohkokohtaiset 32-bittiset CRC-tarkistussummat luotettavaa eheystarkistusta varten.
  • Sisältyy valmiina moniin Linux-, BSD- ja macOS-jakeluihin; mukanaolo vaihtelee jakelun mukaan.

Tekniset rajoitukset

  • Pakkaus ja purkaminen ovat huomattavasti hitaampia kuin nykyaikaisilla algoritmeilla, kuten Zstandardilla.
  • Vain yhden tiedoston pakkaus: edellyttää yhdistämistä TAR-tiedoston kanssa (.tar.bz2) useiden tiedostojen tai hakemistojen paketoimiseksi.
  • Korkeampi suorittimen käyttöaste purun aikana kuin Gzipillä tai Zstd:llä.

Mielenkiintoisia teknisiä faktoja

  • BZh-taikamerkit tulevat sanoista 'Burrows-Wheeler Zip Huffman', joita seuraa numero ('1' - '9'), joka ilmaisee lohkon koon sadoissa kilotavuissa (esim. 'BZh9' = 900 kt).
  • Linux-ytimen lähdekoodia jaettiin yksinomaisesti .tar.bz2-muodossa yli vuosikymmenen ajan ennen siirtymistä .xz-muotoon.
  • Burrows-Wheeler-muunnos ei pakkaa dataa suoraan; se järjestelee merkkien järjestyksen uudelleen niin, että samanlaiset kirjaimet kasaantuvat yhteen.

Usein kysytyt tekniset kysymykset

Mitä eroa on .gz- ja .bz2-tiedostoilla?

.bz2 käyttää Burrows-Wheeler-muunnosta saavuttaakseen .gz-tiedostoja pienemmän koon, mutta sen pakkaaminen ja purkaminen kestää kauemmin.

Miksi bzip2-ohjelmassa on 'bzip2recover'-komento?

Koska bzip2 pakkaa tietoa itsenäisissä 900 kt:n lohkoissa, joilla jokaisella on oma CRC-tarkistussummansa, bzip2recover pystyy poimimaan vahingoittumattomia lohkoja, vaikka osa tiedostosta olisi vioittunut.

Miten voin purkaa .tar.bz2-tiedoston?

Voit purkaa .tar.bz2-tiedostot suoraan verkkoselaimessasi File2File.app-palvelulla ilman komentorivityökalujen käyttöä.