# Install unyaffs with Homebrew, apt, Nix

Extract files from a YAFFS2 filesystem image. Version 0.9.7 via Homebrew; verified from local package data. Also installable with debian: sudo apt install unyaffs.

## Install

```sh
sudo av install brew:unyaffs
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install unyaffs
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install unyaffs
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#unyaffs
```

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

## Package facts

- **Package key:** brew:unyaffs
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/unyaffs>
- **Version:** 0.9.7
- **Source summary:** Extract files from a YAFFS2 filesystem image
- **Homepage:** <https://packages.debian.org/sid/unyaffs>
- **Upstream docs:** <https://packages.debian.org/sid/unyaffs>
- **License:** GPL-2.0-only
- **Source archive:** <https://deb.debian.org/debian/pool/main/u/unyaffs/unyaffs_0.9.7.orig.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- unyaffs (cli)
- unyaffs (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: 0.9.7
- Local data: ok
- Upstream repository: https://packages.debian.org/sid/unyaffs
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

unyaffs is a small extractor for YAFFS2 filesystem images, mainly useful to people inspecting embedded or Android-era NAND flash images rather than to general archive users.

### Project history

The available upstream README says unyaffs was based on work from the YAFFS project, that the original implementation was by Kai Wei and hosted on Google Code, and that Bernhard Ehlers started a fork after the original project became inactive. A public mirror records the project as an extraction tool for YAFFS2 images created by mkyaffs2image.

The source-level history in the public mirror records v0.8 in August 2011 and v0.9 in September 2011. The README presents it as a conventional C utility for Unix-like systems with a make-based build.

### Adoption history

Homebrew, Debian, Nix, and Ubuntu packaging in the supplied input show that unyaffs stayed available mostly through distribution package sets. That is typical for firmware-forensics utilities: small upstream, occasional packaging, and long shelf life because old image formats continue to appear.

### How it is used

The README documents extraction of all files from a YAFFS2 filesystem image, optional layout selection, listing without extraction, verbose listings, standard-input support, and restoration of permissions, times, ownership, links, and special files where the host OS permits it.

### Why package nerds care

The package is notable in a narrow niche: unpacking historical Android, embedded Linux, and NAND-flash images where YAFFS2 appears. Package maintainers care because it provides a single-purpose CLI that can be installed from general-purpose package managers instead of being recovered from archived Google Code downloads.

### Timeline

- 2008: Source comments in the mirrored code record an initial version upload to Google Code.
- 2011: v0.8 and v0.9 tags appear in the public mirror.
- 2011: Public mirror repository created.
- 2026: Homebrew input still lists unyaffs as packaged.

### Related projects

- The README ties unyaffs to the YAFFS project and mkyaffs2image. Other tools in the same niche include yaffs2utils and YAFFS parsers, but those are outside the official unyaffs sources used here.

### Sources

- <https://github.com/whataday/unyaffs>
- <https://raw.githubusercontent.com/whataday/unyaffs/master/README>
- <https://raw.githubusercontent.com/whataday/unyaffs/master/unyaffs.c>
- 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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** unyaffs
- **Version Scheme:** 0
- **Revision:** 1
- **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 - unyaffs - 0.9.7-1: normalized package name match | Debian stable package indexes: unyaffs from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Extracts files from a YAFFS2 filesystem image | https://github.com/ehlers/unyaffs
- Nix - unyaffs: normalized package name match | nixpkgs package indexes: pkgs/by-name/un/unyaffs/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - unyaffs - 0.9.7-0.2: normalized package name match | Ubuntu 24.04 LTS package indexes: unyaffs from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Extracts files from a YAFFS2 filesystem image | https://github.com/ehlers/unyaffs


## Related links

- [Secret-risk packages](https://pkg.so/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [Media and graphics packages](https://pkg.so/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [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.
- [mdf2iso](https://pkg.so/brew/mdf2iso/) - Both packages work with overlapping file formats or content types. Shared terms: cli, image, system.
- [tmpreaper](https://pkg.so/brew/tmpreaper/) - Local package facts share a topical domain. Shared terms: cli, files, system.
- [kanif](https://pkg.so/brew/kanif/) - Local package facts share a topical domain. Shared terms: cli, system.

## Combined YAML source

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