MKV deduplication tool using FUSE. Store MKV files as small dedup files that reference original DVD/Blu-ray sources.
brew tap stuckj/mkvdup brew install mkvdup
# Add the GPG key curl -fsSL https://stuckj.github.io/mkvdup/gpg-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/mkvdup.gpg # Add the repository echo "deb [signed-by=/usr/share/keyrings/mkvdup.gpg arch=amd64,arm64] https://stuckj.github.io/mkvdup/apt stable main" | sudo tee /etc/apt/sources.list.d/mkvdup.list # Install sudo apt update sudo apt install mkvdup
This repository carries the current release only. To install or pin an older version, add the archive repository below — it indexes every version ever published.
Enabling both is safe. They are two sources for the same package, not two
packages, so apt merges them and still installs exactly one mkvdup — one
binary, one man page, one mount helper. The current release appears in both, with the same
checksum, and apt simply lists two sources for it. The canary channel is the different
case: it installs under its own name, mkvdup-canary, and is meant to sit
alongside a stable install. Both are signed with the same key.
echo "deb [signed-by=/usr/share/keyrings/mkvdup.gpg arch=amd64,arm64] https://github.com/stuckj/mkvdup/releases/download/apt-history/ ./" | sudo tee /etc/apt/sources.list.d/mkvdup-history.list sudo apt update apt list -a mkvdup # every published version sudo apt install mkvdup=1.8.0 # pin one
Indexes every version published; no separate archive repository is needed.
Requires rpm 4.16 or newer — Fedora, RHEL/Alma/Rocky 9
and 10. Packages are signed with an ed25519 key, and rpm only learned to read
EdDSA signatures in 4.16.0. EL8 ships rpm 4.14, which cannot import the key
(key 1 import failed), so gpgcheck=1 cannot be
satisfied there.
# Add the repository sudo tee /etc/yum.repos.d/mkvdup.repo << 'REPO' [mkvdup] name=mkvdup baseurl=https://stuckj.github.io/mkvdup/yum enabled=1 gpgcheck=1 gpgkey=https://stuckj.github.io/mkvdup/yum/gpg-key.asc REPO # Install sudo dnf install mkvdup sudo dnf install mkvdup-1.8.0 # or pin an older version
The AUR package builds from source. The repository below serves a prebuilt,
signed x86_64 package and updates through pacman -Syu;
on Arch Linux ARM use the AUR route, which builds natively.
# From the AUR, with a helper yay -S mkvdup # Or add the binary repository curl -fsSL https://stuckj.github.io/mkvdup/gpg-key.asc | sudo pacman-key --add - sudo pacman-key --lsign-key 3AABF4C834FFE7E08D91A9BACDB7B8F88AFCCBE3 sudo tee -a /etc/pacman.conf << 'REPO' [mkvdup] SigLevel = Required Server = https://github.com/stuckj/mkvdup/releases/download/pacman-$arch REPO sudo pacman -Syu mkvdup
The canary channel provides early access to new features. It installs as
mkvdup-canary and can be installed alongside the stable version.
brew tap stuckj/mkvdup brew install mkvdup-canary
# Add the GPG key (same key as stable) curl -fsSL https://stuckj.github.io/mkvdup/gpg-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/mkvdup.gpg # Current canary only echo "deb [signed-by=/usr/share/keyrings/mkvdup.gpg arch=amd64,arm64] https://stuckj.github.io/mkvdup/apt canary main" | sudo tee /etc/apt/sources.list.d/mkvdup-canary.list # ...or every canary ever published echo "deb [signed-by=/usr/share/keyrings/mkvdup.gpg arch=amd64,arm64] https://github.com/stuckj/mkvdup/releases/download/apt-history-canary/ ./" | sudo tee /etc/apt/sources.list.d/mkvdup-canary-history.list sudo apt update sudo apt install mkvdup-canary
Same rpm 4.16 or newer requirement as the stable repository above.
# Add the canary repository sudo tee /etc/yum.repos.d/mkvdup-canary.repo << 'REPO' [mkvdup-canary] name=mkvdup-canary baseurl=https://stuckj.github.io/mkvdup/yum-canary enabled=1 gpgcheck=1 gpgkey=https://stuckj.github.io/mkvdup/yum-canary/gpg-key.asc REPO # Install sudo dnf install mkvdup-canary
yay -S mkvdup-canary # Or add the canary repository (same signing key as stable) curl -fsSL https://stuckj.github.io/mkvdup/gpg-key.asc | sudo pacman-key --add - sudo pacman-key --lsign-key 3AABF4C834FFE7E08D91A9BACDB7B8F88AFCCBE3 sudo tee -a /etc/pacman.conf << 'REPO' [mkvdup-canary] SigLevel = Required Server = https://github.com/stuckj/mkvdup/releases/download/pacman-canary-$arch REPO sudo pacman -Syu mkvdup-canary
Package files are served from the per-version
GitHub releases; these repositories carry
only the indexes. The APT archive reaches them with a relative
Filename, and the YUM metadata with a per-package xml:base.