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 kataloguC:\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 ;=]