# Install umockdev with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Mock hardware devices for creating unit tests and bug reporting. Version 0.19.8 via Homebrew; verified 2026-07-06. Also installable with debian: sudo apt install gir1.2-umockdev-1.0.

## Install

```sh
sudo av install brew:umockdev
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install umockdev
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add umockdev
```

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

- Debian apt (92%):

```sh
sudo apt install umockdev
```

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

- dnf (92%):

```sh
sudo dnf install umockdev
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#umockdev
```

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

- pacman (92%):

```sh
sudo pacman -S umockdev
```

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

- zypper (92%):

```sh
sudo zypper install umockdev
```

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

## Package facts

- **Package key:** brew:umockdev
- **Package manager:** Homebrew
- **Version:** 0.19.8
- **Source summary:** Mock hardware devices for creating unit tests and bug reporting
- **Homepage:** <https://launchpad.net/umockdev>
- **Repository:** <https://github.com/martinpitt/umockdev>
- **Last updated:** 2026-07-06T10:19:20Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- umockdev-record (alias)
- umockdev-run (alias)
- umockdev-wrapper (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.19.8
## Project history and usage

umockdev is a Linux hardware-device mocking library and set of command-line tools for integration tests, bug reports, and regression reproduction.

### Project history

The official README describes umockdev as a way to mock Linux devices for tests of hardware-related libraries and programs. It records device properties and behavior, then runs programs or test suites against a testbed loaded with those recorded devices.

The project is built around libumockdev, a preload library, and CLI tools including umockdev-record, umockdev-run, and umockdev-wrapper. Its feature set expanded from sysfs/udev property emulation into /dev nodes, read/write scripts, usbdevfs replay, pcap/usbmon replay, evdev, spidev, input events, and /proc mocking.

Official tags show releases by 2013, and the NEWS file documents long-running maintenance, including a 2020 switch to Meson and later fixes and feature updates. That history matches a specialized but durable Linux testing utility rather than a broad application.

### Adoption history

umockdev's adoption is strongest in Linux hardware-adjacent testing. The README explicitly names gphoto and libmtp as examples where developers can receive recorded device dumps in bug reports and reproduce problems without owning the affected hardware.

The Homebrew input records downstream packaging across apk, Homebrew, Debian/Ubuntu gir/lib packages, dnf, Nix, pacman, and zypper. That breadth is notable because the tool remains Linux-specific and test-focused; package managers carry it for developers and CI systems that need reproducible hardware behavior.

### How it is used

Typical command-line use records a real device with umockdev-record, then replays it with umockdev-run around a test command. The README includes examples for PtP/MTP USB devices, usbmon pcap captures, tty devices such as modem sticks, Unix sockets, fake batteries, /proc, and /dev.

Library users create a UMockdevTestbed through C, Vala, Python, JavaScript, or other GObject-introspection languages, while the preload layer redirects /sys, /dev, /proc, netlink, and ioctl access into the sandbox.

### Why package nerds care

umockdev is important to package maintainers because it turns hardware-dependent bugs into text artifacts that can be checked into tests or attached to bug reports. That makes CI and distro regression testing possible for code that would otherwise require physical devices.

It is also a classic niche systems package: small executable tools, a shared library, introspection bindings, preload behavior, and distro-specific packaging names that matter to anyone debugging Linux hardware stacks.

### Timeline

- 2013: Official repository tag 0.2.4 is associated with a June 2013 release commit.
- 2020-11-16: NEWS records the switch to the Meson build system in release 0.15.
- README era: Project documents record/replay support for sysfs, udev, /dev, USB, evdev, spidev, /proc, and socket/device scripts.
- Current packaging: Homebrew input lists apk, Homebrew, Debian/Ubuntu, dnf, Nix, pacman, and zypper package coverage.

### Related projects

- The README names gphoto and libmtp as affected software examples and uses upower, ModemManager, ofonod, evemu, usbmon, Wireshark, PtP/MTP, and GObject-introspection ecosystems in its examples.

### Sources

- <https://api.github.com/repos/martinpitt/umockdev/tags?per_page=100>
- <https://github.com/martinpitt/umockdev/blob/main/NEWS>
- <https://raw.githubusercontent.com/martinpitt/umockdev/main/README.md>
- source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Debian apt - gir1.2-umockdev-1.0 - 0.19.1-3: normalized package name match | Debian stable package indexes: gir1.2-umockdev-1.0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | introspection data for umockdev library | https://github.com/martinpitt/umockdev/
- Debian apt - libumockdev-dev - 0.19.1-3: normalized package name match | Debian stable package indexes: libumockdev-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | development files and documentation for libumockdev | https://github.com/martinpitt/umockdev/
- Debian apt - libumockdev0 - 0.19.1-3: normalized package name match | Debian stable package indexes: libumockdev0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | hardware mocking testbed for bug reports and regression tests | https://github.com/martinpitt/umockdev/
- Debian apt - umockdev - 0.19.1-3: normalized package name match | Debian stable package indexes: umockdev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | record/mock hardware devices for bug reports and regression tests | https://github.com/martinpitt/umockdev/
- Nix - umockdev: normalized package name match | nixpkgs package indexes: pkgs/by-name/um/umockdev/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - gir1.2-umockdev-1.0 - 0.18.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: gir1.2-umockdev-1.0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | introspection data for umockdev library | https://github.com/martinpitt/umockdev/
- Ubuntu apt - libumockdev-dev - 0.18.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libumockdev-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | development files and documentation for libumockdev | https://github.com/martinpitt/umockdev/
- Ubuntu apt - libumockdev0 - 0.18.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libumockdev0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | hardware mocking testbed for bug reports and regression tests | https://github.com/martinpitt/umockdev/
- Ubuntu apt - umockdev - 0.18.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: umockdev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | record/mock hardware devices for bug reports and regression tests | https://github.com/martinpitt/umockdev/
- apk - umockdev - 0.19.8-r0: normalized package name match | Alpine Linux edge package indexes: umockdev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Mock hardware devices for creating unit tests and bug reporting | https://github.com/martinpitt/umockdev
- apk - umockdev-dev - 0.19.8-r0: normalized package name match | Alpine Linux edge package indexes: umockdev-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Mock hardware devices for creating unit tests and bug reporting (development files) | https://github.com/martinpitt/umockdev
- apk - umockdev-doc - 0.19.8-r0: normalized package name match | Alpine Linux edge package indexes: umockdev-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Mock hardware devices for creating unit tests and bug reporting (documentation) | https://github.com/martinpitt/umockdev
- dnf - umockdev - 0.19.8-2.fc45: normalized package name match | Fedora Rawhide package metadata: umockdev from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Mock hardware devices | https://github.com/martinpitt/umockdev
- dnf - umockdev-devel - 0.19.8-2.fc45: normalized package name match | Fedora Rawhide package metadata: umockdev-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development packages for umockdev | https://github.com/martinpitt/umockdev
- pacman - umockdev - 0.19.8-1: normalized package name match | Arch Linux sync databases: umockdev from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Record/mock hardware devices for bug reports and regression tests | https://github.com/martinpitt/umockdev/
- zypper - libumockdev-preload0 - 0.19.7-1.4: normalized package name match | openSUSE Tumbleweed package metadata: libumockdev-preload0 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Shared library for umockdev-preload | https://github.com/martinpitt/umockdev/


## Combined YAML source

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


## Sources

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