# Install cabextract with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Extract files from Microsoft cabinet files. Version 1.11 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:cabextract
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cabextract
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cabextract
```

  Evidence: MacPorts ports tree: archivers/cabextract/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add cabextract
```

  Evidence: Alpine Linux edge package indexes: cabextract from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install cabextract
```

  Evidence: Debian stable package indexes: cabextract from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install cabextract
```

  Evidence: Fedora Rawhide package metadata: cabextract from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#cabextract
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ca/cabextract/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S cabextract
```

  Evidence: Arch Linux sync databases: cabextract from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install cabextract
```

  Evidence: openSUSE Tumbleweed package metadata: cabextract from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:cabextract
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cabextract>
- **Version:** 1.11
- **Source summary:** Extract files from Microsoft cabinet files
- **Homepage:** <https://www.cabextract.org.uk/>
- **Repository:** <https://github.com/kyz/libmspack/tree/master/cabextract>
- **Upstream docs:** <https://www.cabextract.org.uk/>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://www.cabextract.org.uk/cabextract-1.11.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- cabextract (cli)
- cabextract (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.11
- Local data: ok
- Upstream repository: https://www.cabextract.org.uk/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

cabextract is a small, long-lived Free Software command-line utility for extracting Microsoft Cabinet files. It is tightly associated with Stuart Caie's libmspack library and remains a standard Unix-side tool for unpacking .CAB archives.

### Project history

cabextract's README credits Stuart Caie and gives a 2000-2023 copyright span. The project focuses on Microsoft Cabinet archives, the format Microsoft used for software distribution and Windows Font Packs, and it explicitly distinguishes those archives from InstallShield cabinet files.

Version 1.0 was a major architectural point: the NEWS file says cabextract moved the hard decompression work into libmspack, making extraction more robust and faster while keeping the cabextract CLI focused on archive discovery, listing, filtering, testing, and extraction.

The official site describes cabextract as based on the portable LGPL libmspack library. libmspack itself supports Microsoft compression formats including SZDD, KWAJ, CAB, CHM, and Exchange Offline Address Book LZX data.

### Adoption history

cabextract's adoption comes from solving an unglamorous but persistent packaging problem: Unix, BSD, macOS, Cygwin, DOS, and Amiga users often need to unpack Microsoft cabinet archives without Windows tooling. The official download page links to Debian, Ubuntu, Fedora, FreeBSD, NetBSD, OpenBSD, Homebrew, MacPorts, Cygwin, DOS/FreeDOS, and Amiga packages.

It became part of the background infrastructure of packaging, reverse-engineering, and driver/font extraction workflows because it is scriptable, small, and available in many distribution repositories.

### How it is used

Common usage is direct and Unix-like: cabextract file.cab extracts an archive, cabextract executable.exe searches for embedded cabinets, cabextract -d selects an output directory, cabextract -F filters filenames, cabextract -l lists contents, and cabextract -t tests extraction integrity.

The tool also handles multipart cabinet sets and Windows CE installation cabinets, and its documentation includes magic-file rules to help distinguish Microsoft cabinets from InstallShield files.

### Why package nerds care

For package nerds, cabextract is classic plumbing: tiny surface, high leverage, and useful exactly when an upstream ships Windows-era cabinet payloads inside installers or self-extracting files. It is the sort of utility that quietly keeps cross-platform packaging and archival workflows sane.

Its libmspack relationship matters because it separates archive-format knowledge from CLI ergonomics, letting other software use the library while packagers keep a simple cabextract executable.

### Timeline

- 2000: cabextract copyright history begins.
- Version 1.0: cabextract moved core decompression work to libmspack.
- 2013-2015: 1.5 fixed crashes and hangs found with afl fuzzing by Debian contributors.
- 2023-02-05: libmspack 0.11alpha was released.
- 2023-02-24: cabextract 1.11 was released.

### Related projects

- libmspack is the library cabextract uses for Microsoft compression formats.
- Microsoft Cabinet is the archive format cabextract targets.
- InstallShield cabinet files are explicitly out of scope and detected separately.
- Windows CE cabinet tooling is included through cabextract's related scripts and documentation.

### Sources

- <https://github.com/kyz/libmspack/tree/master/cabextract>
- <https://raw.githubusercontent.com/kyz/libmspack/master/cabextract/NEWS>
- <https://raw.githubusercontent.com/kyz/libmspack/master/cabextract/README>
- <https://www.cabextract.org.uk/>
- <https://www.cabextract.org.uk/libmspack/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** cabextract
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - cabextract - 1.11-2: normalized package name match | Debian stable package indexes: cabextract from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Microsoft Cabinet file unpacker
- Nix - cabextract: normalized package name match | nixpkgs package indexes: pkgs/by-name/ca/cabextract/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cabextract - 1.11-2: normalized package name match | Ubuntu 24.04 LTS package indexes: cabextract from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Microsoft Cabinet file unpacker
- apk - cabextract - 1.11-r2: normalized package name match | Alpine Linux edge package indexes: cabextract from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for extracting Microsoft cabinet files | https://www.cabextract.org.uk/
- apk - cabextract-doc - 1.11-r2: normalized package name match | Alpine Linux edge package indexes: cabextract-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for extracting Microsoft cabinet files (documentation) | https://www.cabextract.org.uk/
- dnf - cabextract - 1.11-10.fc44: normalized package name match | Fedora Rawhide package metadata: cabextract from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Utility for extracting cabinet (.cab) archives | https://www.cabextract.org.uk/
- pacman - cabextract - 1.11-2: normalized package name match | Arch Linux sync databases: cabextract from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A program to extract Microsoft cabinet (.CAB) files | https://www.cabextract.org.uk/
- zypper - cabextract - 1.11-1.10: normalized package name match | openSUSE Tumbleweed package metadata: cabextract from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A Program to Extract Microsoft Cabinet Files | https://www.cabextract.org.uk/
- MacPorts - cabextract: normalized package name match | MacPorts ports tree: archivers/cabextract/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Archive and compression packages](https://www.automicvault.com/pkg/archive-compression-tools/) - Matched archive or compression metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [winetricks](https://www.automicvault.com/pkg/brew/winetricks/) - Popular package that depends on this formula.
- [unzip](https://www.automicvault.com/pkg/brew/unzip/) - Shares av.db curated category or tags: archive-extraction, archives, cli, compression, system.
- [atool](https://www.automicvault.com/pkg/brew/atool/) - Shares av.db curated category or tags: archives, cli, compression, system.
- [t2sz](https://www.automicvault.com/pkg/brew/t2sz/) - Shares av.db curated category or tags: archives, cli, compression, system.
- [fuse-zip](https://www.automicvault.com/pkg/brew/fuse-zip/) - Shares av.db curated category or tags: archives, cli, system.
- [ratarmount](https://www.automicvault.com/pkg/brew/ratarmount/) - Shares av.db curated category or tags: archives, cli, system.
- [unp](https://www.automicvault.com/pkg/brew/unp/) - Shares av.db curated category or tags: archive-extraction, cli, compression, system.
- [unshield](https://www.automicvault.com/pkg/brew/unshield/) - Shares av.db curated category or tags: archives, cli, extraction, system.
- [afsctool](https://www.automicvault.com/pkg/brew/afsctool/) - Shares av.db curated category or tags: cli, compression, system.
- [decompress-zip](https://www.automicvault.com/pkg/npm/decompress-zip/) - Local package facts share a topical domain. Shared terms: archive, archives, cli, extract, files.

## Combined YAML source

View the package source record on GitHub. [combined/cabextract.yml](https://github.com/automic-vault/db/blob/main/combined/cabextract.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
