cabextract – jak rozpakować archiwa CAB w Linuxie?

W świecie Linuksa mamy do dyspozycji wiele narzędzi do obsługi archiwów: tar, gzip, unzip, 7z i wiele innych. Czasami jednak trafiamy na mniej popularne formaty, które wywodzą się głównie ze środowiska M$. Jednym z takich przypadków są pliki CAB. Do ich obsługi w systemach uniksowych służy program cabextract.

Czym są pliki CAB?

Format CAB (Cabinet File) to rodzaj archiwum stosowany przez Microsoft od lat 90.

  • Pojawił się wraz z M$ 95, jako sposób dystrybucji sterowników, bibliotek i instalatorów.
  • CAB wspiera kompresję (m.in. MSZIP, LZX) i podział archiwum na segmenty (przydatne dawniej np. na dyskietkach).
  • Był szeroko wykorzystywany w instalatorach programów i sterowników (np. pliki .cab w katalogu C:\M$\System32 albo na płytach instalacyjnych).
  • Do dziś spotyka się go w aktualizacjach M$ czy paczkach sterowników.

Dla użytkowników Linuksa najczęstsze zastosowanie to rozpakowanie zawartości sterownika lub aplikacji M$, by wydobyć konkretne pliki (np. .dll, .inf, .sys) i wykorzystać je w projektach open source, Wine, czy emulatorach.

cabextract – podstawowe informacje

cabextract to niewielki program stworzony specjalnie do rozpakowywania archiwów CAB w systemach Linux i Unix.

  • Jego kod jest otwarty i rozwijany od początku lat 2000.
  • Obsługuje wszystkie popularne algorytmy kompresji stosowane w CAB.
  • Działa z linii poleceń i ma bardzo prostą składnię.

Instalacja

Na większości dystrybucji znajdziesz go w repozytoriach:

Debian/Ubuntu:

sudo apt install cabextract

Fedora:

sudo dnf install cabextract

Arch Linux:

sudo pacman -S cabextract

Podstawowe użycie

Rozpakowanie pojedynczego archiwum:

cabextract plik.cab

Domyślnie pliki wypakują się do bieżącego katalogu.

Rozpakowanie do wybranego katalogu:

cabextract -d katalog_docelowy plik.cab

Wymuszenie wypakowania wszystkich plików (nawet jeśli archiwum jest uszkodzone):

cabextract -f plik.cab

Jeśli CAB jest częścią wielosegmentowego archiwum (np. disk1.cab, disk2.cab), wystarczy uruchomić cabextract na pierwszym z nich – program sam połączy pliki.

Przykład praktyczny

Załóżmy, że pobraliśmy sterownik drukarki w postaci pliku driver.cab. Chcemy uzyskać z niego plik .inf do konfiguracji w CUPS:

cabextract driver.cab
ls | grep .inf

W ten sposób szybko znajdziemy i wykorzystamy potrzebny plik bez konieczności uruchamiania instalatora M$.

Podsumowanie

Choć pliki CAB są dziś mniej popularne niż w latach 90. i 2000., wciąż spotykamy je w świecie M$. Dzięki cabextract możemy bez problemu obsługiwać je w systemie Linux – czy to do analizy sterowników, czy do pracy z archiwalnym oprogramowaniem.

To kolejne małe, ale praktyczne narzędzie w arsenale linuksowego użytkownika. Poznawanie Linuxa staje się prostsze z serwisem poznajlinuxa.pl ;=]

TUX - maskotka systemu Linux

About the author

Autor "BIELI" to zapalony entuzjasta otwartego oprogramowania, który dzieli się swoją pasją na blogu poznajlinuxa.pl. Jego wpisy są skarbnicą wiedzy na temat Linuxa, programowania oraz najnowszych trendów w świecie technologii. Autor "BIELI" wierzy w siłę społeczności Open Source i zawsze stara się inspirować swoich czytelników do eksplorowania i eksperymentowania z kodem.