# Install byteman with Homebrew, apt, dnf

Java bytecode manipulation tool for testing, monitoring and tracing. Version 4.0.27 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:byteman
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install byteman
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install libbyteman-java
```

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

- dnf (92%):

```sh
sudo dnf install byteman
```

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

## Package facts

- **Package key:** brew:byteman
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/byteman>
- **Version:** 4.0.27
- **Source summary:** Java bytecode manipulation tool for testing, monitoring and tracing
- **Homepage:** <https://byteman.jboss.org/>
- **Repository:** <https://github.com/bytemanproject/byteman>
- **Upstream docs:** <https://byteman.jboss.org/docs.html>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://downloads.jboss.org/byteman/4.0.27/byteman-download-4.0.27-bin.zip>
- **Last updated:** 2026-06-22T14:02:56-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bmcheck (cli)
- bminstall (cli)
- bmjava (cli)
- bmsubmit (cli)
- bytemancheck (cli)
- bmcheck (alias)
- bminstall (alias)
- bmjava (alias)
- bmsubmit (alias)
- bytemancheck (alias)

## Dependencies

- openjdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.0.27
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://byteman.jboss.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Byteman is a Java agent and command-line toolkit for injecting rules into running JVM programs. It is used for tracing, monitoring, testing, and fault injection without permanently changing application source code.

### Project history

The Byteman README describes the project as a tool for injecting side effects into Java programs to trace and test application behavior. Its distribution includes command scripts, an agent and rule engine, submit/install clients, sample scripts, and programmer documentation.

The official JBoss project site frames Byteman as a way to simplify Java tracing, monitoring, and testing. Its documentation history includes papers and talks by Andrew Dinn and other Red Hat/JBoss community members from 2009 onward, including fault-injection and runtime-behavior use cases.

### Adoption history

Byteman adoption is strongest in the Java middleware and testing world. The official docs page lists BMUnit tests or integrations involving WildFly, Narayana, Hibernate, Infinispan, HornetQ, JGroups, IronJacamar, Mule, and other JVM projects.

Packaging in Homebrew, Debian, Ubuntu, and Fedora reflects a niche but durable role: it is not a default Java tool, but it is valuable when tests need controlled failure, race, or runtime instrumentation scenarios.

### How it is used

Users write Byteman rule scripts, check them with `bmcheck` or `bytemancheck`, run Java under the agent with `bmjava`, install the agent into a running JVM with `bminstall`, and submit rules with `bmsubmit`.

Typical package-manager usage is by developers or QA engineers who need to reproduce timing bugs, inject exceptions, trace JVM internals, or test recovery paths in Java services.

### Why package nerds care

Byteman is notable because it packages JVM bytecode instrumentation as a Unix-style command tool. That makes heavy Java-agent machinery installable with `brew install byteman` or distro packages instead of manual download-and-unzip workflows.

For package nerds, it sits in the same practical family as debuggers, tracers, and test harnesses: rarely needed by everyone, but exactly the right sharp tool when ordinary unit tests cannot reach a runtime behavior.

### Timeline

- 2009: Official Byteman materials include a Jazoon presentation on bytecode manipulation for multi-threaded testing.
- 2011: Byteman appears in AOSD and JUDCon materials about tracing, debugging, and testing.
- 2013: Official docs list JUDCon talks and growing JVM-project usage.
- 2020s: Version 4.x documentation remains published through the JBoss Byteman site.

### Related projects

- BMUnit is the Byteman-oriented unit-testing integration referenced by the official tutorials and project list.
- ObjectWeb ASM is used by Byteman for bytecode manipulation, according to the README.
- WildFly, Narayana, Hibernate, Infinispan, HornetQ, and JGroups are listed by the official docs as projects using Byteman.

### Sources

- <https://byteman.jboss.org/docs.html>
- <https://github.com/bytemanproject/byteman/blob/master/README>


## 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:** byteman
- **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 - libbyteman-java - 4.0.20-1: normalized package name match | Debian stable package indexes: libbyteman-java from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Java agent-based bytecode injection tool | https://byteman.jboss.org
- Ubuntu apt - libbyteman-java - 4.0.20-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libbyteman-java from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Java agent-based bytecode injection tool | https://byteman.jboss.org
- dnf - byteman - 4.0.26-3.fc44: normalized package name match | Fedora Rawhide package metadata: byteman from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Java agent-based bytecode injection tool | http://www.jboss.org/byteman
- dnf - byteman-bmunit - 4.0.26-3.fc44: normalized package name match | Fedora Rawhide package metadata: byteman-bmunit from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | TestNG and JUnit integration for Byteman. | http://www.jboss.org/byteman
- dnf - byteman-dtest - 4.0.26-3.fc44: normalized package name match | Fedora Rawhide package metadata: byteman-dtest from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Remote byteman instrumented testing. | http://www.jboss.org/byteman
- dnf - byteman-javadoc - 4.0.26-3.fc44: normalized package name match | Fedora Rawhide package metadata: byteman-javadoc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Javadoc for byteman | http://www.jboss.org/byteman
- dnf - byteman-rulecheck-maven-plugin - 4.0.26-3.fc44: normalized package name match | Fedora Rawhide package metadata: byteman-rulecheck-maven-plugin from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Maven plugin for checking Byteman rules. | http://www.jboss.org/byteman


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [cfr-decompiler](https://www.automicvault.com/pkg/brew/cfr-decompiler/) - Shares av.db curated category or tags: bytecode, cli, developer-tools, java.
- [proguard](https://www.automicvault.com/pkg/brew/proguard/) - Shares av.db curated category or tags: bytecode, cli, developer-tools, java.
- [tiny-remapper](https://www.automicvault.com/pkg/brew/tiny-remapper/) - Shares av.db curated category or tags: bytecode, cli, developer-tools, java.
- [bnd](https://www.automicvault.com/pkg/brew/bnd/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [checkstyle](https://www.automicvault.com/pkg/brew/checkstyle/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [fastjar](https://www.automicvault.com/pkg/brew/fastjar/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [gcviewer](https://www.automicvault.com/pkg/brew/gcviewer/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [helidon](https://www.automicvault.com/pkg/brew/helidon/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [jmxterm](https://www.automicvault.com/pkg/brew/jmxterm/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, java, monitoring.

## Combined YAML source

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