Wat is het CPGZ-bestandsformaat?
De extensie .cpgz markeert een gecomprimeerd CPIO (Copy In, Copy Out) bestandsarchief dat het Gzip-compressiealgoritme als buitenste laag gebruikt. Het CPGZ-formaat legt geen beperkingen op aan het type gegevens dat wordt opgeslagen - het kan applicatiebestanden, installatieprogramma's, documenten of foto's bevatten. Het maken van een .cpgz omvat twee opeenvolgende fasen:
- Creatie van een ongecomprimeerd CPIO-archief - produceert een enkele stroom van bestanden en mappen, elk voorafgegaan door een header-sectie met bestandsmetadata.
- Compressie met GZIP - een lossless methode gebaseerd op het DEFLATE-algoritme, die de totale grootte van het archief verkleint.
Aangezien met Gzip gecomprimeerde bestanden normaal gesproken de extensie .gz dragen, volgt de gecombineerde .cpgz-extensie dezelfde tweedelige naamgevingsconventie als .tgz (een met Gzip gecomprimeerd TAR-archief). Een .cpgz-bestand begint met de standaard gzip magic bytes 1F 8B 08 op offset 0; na decompressie is de binnenste stroom een CPIO-archief, meestal in het SVR4 newc-formaat (magic 070701).
Het formaat wordt het meest geassocieerd met macOS, waar de command-line tool ditto en het Archiveringshulpprogramma beide .cpgz-bestanden kunnen maken en uitpakken. Op Linux en Unix is de equivalente pijplijn gunzip doorgestuurd naar cpio, of een enkele aanroep met bsdtar.
Een veelvoorkomend scenario in de praktijk is dat een .cpgz onverwacht verschijnt als een fout-artefact: wanneer het macOS Archiveringshulpprogramma een gedownloade .zip niet volledig kan uitpakken - omdat het bestand is afgebroken, corrupt is of op een manier is gestructureerd die het hulpprogramma verkeerd verwerkt - kan het het gedeeltelijke resultaat opnieuw comprimeren naar een .cpgz. Herhaaldelijk dubbelklikken op het bestand creëert dan een lus: elke poging wisselt af tussen een .zip en een .cpgz zonder ooit de inhoud uit te pakken. De oplossing is om het originele archief opnieuw te downloaden, of een tool van derden te gebruiken zoals The Unarchiver of Keka.
CPIO zelf stamt uit het Unix-tijdperk van de jaren 70, toen magneetbanden het primaire archiveringsmedium waren. Verschillende CPIO-varianten slaan bestandsheaders op in binair of ASCII-tekstformaat, en de maximale grootte per bestand varieert van 2 GB in oudere binaire varianten tot 4 GB in SVR4 newc. De .cpgz-koppeling is geen formele standaard, maar een praktische conventie die populair is geworden door macOS-tools.
Beveiliging & veiligheid
RISICO: LOWHet formaat zelf is veilig - het zijn slechts gecomprimeerde archiefgegevens die niet uit zichzelf kunnen worden uitgevoerd. De normale voorzichtigheid bij archieven is van toepassing: een .cpgz van een niet-vertrouwde bron kan uitvoerbare bestanden of scripts bevatten die pas na het uitpakken zichtbaar worden, dus scan de inhoud voordat u iets uitvoert, en pak niet-vertrouwde archieven uit in een lege map (cpio kan absolute of „../”-paden opslaan, een path-traversal risico). Het meest voorkomende „probleem” met .cpgz is geen malware maar corruptie: een onverwachte .cpgz bij een download betekent meestal dat de .zip beschadigd is aangekomen - download deze opnieuw in plaats van ertegen te vechten.
Formaatdetails
in een notendopProgramma's die CPGZ-bestanden openen
cpio -idmv). Vooraf geïnstalleerd op de meeste systemen. Technische details
diepe specificaties| MIME-type | application/gzip (primair); ook application/x-cpio en application/octet-stream |
| Magic bytes | 1F 8B 08 op offset 0 (gzip buitenlaag); binnenste cpio-stroom opent met 070701 (SVR4 newc) na decompressie |
| Buitenste compressie | DEFLATE-algoritme verpakt in gzip-framing (RFC 1952) |
| Binnenste archiefformaat | CPIO - meestal SVR4 newc (magic 070701); ook portable ASCII (magic 070707) |
| Bestandscodering | Binaire buitenstroom; cpio newc-headers gebruiken ASCII-hex-velden met vaste breedte, waardoor ze endian-onafhankelijk zijn |
| Integriteitscontroles | gzip-footer slaat CRC-32 en 4-byte ISIZE op (ongecomprimeerde grootte mod 2³²); cpio 'crc'-variant voegt CRC-32-checksums per bestand toe |
| Versleuteling | Geen - noch gzip noch cpio biedt een ingebouwde versleutelingslaag; bestanden moeten afzonderlijk worden versleuteld als vertrouwelijkheid vereist is |
| Max. bestandsgrootte per item | ~4 GB in SVR4 newc (32-bit bestandsgrootteveld); ouder binair cpio-formaat beperkt tot ~2 GB |
| Archiefstructuur | Lineaire sequentiële stroom zonder centrale directory; alle items moeten vanaf het begin van de stroom worden gelezen |
| cpio entry header (newc) | 110-byte ASCII-header met vaste lengte per item, gevolgd door de null-terminated bestandsnaam en bestandsgegevens opgevuld tot 4-byte grenzen |
| Geassocieerde platforms | macOS (primair); Linux; Unix |
| Primair creatiehulpmiddel (macOS) | ditto command-line utility; Archiveringshulpprogramma produceert ook .cpgz als een fout-artefact wanneer een .zip niet volledig kan worden uitgepakt |
| Maximum aantal items | Geen vaste limiet; cpio streamt items sequentieel zonder een limiet voor centrale directory-records |
| Streaming uitpakken | Ja - sequentieel ontwerp maakt pijplijn-gebaseerde extractie mogelijk (bijv. gunzip -c file.cpgz | cpio -idmv) zonder een directory in het geheugen te laden |
| Uitgebracht | cpio: 1970s Unix; gzip: 1992. The .cpgz pairing is a macOS convention. |
| Laatste versie | N/A (relies on stable gzip RFC 1952 + POSIX cpio formats) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.rfc-editor.org |
CPGZ conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CPGZ-bestanden.
Veelgestelde vragen
Wat is een CPGZ-bestand?
Waarom is mijn ZIP op mijn Mac veranderd in een CPGZ?
Mijn .zip en .cpgz blijven heen en weer wisselen - hoe los ik dit op?
Hoe open ik een CPGZ-bestand?
ditto -x -k file.cpgz dest uit. Op Linux: gunzip -c file.cpgz | cpio -idv. Gebruik op Windows het gratis 7-Zip of PeaZip.