Co to jest format pliku CPGZ?
Rozszerzenie .cpgz oznacza skompresowane archiwum plików CPIO (Copy In, Copy Out), które wykorzystuje algorytm kompresji Gzip jako warstwę zewnętrzną. Format CPGZ nie nakłada żadnych ograniczeń na typ przechowywanych danych - może zawierać pliki aplikacji, instalatory, dokumenty lub zdjęcia. Tworzenie pliku .cpgz obejmuje dwa kolejne etapy:
- Utworzenie nieskompresowanego archiwum CPIO - tworzy pojedynczy strumień plików i katalogów, z których każdy jest poprzedzony sekcją nagłówka zawierającą metadane pliku.
- Kompresja przy użyciu GZIP - bezstratna metoda oparta na algorytmie DEFLATE, która zmniejsza całkowity rozmiar archiwum.
Ponieważ pliki skompresowane Gzip zazwyczaj noszą przyrostek .gz, połączone rozszerzenie .cpgz jest zgodne z tą samą dwuczęściową konwencją nazewnictwa co .tgz (archiwum TAR skompresowane Gzip). Plik .cpgz zaczyna się od standardowych bajtów magicznych gzip 1F 8B 08 pod offsetem 0; po dekompresji wewnętrzny strumień jest archiwum CPIO, najczęściej w formacie SVR4 newc (magiczna liczba 070701).
Format ten jest najściślej związany z systemem macOS, gdzie narzędzie wiersza poleceń ditto oraz Narzędzie archiwizacji mogą zarówno tworzyć, jak i wypakowywać pliki .cpgz. W systemach Linux i Unix odpowiednim potokiem jest gunzip przekierowany do cpio lub pojedyncze wywołanie za pomocą bsdtar.
Częstym scenariuszem w świecie rzeczywistym jest nieoczekiwane pojawienie się pliku .cpgz jako artefaktu błędu: gdy Narzędzie archiwizacji w macOS nie może w pełni wypakować pobranego pliku .zip - ponieważ plik jest ucięty, uszkodzony lub ma strukturę, z którą narzędzie sobie nie radzi - może ono ponownie skompresować częściowy wynik do formatu .cpgz. Wielokrotne dwukrotne klikanie pliku tworzy wtedy pętlę: każda próba przełącza między .zip a .cpgz bez wypakowania zawartości. Rozwiązaniem jest ponowne pobranie oryginalnego archiwum lub użycie narzędzia innej firmy, takiego jak The Unarchiver lub Keka.
Samo CPIO pochodzi z ery Uniksa z lat 70. XX wieku, kiedy taśmy magnetyczne były głównym nośnikiem archiwizacji. Różne warianty CPIO przechowują nagłówki plików w formacie binarnym lub tekstowym ASCII, a maksymalne rozmiary plików wahają się od 2 GB w starszych wariantach binarnych do 4 GB w SVR4 newc. Połączenie .cpgz nie jest formalnym standardem, lecz praktyczną konwencją spopularyzowaną przez narzędzia macOS.
Bezpieczeństwo
RYZYKO: LOWSam format jest bezpieczny - to tylko skompresowane dane archiwalne, które nie mogą same się uruchomić. Obowiązuje normalna ostrożność przy archiwach: plik .cpgz z niezaufanego źródła może zawierać pliki wykonywalne lub skrypty ujawnione dopiero po wypakowaniu, więc przeskanuj zawartość przed uruchomieniem czegokolwiek i wypakowuj niezaufane archiwa do pustego folderu (cpio może przechowywać ścieżki bezwzględne lub „../”, co stanowi ryzyko ataku path-traversal). Najczęstszym „problemem” z .cpgz nie jest złośliwe oprogramowanie, lecz uszkodzenie: nieoczekiwany .cpgz z pobierania zazwyczaj oznacza, że .zip dotarł uszkodzony - lepiej pobrać go ponownie niż z nim walczyć.
Szczegóły formatu
w pigułceProgramy otwierające pliki CPGZ
cpio -idmv). Preinstalowane w większości systemów. Szczegóły techniczne
specyfikacja| Typ MIME | application/gzip (główny); także application/x-cpio i application/octet-stream |
| Bajty magiczne | 1F 8B 08 pod offsetem 0 (warstwa zewnętrzna gzip); wewnętrzny strumień cpio otwiera się z 070701 (SVR4 newc) po dekompresji |
| Kompresja zewnętrzna | Algorytm DEFLATE opakowany w ramki gzip (RFC 1952) |
| Wewnętrzny format archiwum | CPIO - najczęściej SVR4 newc (magiczna liczba 070701); także przenośny ASCII (magiczna liczba 070707) |
| Kodowanie pliku | Binarny strumień zewnętrzny; nagłówki wpisów cpio newc używają pól ASCII-hex o stałej szerokości, co czyni je niezależnymi od kolejności bajtów (endianness) |
| Kontrole integralności | Stopka gzip przechowuje CRC-32 i 4-bajtowy ISIZE (rozmiar nieskompresowany mod 2³²); wariant cpio „crc” dodaje sumy kontrolne CRC-32 dla każdego pliku |
| Szyfrowanie | Brak - ani gzip, ani cpio nie zapewniają wbudowanej warstwy szyfrowania; pliki muszą być szyfrowane oddzielnie, jeśli wymagana jest poufność |
| Maksymalny rozmiar pliku na wpis | ~4 GB w SVR4 newc (32-bitowe pole rozmiaru pliku); starszy binarny format cpio ograniczony do ~2 GB |
| Struktura archiwum | Liniowy strumień sekwencyjny bez centralnego katalogu; wszystkie wpisy muszą być odczytywane od początku strumienia |
| Nagłówek wpisu cpio (newc) | 110-bajtowy nagłówek ASCII o stałej długości na wpis, po którym następuje nazwa pliku zakończona znakiem null i dane pliku wyrównane do granic 4-bajtowych |
| Powiązane platformy | macOS (główna); Linux; Unix |
| Główne narzędzie do tworzenia (macOS) | Narzędzie wiersza poleceń ditto; Narzędzie archiwizacji również tworzy .cpgz jako artefakt błędu, gdy nie można w pełni wypakować pliku .zip |
| Maksymalna liczba wpisów | Brak stałego limitu; cpio przesyła wpisy sekwencyjnie bez ograniczenia rekordu katalogu centralnego |
| Wypakowywanie strumieniowe | Tak - sekwencyjna konstrukcja umożliwia wypakowywanie oparte na potokach (np. gunzip -c file.cpgz | cpio -idmv) bez ładowania katalogu do pamięci |
| Wydano | cpio: 1970s Unix; gzip: 1992. The .cpgz pairing is a macOS convention. |
| Najnowsza wersja | N/A (relies on stable gzip RFC 1952 + POSIX cpio formats) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |
Konwersje CPGZ
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CPGZ.
Najczęściej zadawane pytania
Co to jest plik CPGZ?
Dlaczego mój ZIP zamienił się w CPGZ na komputerze Mac?
Mój .zip i .cpgz ciągle przełączają się tam i z powrotem - jak to naprawić?
Jak otworzyć plik CPGZ?
ditto -x -k file.cpgz dest. W systemie Linux: gunzip -c file.cpgz | cpio -idv. W systemie Windows użyj darmowego 7-Zip lub PeaZip.