# Install cpmtools with Homebrew, apt, dnf, MacPorts

Tools to access CP/M file systems. Version 2.23 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:cpmtools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cpmtools
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cpmtools
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install cpmtools
```

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

- dnf (92%):

```sh
sudo dnf install cpmtools
```

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

## Package facts

- **Package key:** brew:cpmtools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cpmtools>
- **Version:** 2.23
- **Source summary:** Tools to access CP/M file systems
- **Homepage:** <https://www.moria.de/~michael/cpmtools/>
- **Upstream docs:** <https://www.moria.de/~michael/cpmtools>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://www.moria.de/~michael/cpmtools/files/cpmtools-2.23.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cpmchattr (cli)
- cpmchmod (cli)
- cpmcp (cli)
- cpmls (cli)
- cpmrm (cli)
- fsck.cpm (cli)
- fsed.cpm (cli)
- mkfs.cpm (cli)
- cpmchattr (alias)
- cpmchmod (alias)
- cpmcp (alias)
- cpmls (alias)
- cpmrm (alias)
- fsck.cpm (alias)
- fsed.cpm (alias)
- mkfs.cpm (alias)

## Dependencies

- libdsk

## Build dependencies

- autoconf

## Uses from macOS

- ncurses

## 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, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.23
- Local data: ok
- Upstream repository: https://www.moria.de/~michael/cpmtools/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

cpmtools is Michael Haardt's collection of utilities for accessing CP/M file systems from modern host systems. It is a retrocomputing and disk-image maintenance package rather than an emulator.

### Project history

The upstream README and homepage describe cpmtools as a package for accessing CP/M file systems in a style similar to mtools for MS-DOS file systems. It includes commands for listing, copying, removing, changing attributes and permissions, creating, checking, repairing, and viewing CP/M file systems.

The manual pages identify Michael Haardt's copyright beginning in 1997 and note a Windows port by John Elliott. The 2026 cpmtools 2.24 release continues maintenance with filesystem, filename translation, mkfs, fsck, LibDsk, and diskdefs updates.

### Adoption history

The supplied package facts list cpmtools in Homebrew, Debian, Ubuntu, Fedora/dnf, and MacPorts. That packaging spread reflects its role as a practical bridge between current Unix-like hosts and CP/M disk images used by retrocomputing communities.

### How it is used

cpmtools is used to inspect and modify CP/M disk images, exchange files with simulators or floppy devices, and define disk geometries through diskdefs. The upstream documentation says all CP/M file system features are supported, while password protection is exposed as data rather than enforced.

### Why package nerds care

For packagers, cpmtools is notable because it preserves access to non-self-describing CP/M disk formats. The diskdefs file is part of the package interface: CP/M generally does not store enough format information in the filesystem, so distributions must install the definitions file where the tools can find it.

### Timeline

- 1997: Manual-page copyright begins for Michael Haardt's cpmtools.
- 2022: Upstream files list cpmtools 2.23.
- 2026: Upstream files list cpmtools 2.24 with diskdefs and filesystem fixes.

### Related projects

- mtools is cited by upstream as the analogous package for MS-DOS file systems.
- LibDsk support is mentioned in the 2.24 changes and command manual.

### Sources

- <https://www.moria.de/~michael/cpmtools/>
- <https://www.moria.de/~michael/cpmtools/files/>
- <https://www.moria.de/~michael/cpmtools/files/cpmtools-2.24.tar.gz>


## 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:** cpmtools
- **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 - cpmtools - 2.23-7: normalized package name match | Debian stable package indexes: cpmtools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tools to access CP/M file systems
- Ubuntu apt - cpmtools - 2.23-5build1: normalized package name match | Ubuntu 24.04 LTS package indexes: cpmtools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tools to access CP/M file systems
- dnf - cpmtools - 2.23-12.fc44: normalized package name match | Fedora Rawhide package metadata: cpmtools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Programs for accessing CP/M disks | http://www.moria.de/~michael/cpmtools/
- MacPorts - cpmtools: normalized package name match | MacPorts ports tree: sysutils/cpmtools/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.
- [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.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [libdsk](https://www.automicvault.com/pkg/brew/libdsk/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [acl](https://www.automicvault.com/pkg/brew/acl/) - Shares av.db curated category or tags: cli, filesystem, system.
- [afuse](https://www.automicvault.com/pkg/brew/afuse/) - Shares av.db curated category or tags: cli, filesystem, system.
- [attr](https://www.automicvault.com/pkg/brew/attr/) - Shares av.db curated category or tags: cli, filesystem, system.
- [avfs](https://www.automicvault.com/pkg/brew/avfs/) - Shares av.db curated category or tags: cli, filesystem, system.
- [bindfs](https://www.automicvault.com/pkg/brew/bindfs/) - Shares av.db curated category or tags: cli, filesystem, system.
- [convmv](https://www.automicvault.com/pkg/brew/convmv/) - Shares av.db curated category or tags: cli, filesystem, system.
- [dfc](https://www.automicvault.com/pkg/brew/dfc/) - Shares av.db curated category or tags: cli, filesystem, system.
- [duff](https://www.automicvault.com/pkg/brew/duff/) - Shares av.db curated category or tags: cli, filesystem, system.
- [dosfstools](https://www.automicvault.com/pkg/brew/dosfstools/) - Local package facts share a topical domain. Shared terms: cli, file, filesystem, fsck, mkfs.

## Combined YAML source

View the package source record on GitHub. [combined/cpmtools.yml](https://github.com/automic-vault/db/blob/main/combined/cpmtools.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
