# Install hercules with Homebrew, apt, dnf, MacPorts, Nix

System/370, ESA/390 and z/Architecture Emulator. Version 4.9.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:hercules
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hercules
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install hercules
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install hercules
```

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

- dnf (92%):

```sh
sudo dnf install hercules
```

  Evidence: Fedora Rawhide package metadata: hercules 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#hercules
```

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

## Package facts

- **Package key:** brew:hercules
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hercules>
- **Version:** 4.9.1
- **Source summary:** System/370, ESA/390 and z/Architecture Emulator
- **Homepage:** <https://sdl-hercules-390.github.io/html/>
- **Repository:** <https://github.com/SDL-Hercules-390/hyperion>
- **Upstream docs:** <https://sdl-hercules-390.github.io/html>
- **License:** QPL-1.0
- **Source archive:** <https://github.com/SDL-Hercules-390/hyperion/archive/refs/tags/Release_4.9.1.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- card2txt (cli)
- cckd2ckd (cli)
- cckd642ckd (cli)
- cckdcdsk (cli)
- cckdcdsk64 (cli)
- cckdcomp (cli)
- cckdcomp64 (cli)
- cckddiag (cli)
- cckddiag64 (cli)
- cckdmap (cli)
- cckdswap (cli)
- cckdswap64 (cli)
- cfba2fba (cli)
- cfba642fba (cli)
- ckd2cckd (cli)
- ckd2cckd64 (cli)
- convto64 (cli)
- dasdcat (cli)
- dasdconv (cli)
- dasdconv64 (cli)
- dasdcopy (cli)
- dasdcopy64 (cli)
- dasdinit (cli)
- dasdinit64 (cli)
- dasdisup (cli)
- dasdlist (cli)
- dasdload (cli)
- dasdload64 (cli)
- dasdls (cli)
- dasdpdsu (cli)
- dasdseq (cli)
- dasdser (cli)
- dmap2hrc (cli)
- fba2cfba (cli)
- fba2cfba64 (cli)
- hercifc (cli)
- herclin (cli)
- hercules (cli)
- hetget (cli)
- hetinit (cli)
- hetmap (cli)
- hetupd (cli)
- maketape (cli)
- tapecopy (cli)
- tapemap (cli)
- tapesplt (cli)
- tfprint (cli)
- tfswap (cli)
- txt2card (cli)
- vmfplc2 (cli)
- card2txt (alias)
- cckd2ckd (alias)
- cckd642ckd (alias)
- cckdcdsk (alias)
- cckdcdsk64 (alias)
- cckdcomp (alias)
- cckdcomp64 (alias)
- cckddiag (alias)
- cckddiag64 (alias)
- cckdmap (alias)
- cckdswap (alias)
- cckdswap64 (alias)
- cfba2fba (alias)
- cfba642fba (alias)
- ckd2cckd (alias)
- ckd2cckd64 (alias)
- convto64 (alias)
- dasdcat (alias)
- dasdconv (alias)
- dasdconv64 (alias)
- dasdcopy (alias)
- dasdcopy64 (alias)
- dasdinit (alias)
- dasdinit64 (alias)
- dasdisup (alias)
- dasdlist (alias)
- dasdload (alias)
- dasdload64 (alias)
- dasdls (alias)
- dasdpdsu (alias)
- dasdseq (alias)
- dasdser (alias)
- dmap2hrc (alias)
- fba2cfba (alias)
- fba2cfba64 (alias)
- hercifc (alias)
- herclin (alias)
- hercules (alias)
- hetget (alias)
- hetinit (alias)
- hetmap (alias)
- hetupd (alias)
- maketape (alias)
- tapecopy (alias)
- tapemap (alias)
- tapesplt (alias)
- tfprint (alias)
- tfswap (alias)
- txt2card (alias)
- vmfplc2 (alias)

## Build dependencies

- autoconf
- automake
- cmake
- gnu-sed
- libtool

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.9.1
- Local data: ok
- Upstream repository: https://github.com/SDL-Hercules-390/hyperion
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

Hercules is an open source emulator for IBM mainframe architectures: System/370, ESA/390, and z/Architecture. The Homebrew `hercules` package delivers the SDL Hercules 4.x Hyperion line and its collection of emulator, DASD, tape, card, and utility commands.

### Project history

Roger Bowler's history says the idea dated back to 1994, with most of the initial implementation done in 1999. By autumn 1999 Hercules could IPL and run OS/360 MFT and Jan Jaeger's ZZSA standalone program; by early 2000 it could run more ESA/390-era operating systems.

In spring 2000, contributors expanded the project: Jay Maynard added S/370 virtual storage, Jan Jaeger added HMC and dynamic reconfiguration work, Windows ports and front ends broadened access, Debian packaging appeared, and compressed/shared DASD work improved practical use.

The SDL Hercules 4.x Hyperion README describes Hercules as created by Roger Bowler, maintained by Jay Maynard from 2000 to 2012, and advanced by Jan Jaeger through features such as dynamic reconfiguration, integrated console, interpretive execution, and z/Architecture support. The SDL Hyperion line contains fixes and enhancements beyond earlier 3.x and 4.0 versions.

