Che cos'è il formato di file CPGZ?
L'estensione .cpgz identifica un archivio di file CPIO (Copy In, Copy Out) compresso che utilizza l'algoritmo di compressione Gzip come strato esterno. Il formato CPGZ non impone alcuna restrizione sul tipo di dati memorizzati - può contenere file di applicazioni, programmi di installazione, documenti o foto. La creazione di un .cpgz comporta due fasi sequenziali:
- Creazione di un archivio CPIO non compresso - produce un singolo flusso di file e directory, ciascuno preceduto da una sezione di intestazione contenente i metadati del file.
- Compressione tramite GZIP - un metodo lossless basato sull'algoritmo DEFLATE, che riduce le dimensioni complessive dell'archivio.
Poiché i file compressi con Gzip portano normalmente il suffisso .gz, l'estensione combinata .cpgz segue la stessa convenzione di denominazione in due parti di .tgz (un archivio TAR compresso con Gzip). Un file .cpgz inizia con i magic bytes standard di gzip 1F 8B 08 all'offset 0; dopo la decompressione, il flusso interno è un archivio CPIO, più comunemente nel formato SVR4 newc (magic 070701).
Il formato è strettamente associato a macOS, dove lo strumento da riga di comando ditto e Utility Compressione possono sia creare che estrarre file .cpgz. Su Linux e Unix, la pipeline equivalente è gunzip in pipe con cpio, oppure una singola chiamata utilizzando bsdtar.
Uno scenario comune nel mondo reale è la comparsa inaspettata di un .cpgz come artefatto di un errore: quando Utility Compressione di macOS non riesce a estrarre completamente un file .zip scaricato - perché il file è troncato, corrotto o strutturato in un modo che l'utility non gestisce correttamente - potrebbe ricomprimere il risultato parziale in un .cpgz. Facendo ripetutamente doppio clic sul file si crea un ciclo: ogni tentativo alterna tra uno .zip e un .cpgz senza mai estrarre il contenuto. La soluzione è acquisire nuovamente l'archivio originale o utilizzare uno strumento di terze parti come The Unarchiver o Keka.
CPIO risale all'era Unix degli anni '70, quando i nastri magnetici erano il principale supporto di archiviazione. Diverse varianti di CPIO memorizzano le intestazioni dei file in formato binario o testo ASCII, e le dimensioni massime per file variano da 2 GB nelle vecchie varianti binarie a 4 GB in SVR4 newc. L'accoppiamento .cpgz non è uno standard formale ma una convenzione pratica resa popolare dagli strumenti di macOS.
Sicurezza e incolumità
RISCHIO: LOWIl formato in sé è sicuro - si tratta solo di dati di archivio compressi che non possono essere eseguiti da soli. Si applica la normale cautela per gli archivi: un .cpgz da una fonte non attendibile può contenere eseguibili o script rivelati solo dopo l'estrazione, quindi scansiona i contenuti prima di eseguire qualsiasi cosa ed estrai gli archivi non attendibili in una cartella vuota (cpio può memorizzare percorsi assoluti o '../', un rischio di path-traversal). Il «problema» più comune con i .cpgz non è il malware ma la corruzione: un .cpgz inaspettato da un download di solito significa che lo .zip è arrivato danneggiato - scaricalo di nuovo invece di cercare di ripararlo.
Dettagli del formato
in sintesiProgrammi che aprono file CPGZ
cpio -idmv). Preinstallato sulla maggior parte dei sistemi. Dettagli tecnici
specifiche approfondite| Tipo MIME | application/gzip (primario); anche application/x-cpio e application/octet-stream |
| Magic bytes | 1F 8B 08 all'offset 0 (strato esterno gzip); il flusso cpio interno inizia con 070701 (SVR4 newc) dopo la decompressione |
| Compressione esterna | Algoritmo DEFLATE racchiuso in framing gzip (RFC 1952) |
| Formato archivio interno | CPIO - più comunemente SVR4 newc (magic 070701); anche ASCII portabile (magic 070707) |
| Codifica file | Flusso esterno binario; le intestazioni delle voci cpio newc utilizzano campi ASCII-hex a larghezza fissa, rendendole indipendenti dall'endianness |
| Controlli di integrità | Il piè di pagina gzip memorizza CRC-32 e ISIZE a 4 byte (dimensione non compressa mod 2³²); la variante 'crc' di cpio aggiunge checksum CRC-32 per ogni file |
| Crittografia | Nessuna - né gzip né cpio forniscono uno strato di crittografia integrato; i file devono essere crittografati separatamente se è richiesta la riservatezza |
| Dimensione massima file per voce | ~4 GB in SVR4 newc (campo filesize a 32 bit); il vecchio formato cpio binario era limitato a ~2 GB |
| Struttura archivio | Flusso sequenziale lineare senza directory centrale; tutte le voci devono essere lette dall'inizio del flusso |
| Intestazione voce cpio (newc) | Intestazione ASCII a lunghezza fissa di 110 byte per voce, seguita dal nome file terminato da null e dai dati del file con padding a limiti di 4 byte |
| Piattaforme associate | macOS (primaria); Linux; Unix |
| Strumento di creazione primario (macOS) | Utility da riga di comando ditto; Utility Compressione produce anche .cpgz come artefatto di errore quando uno .zip non può essere estratto completamente |
| Conteggio massimo voci | Nessun limite fisso; cpio trasmette le voci sequenzialmente senza un limite di record per la directory centrale |
| Estrazione in streaming | Sì - il design sequenziale consente l'estrazione basata su pipe (es. gunzip -c file.cpgz | cpio -idmv) senza caricare una directory in memoria |
| Rilasciato | cpio: 1970s Unix; gzip: 1992. The .cpgz pairing is a macOS convention. |
| Ultima versione | N/A (relies on stable gzip RFC 1952 + POSIX cpio formats) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.rfc-editor.org |
Conversioni CPGZ
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CPGZ.
Domande frequenti
Cos'è un file CPGZ?
Perché il mio ZIP si è trasformato in un CPGZ sul mio Mac?
Il mio .zip e il mio .cpgz continuano a scambiarsi - come risolvo?
Come si apre un file CPGZ?
ditto -x -k file.cpgz dest. Su Linux: gunzip -c file.cpgz | cpio -idv. Su Windows usa i software gratuiti 7-Zip o PeaZip.