# Install hfsutils with Homebrew, dnf, MacPorts, Nix, apt, zypper

Tools for reading and writing Macintosh volumes. Version 3.2.6 via Homebrew; verified 2026-07-17. Also installable with nix: nix profile install nixpkgs#hfsutils.

## Install

```sh
sudo av install brew:hfsutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hfsutils
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install hfsutils
```

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

### Linux

- dnf (92%):

```sh
sudo dnf install hfsutils
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#hfsutils
```

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

- Ubuntu apt (92%):

```sh
sudo apt install hfsutils
```

  Evidence: Ubuntu 24.04 LTS package indexes: hfsutils from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz

- zypper (92%):

```sh
sudo zypper install hfsutils
```

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

## Package facts

- **Package key:** brew:hfsutils
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hfsutils>
- **Version:** 3.2.6
- **Source summary:** Tools for reading and writing Macintosh volumes
- **Homepage:** <https://www.mars.org/home/rob/proj/hfs/>
- **Upstream docs:** <https://www.mars.org/home/rob/proj/hfs/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://ftp.mars.org/hfs/hfsutils-3.2.6.tar.gz>
- **Last updated:** 2026-07-17T16:32:43-04:00
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- hattrib (cli)
- hcd (cli)
- hcopy (cli)
- hdel (cli)
- hdir (cli)
- hformat (cli)
- hls (cli)
- hmkdir (cli)
- hmount (cli)
- hpwd (cli)
- hrename (cli)
- hrmdir (cli)
- humount (cli)
- hvol (cli)
- hattrib (alias)
- hcd (alias)
- hcopy (alias)
- hdel (alias)
- hdir (alias)
- hformat (alias)
- hls (alias)
- hmkdir (alias)
- hmount (alias)
- hpwd (alias)
- hrename (alias)
- hrmdir (alias)
- humount (alias)
- hvol (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, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 3.2.6
- Package-manager updated: 2026-07-17
- Local data: ok
- Upstream repository: https://www.mars.org/home/rob/proj/hfs/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

HFS Utilities is Robert Leslie's Unix-oriented toolkit for reading and writing classic Macintosh HFS volumes. It packages a library, many `h*` command-line utilities, and optional Tcl/Tk interfaces for working with old Macintosh disks and disk images from non-Mac systems.

### Project history

Robert Leslie wrote hfsutils in the mid-1990s to manipulate Macintosh HFS volumes from Unix and related systems. The official page states that Leslie is the author of all code distributed in the package and that the software is GPLv2-licensed.

The version history shows a mature late-1990s maintenance arc: performance improvements through an internal block cache in November 1997, support for blessing the MacOS System Folder in September 1998, and version 3.2.6 in November 1998 with portability fixes, clean-unmount handling, B*-tree fixes, and formatting/mount options.

The project's scope stayed focused on classic HFS. The official page notes that early Macintosh MFS volumes are not supported, and that some 800K floppy media cannot be read on many systems because of low-level hardware limitations even though images of such floppies can work.

### Adoption history

The official page says hfsutils had been in widespread use since 1996 with reports of successful ports to many operating systems. That made it part of the Unix toolbox for vintage Macintosh media, emulation, CD-ROM extraction, and disk-image work long after HFS stopped being the everyday Mac filesystem.

The input package facts record hfsutils in Homebrew, Fedora-style dnf packaging, MacPorts, Nix, Ubuntu, and zypper-family packaging. Its continued package-manager presence comes from archival and retrocomputing needs rather than rapid upstream change.

### How it is used

The command set mirrors a small filesystem shell: `hmount` introduces a volume, `hls` lists files, `hcd` changes directories, `hcopy` copies files, `hformat` formats volumes, and related utilities manage attributes, directories, names, and unmounting. The tools can operate on block devices or regular files containing HFS volume images.

Use cases include copying files from classic Mac media, preserving resource-fork-aware files through MacBinary workflows, creating or formatting HFS images, and inspecting old CD-ROMs or disk images where modern desktop operating systems provide little or no direct support.

### Why package nerds care

hfsutils is package-nerd catnip because it is stable old infrastructure with real ongoing utility. A 1990s C toolkit still earns modern formulae because filesystem archaeology, emulators, old media recovery, and reproducible archival workflows need command-line tools more than polished GUIs.

It also illustrates why package managers preserve niche utilities: the upstream history is quiet, but the tool solves a concrete interoperability problem at the boundary between Unix files, block devices, disk images, and classic Macintosh metadata.

### Timeline

- 1996: The official page says hfsutils had been in widespread use since this year.
- 1997-11-11: The version history records an internal block cache, filesystem bug fixes, character-set translation, and documentation updates.
- 1998-09-02: The version history records support for blessing the MacOS System Folder and release 3.2.2.
- 1998-11-02: The version history records version 3.2.6 with portability and filesystem-consistency fixes.
- Package-manager era: The input package facts record hfsutils availability across Homebrew, MacPorts, Nix, Ubuntu, dnf, and zypper-family packaging.

### Related projects

- hfsutils is related to classic Macintosh HFS, Apple partition maps, MacBinary, emulator workflows such as vMac and Executor-era tooling, optional Tcl/Tk interfaces, Linux HFS support, and later graphical wrappers around the same command-line utilities.

### Sources

- <https://formulae.brew.sh/formula/hfsutils>
- <https://www.mars.org/home/rob/proj/hfs/>
- <https://www.mars.org/home/rob/proj/hfs/version.html>


## 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:** hfsutils
- **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

- Nix - hfsutils: normalized package name match | nixpkgs package indexes: pkgs/by-name/hf/hfsutils/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - hfsutils - 3.2.6-16: normalized package name match | Ubuntu 24.04 LTS package indexes: hfsutils from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Tools for reading and writing Macintosh volumes | http://www.mars.org/home/rob/proj/hfs/
- Ubuntu apt - hfsutils-tcltk - 3.2.6-16: normalized package name match | Ubuntu 24.04 LTS package indexes: hfsutils-tcltk from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tcl/Tk interfaces for reading and writing Macintosh volumes | http://www.mars.org/home/rob/proj/hfs/
- dnf - hfsutils - 3.2.6-57.fc45: normalized package name match | Fedora Rawhide package metadata: hfsutils from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Tools for reading and writing Macintosh HFS volumes | http://www.mars.org/home/rob/proj/hfs/
- dnf - hfsutils-devel - 3.2.6-57.fc45: normalized package name match | Fedora Rawhide package metadata: hfsutils-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | A C library for reading and writing Macintosh HFS volumes | http://www.mars.org/home/rob/proj/hfs/
- dnf - hfsutils-x11 - 3.2.6-57.fc45: normalized package name match | Fedora Rawhide package metadata: hfsutils-x11 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | A Tk-based front end for browsing and copying files | http://www.mars.org/home/rob/proj/hfs/
- zypper - hfsutils - 3.2.6-1247.7: normalized package name match | openSUSE Tumbleweed package metadata: hfsutils from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tools Used for the Macintosh's Hierarchical File System | http://www.mars.org/home/rob/proj/hfs/
- zypper - xhfsutil - 3.2.6-1247.7: normalized package name match | openSUSE Tumbleweed package metadata: xhfsutil from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tcl/Tk Front-End for hfsutils | http://www.mars.org/home/rob/proj/hfs/
- MacPorts - hfsutils: normalized package name match | MacPorts ports tree: sysutils/hfsutils/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://pkg.so/brew-utility-packages/) - Matched Homebrew package provider.
- [Secret-risk packages](https://pkg.so/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [tree](https://pkg.so/brew/tree/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [acl](https://pkg.so/brew/acl/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [wimlib](https://pkg.so/brew/wimlib/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [attr](https://pkg.so/brew/attr/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [libfuse](https://pkg.so/brew/libfuse/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [dysk](https://pkg.so/brew/dysk/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [dust](https://pkg.so/brew/dust/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [stow](https://pkg.so/brew/stow/) - Shares pkgdb curated category or tags: cli, filesystem, system.
- [agedu](https://pkg.so/brew/agedu/) - Local package facts share a topical domain. Shared terms: cli, disk, filesystem, system.
- [baobab](https://pkg.so/brew/baobab/) - Local package facts share a topical domain. Shared terms: cli, disk, filesystem, system.
- [cpmtools](https://pkg.so/brew/cpmtools/) - Local package facts share a topical domain. Shared terms: cli, disk, filesystem, system.

## Combined YAML source

View the package source record on GitHub. [combined/hfsutils.yml](https://github.com/mxcl/pkgdb/blob/main/combined/hfsutils.yml)


## Sources

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