### Adoption history

Hercules became important to hobbyists, educators, systems programmers, and preservation-minded users because it made mainframe operating-system practice possible on ordinary host machines. Bowler's history also notes IBM engineers and mainframe specialists using Hercules for testing and demonstrations.

Its adoption is inseparable from legal and operational constraints around mainframe software: Hercules emulates hardware, but users still need operating systems and licenses or public-domain systems they may legally run. That boundary shaped its culture as both a learning tool and a serious emulator.

### How it is used

A Hercules installation is driven by `hercules.cnf`, which describes CPUs, memory, channels, consoles, DASD, tapes, networking, and peripheral devices. The package includes many utilities for creating, converting, inspecting, and manipulating mainframe disk and tape images.

Users run the emulator to IPL operating systems, operate consoles, attach DASD/tape/card devices, and experiment with S/370, ESA/390, or z/Architecture environments. SDL Hyperion documentation covers installation, operation, networking, automatic operator behavior, tracing, and architecture-specific features.

### Why package nerds care

Hercules is a package-manager oddity in the best sense: installing one formula gives a workstation a miniature mainframe lab plus a toolbox for legacy storage media formats. It is not just one command but a cluster of emulator support programs.

For preservation and systems-history users, package-manager availability lowers the barrier to repeatable mainframe experiments. For maintainers, the value is in making a complex C emulator and its utilities reproducible across Unix-like hosts.

### Timeline

- 1994: Roger Bowler dates the germ of Hercules to this period.
- 1999: Most initial work was done, enough to IPL and run early operating-system workloads.
- 2000: Jay Maynard took over project control; major contributors added S/370 storage, VM/ESA-related support, Windows access, packaging, and DASD work.
- 2001: Hercules implemented z/Architecture support soon after IBM published the architecture manual.
- 2005: Hercules contributors shared the NaSPA Award for Technical Excellence.
- 2016: The SDL-Hercules-390 Hyperion GitHub repository was created for the 4.x Hyperion line.

### Related projects

- SDL Hercules 4.x Hyperion is the maintained line represented by the Homebrew package metadata.
- Earlier Hercules 3.x and 4.0 lines are the historical base described by the Hyperion README.
- IBM System/370, ESA/390, and z/Architecture operating systems and media images are the workloads Hercules exists to emulate, subject to licensing.

### Sources

- <https://api.github.com/repos/SDL-Hercules-390/hyperion>
- <https://github.com/SDL-Hercules-390/hyperion>
- <https://raw.githubusercontent.com/SDL-Hercules-390/hyperion/master/README.md>
- <https://sdl-hercules-390.github.io/html/>
- <https://sdl-hercules-390.github.io/html/hercnew.html>
- <https://www.rogerbowler.fr/hercules.htm>


## Security Notes

narrow executable package without higher-risk signals.

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


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: hercules.cnf
## Source Database Details

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

## Other Package-Manager Records

- Debian apt - hercules - 3.13-8: normalized package name match | Debian stable package indexes: hercules from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | System/370, ESA/390 and z/Architecture Emulator | http://www.hercules-390.eu/
- Nix - hercules: normalized package name match | nixpkgs package indexes: pkgs/by-name/he/hercules/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - hercules - 3.13-7: normalized package name match | Ubuntu 24.04 LTS package indexes: hercules from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | System/370, ESA/390 and z/Architecture Emulator | http://www.hercules-390.eu/
- dnf - hercules - 3.13-22.fc44: normalized package name match | Fedora Rawhide package metadata: hercules from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Hercules S/370, ESA/390, and z/Architecture emulator | http://www.hercules-390.eu/
- MacPorts - hercules: normalized package name match | MacPorts ports tree: emulators/hercules/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [Game and emulation packages](https://www.automicvault.com/pkg/game-emulation-tools/) - Matched game or emulation metadata.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [open-simh](https://www.automicvault.com/pkg/brew/open-simh/) - Shares av.db curated category or tags: cli, emulation, emulator, system.
- [qemu](https://www.automicvault.com/pkg/brew/qemu/) - Shares av.db curated category or tags: cli, emulation, emulator, system.
- [foot](https://www.automicvault.com/pkg/brew/foot/) - Shares av.db curated category or tags: cli, emulator, system.
- [rvvm](https://www.automicvault.com/pkg/brew/rvvm/) - Shares av.db curated category or tags: cli, emulator, system.
- [yaze-ag](https://www.automicvault.com/pkg/brew/yaze-ag/) - Shares av.db curated category or tags: cli, emulator, system.
- [abduco](https://www.automicvault.com/pkg/brew/abduco/) - Shares av.db curated category or tags: cli, system.
- [acl](https://www.automicvault.com/pkg/brew/acl/) - Shares av.db curated category or tags: cli, system.
- [acpica](https://www.automicvault.com/pkg/brew/acpica/) - Shares av.db curated category or tags: cli, system.
- [cpufetch](https://www.automicvault.com/pkg/brew/cpufetch/) - Local package facts share a topical domain. Shared terms: architecture, cli, system.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
