Install
Fastmash runs on Linux (glibc), Windows through WSL2 and macOS 15 and later. The current release is 0.3.0.
Choose a method
Use your system’s package manager when you can. It installs prebuilt programs and brings you later versions with your other updates.
| Your system | Recommended | Updates |
|---|---|---|
| Debian, Ubuntu | apt repository | sudo apt upgrade |
| Fedora, RHEL and similar | dnf repository | sudo dnf upgrade |
| macOS, or Linux with Homebrew | Homebrew | brew upgrade |
| Any supported system | Quick install | Run it again |
All of these install prebuilt programs. If you prefer to compile Fastmash yourself, see Cargo.
Debian and Ubuntu
The signed apt repository provides updates through apt on Linux. Install the tools needed to download and inspect its key:
sudo apt install ca-certificates curl gnupg
curl -fsSLo fastmash.gpg https://packages.fastmash.io/fastmash.gpg
gpg --show-keys --fingerprint fastmash.gpg
Check that the key fingerprint is:
76C1 7E23 B7D3 F8FD ED36 D31A 7BAC 7AF6 644B D290
Then add the repository and install Fastmash:
sudo install -m 644 fastmash.gpg /usr/share/keyrings/fastmash.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/fastmash.gpg] https://packages.fastmash.io/apt stable main" |
sudo tee /etc/apt/sources.list.d/fastmash.list
sudo apt update
sudo apt install fastmash
Later versions arrive through sudo apt update and sudo apt upgrade.
The key is trusted only for this repository. Earlier versions remain available.
For Debian 10, Ubuntu 20.04 and newer. Remove it with sudo apt remove fastmash.
Fedora, RHEL and similar
The signed dnf repository provides updates on Linux, with package and repository signature checks enabled:
sudo curl -fsSLo /etc/yum.repos.d/fastmash.repo https://packages.fastmash.io/fastmash.repo
sudo dnf install fastmash
dnf asks to trust the signing key on first use. Before confirming, check that
its fingerprint is 76C1 7E23 B7D3 F8FD ED36 D31A 7BAC 7AF6 644B D290,
the same key used by the apt repository above. Update with
sudo dnf upgrade fastmash. Earlier versions remain available.
For Fedora, RHEL 8 and newer. Remove it with sudo dnf remove fastmash.
Homebrew
With Homebrew on macOS 15 or later, or on Linux:
brew install pederbe/tap/fastmash
Homebrew downloads the same tested programs as the Fastmash release archives. Installation needs no Rust compiler and does not rebuild Fastmash.
Update with brew upgrade fastmash and remove it with
brew uninstall pederbe/tap/fastmash.
Quick install
curl -fsSL https://fastmash.io/install.sh | sh
Downloads the latest release archive for your system, checks its checksum and
installs it into ~/.local/bin. Add that directory to your PATH if needed.
Run the same command again to update.
When upgrading from a two-executable Linux release, the installer removes the
old Sort supervisor only if its checksum matches the ownership receipt from
an earlier installation. An older installation without that receipt, or a
changed helper, stays in place. After upgrading, you may remove that unused
fastmash-sort-supervisor yourself if it belongs to this installation.
Set FASTMASH_INSTALL_DIR to choose another installation directory, or
FASTMASH_VERSION to choose a release.
Single packages and archives
These downloads install one release without adding a repository. You update them yourself.
Debian or RPM package
curl -fLO https://github.com/pederbe/fastmash/releases/download/v0.3.0/fastmash_0.3.0_amd64.deb
sudo apt install ./fastmash_0.3.0_amd64.deb
sudo dnf install https://github.com/pederbe/fastmash/releases/download/v0.3.0/fastmash-0.3.0-1.x86_64.rpm
Linux archive
On Linux or WSL2, download an archive from the
releases page, or run this in
Bash (enter bash first if using Fish):
bash -eu <<'EOF'
version=0.3.0
name=fastmash-v$version-x86_64-unknown-linux-gnu
curl -fLO https://github.com/pederbe/fastmash/releases/download/v$version/$name.tar.gz
curl -fLO https://github.com/pederbe/fastmash/releases/download/v$version/$name.tar.gz.sha256
sha256sum -c $name.tar.gz.sha256
tar -xzf $name.tar.gz
mkdir -p ~/.local/bin
cp "$name/fastmash" ~/.local/bin/
if [ -f "$name/fastmash-sort-supervisor" ]; then
cp "$name/fastmash-sort-supervisor" ~/.local/bin/
fi
EOF
Replace 0.3.0 with the version you want. Existing published Linux archives
may also contain fastmash-sort-supervisor. When present, keep that helper
beside fastmash from the same release. Archives built with native sorting
everywhere contain only fastmash.
macOS archive
The quick installer chooses the macOS archive automatically. To download version 0.3.0 by hand:
curl -fLO https://github.com/pederbe/fastmash/releases/download/v0.3.0/fastmash-v0.3.0-aarch64-apple-darwin.tar.gz
curl -fLO https://github.com/pederbe/fastmash/releases/download/v0.3.0/fastmash-v0.3.0-aarch64-apple-darwin.tar.gz.sha256
Then install it in Bash (enter bash first if using Fish). Set
FASTMASH_VERSION if you downloaded a different version:
bash -eu <<'EOF'
version=${FASTMASH_VERSION:-0.3.0}
name=fastmash-v$version-aarch64-apple-darwin
shasum -a 256 -c "$name.tar.gz.sha256"
tar -xzf "$name.tar.gz"
(cd "$name" && shasum -a 256 -c binary.sha256)
cat "$name/build-provenance.txt"
mkdir -p ~/.local/bin
staging=$(mktemp -d "$HOME/.local/bin/.fastmash.XXXXXX")
trap 'rm -rf "$staging"' EXIT
cp "$name/fastmash" "$staging/fastmash"
chmod 755 "$staging/fastmash"
mv -f "$staging/fastmash" ~/.local/bin/fastmash
printf '1\n2\n' | ~/.local/bin/fastmash sum 1
EOF
The final command prints 3.
With Cargo
If you already use Rust, Cargo offers two routes.
cargo-binstall downloads the same prebuilt executables as the release archives, without compiling. On Linux or WSL2, run:
cargo binstall fastmash
Existing published Linux releases may also install their Sort supervisor.
Releases containing the native sorting migration install only fastmash.
On macOS 15 or later, select its single executable:
cargo binstall fastmash --bin fastmash
Other platforms have no prebuilt Fastmash executable. If the download is not
available, cargo-binstall offers to compile instead. Add
--strategies crate-meta-data to stop with an error instead.
To compile Fastmash from source with cargo install, use the latest stable
Rust toolchain. On Linux or WSL2:
cargo install --locked fastmash
On macOS 15 or later, select its single executable:
cargo install --locked --bin fastmash fastmash
Check that it works
printf '1\t2\n3\t4\n' | fastmash sum 1 mean 2
This prints 4 and 3, separated by a tab. Next: the
quick start.
On Windows
Install WSL2, then
install Fastmash inside your Linux distribution as above. Keep your data in
the Linux file system (such as your home directory) rather than under
/mnt/c: it is much faster.
Uninstall
Package managers remove Fastmash with their own commands, shown above. For the quick installer or a downloaded archive:
rm ~/.local/bin/fastmash
# If installed by an earlier Linux release, also remove its helper:
rm ~/.local/bin/fastmash-sort-supervisor
If you installed with Cargo or cargo-binstall:
cargo uninstall fastmash
Fastmash keeps no configuration files, caches or background services.
See System requirements for building from source and verifying release archives.