LinuxCNC Logo

LinuxCNC Debian Repository

This repository provides Debian packages for LinuxCNC. Packages are built from official LinuxCNC releases (v2.9.x) and development builds (master/2.10-pre).

GPG Key

Key fingerprint: 3EF4 90D3 0FEF 3F0E DDA0 7DF3 1EEA AA0F EC4C 46A4

Download: linuxcnc.key | aptly-repository.asc (legacy)

To install the key for APT verification (modern approach using /usr/share/keyrings/):

sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -sS https://buildbot.snaggingpixels.com/linuxcnc.key | gpg --dearmor | sudo tee /usr/share/keyrings/linuxcnc-archive-keyring.gpg >/dev/null

Recommended: Pin to a release series

To pin to a specific release series (stay on 2.9.x, for example), choose the corresponding component. This prevents accidental upgrades between major series. Do not use main if you want to remain on a fixed series.

All examples below include the required signed-by parameter for signature verification.

Debian 12 (Bookworm)

2.9 stable line (PINNED to 2.9.x - recommended for production)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm 2.9-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

2.10 development line (PINNED to 2.10 series)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm 2.10-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

master (latest development builds)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm master-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

follow-latest (FLOATS between series - may move to newer major series)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm main' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

Debian 13 (Trixie)

2.9 stable line (PINNED to 2.9.x - recommended for production)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie 2.9-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

2.10 development line (PINNED to 2.10 series)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie 2.10-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

master (latest development builds)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie master-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

follow-latest (FLOATS between series - may move to newer major series)

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie main' | sudo tee /etc/apt/sources.list.d/linuxcnc.list

Full setup

Paste these commands to install the key and configure APT. Replace bookworm with trixie and choose the component that matches your needs.

Bookworm, 2.9-uspace (stable)

sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -sS https://buildbot.snaggingpixels.com/linuxcnc.key | gpg --dearmor | sudo tee /usr/share/keyrings/linuxcnc-archive-keyring.gpg >/dev/null
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm 2.9-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list
sudo apt update
sudo apt install linuxcnc-uspace

Bookworm, 2.10-uspace (development)

sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -sS https://buildbot.snaggingpixels.com/linuxcnc.key | gpg --dearmor | sudo tee /usr/share/keyrings/linuxcnc-archive-keyring.gpg >/dev/null
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com bookworm 2.10-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list
sudo apt update
sudo apt install linuxcnc-uspace

Trixie, 2.9-uspace (stable)

sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -sS https://buildbot.snaggingpixels.com/linuxcnc.key | gpg --dearmor | sudo tee /usr/share/keyrings/linuxcnc-archive-keyring.gpg >/dev/null
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie 2.9-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list
sudo apt update
sudo apt install linuxcnc-uspace

Trixie, 2.10-uspace (development)

sudo apt install curl gpg
sudo install -d -m 0755 /usr/share/keyrings
curl -sS https://buildbot.snaggingpixels.com/linuxcnc.key | gpg --dearmor | sudo tee /usr/share/keyrings/linuxcnc-archive-keyring.gpg >/dev/null
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/linuxcnc-archive-keyring.gpg] https://buildbot.snaggingpixels.com trixie 2.10-uspace' | sudo tee /etc/apt/sources.list.d/linuxcnc.list
sudo apt update
sudo apt install linuxcnc-uspace
Note: The modern recommended approach uses /usr/share/keyrings/ with signed-by= in the sources line. This scopes the key to this repository only (not globally trusted like /etc/apt/trusted.gpg.d). The legacy method using /etc/apt/trusted.gpg.d still works but is deprecated.

Package overview

ComponentPurpose
2.9-uspaceLinuxCNC 2.9.x stable releases (e.g. v2.9.10) — recommended for production
2.10-uspaceLinuxCNC 2.10 development/pre-releases
master-uspaceWeekly/master builds
mainAggregate/follow-latest channel (contains 2.9, 2.10 to 2.xx, you get latest tags as they appear)

For detailed documentation on using LinuxCNC, see the official LinuxCNC documentation.

Browse the repository

You can navigate the repository structure in your browser to find specific package files:

Tip: Each component directory under dists/ contains binary-amd64/Packages listing all packages with versions and download URLs. The pool/ directory mirrors this structure with the actual .deb files (named with hash prefixes for deduplication).

Build Status

Last successful build times for each distribution and component (UTC):

Loading build status...
Distribution Component Last Successful Build (UTC)

Data sourced from /build-status.json, updated by build scripts on successful publish.