cabextract
Extract files from Microsoft Cabinet (.cab) archives
SYNOPSIS
cabextract [OPTION]... [FILE]...
PARAMETERS
-d, --directory=DIR
Extract to DIR instead of current directory
-F, --file=PATTERN
Extract only files matching PATTERN
-f, --filter
Extract only LZX-compressed files
-l, --list
List archive contents only, do not extract
-L, --lower-case
Convert filenames to lowercase
-m, --mount
Mount first file as filesystem (Linux/FUSE only)
-n, --no-overwrite
Do not overwrite existing files
-q, --quiet
Suppress output messages
-t, --test
Test archive integrity only
-u, --unconditional
Overwrite files without prompting
-v, --verbose
Print extra file information during extraction
-z, --zlib
Use zlib for decompression (experimental)
--help
Display help and exit
--version
Display version information and exit
DESCRIPTION
cabextract is a command-line utility designed to extract files from Microsoft Cabinet (.CAB) archives, commonly used in Windows software distribution, updates, and driver installations. These archives often employ compression methods like MSZIP, Quantum, or LZX, and cabextract handles single and multi-part cabinets seamlessly.
It is particularly useful on Linux and Unix-like systems where native support for .CAB files is absent, allowing users to access Windows package contents without emulation layers like Wine. Key features include listing archive contents, testing integrity, selective extraction by pattern or compression type, directory specification, filename case conversion, and overwrite controls. Verbose output aids debugging, while quiet mode suits scripting.
The tool is lightweight, dependency-minimal (relies on libmspack), and integrates well into package management or forensic workflows. For instance, it extracts Office patches or IE updates for analysis. Limitations include no support for encrypted cabinets and experimental zlib mode. Widely packaged in distros like Debian and Fedora.
CAVEATS
No support for password-protected or encrypted .CAB files. --mount requires FUSE and Linux kernel. Some rare cabinet formats may fail. --zlib mode is experimental and unstable.
EXIT STATUS
0 on success, 1 on error or invalid usage.
Non-zero also for test failures or overwrite prompts (unless -u).
MULTIPLE FILES
Processes multiple .CAB files sequentially; supports cabinet sets (.CAB, .CA0 etc.).
HISTORY
Developed by Stuart Caie as part of libmspack library (2003-2004). Version 1.11 released 2021. Maintained for compatibility with Windows cabinets; available in most Linux repos since mid-2000s.


