APT warns when you switch to the experimental distribution. Learn what this means, why it happens, and how to safely use experimental packages with proper pinning to avoid system breakage.
Fixes W: Changing to experimental distribution. This will likely break things!
Package: package-name
Pin: release a=experimental
Pin-Priority: 600Package: package-namePin: release a=experimentalPin-Priority: 600W: Changing to experimental distribution. This will likely break things!
The experimental distribution is Debian's development staging area containing untested, alpha, and beta packages. Unlike stable, testing, and unstable, experimental is not a complete distribution—it only extends unstable and is designed for users willing to repair their systems if problems occur. APT warns you because accidentally installing experimental packages can introduce serious instability. Packages in experimental may have unmet dependencies, breaking changes, or incomplete functionality that can compromise your entire system.
Experimental packages are unmaintained, untested, and can break your system. Only use experimental if you understand package management and can troubleshoot issues. If you're unsure, consider using testing (which receives security updates) instead of experimental.
Create /etc/apt/preferences.d/experimental to pin specific packages from experimental while keeping your system stable:
Package: package-name
Pin: release a=experimental
Pin-Priority: 600Replace package-name with the specific package you need. Pin-Priority 600 overrides the default (1) but stays below auto-upgrades (1000).
Once pinning is configured, install the package:
sudo apt update
sudo apt install package-nameAPT will now allow installation from experimental while respecting your pinning priority.
After installation, test the package extensively. Check for:
- Missing features or broken functionality
- Dependency conflicts with other installed packages
- Performance or stability regressions
- Security implications
If the package causes problems, you can remove it with sudo apt remove package-name.
If you only needed one experimental package, remove the experimental repository from your sources.list to reduce accidental breakage:
# Edit /etc/apt/sources.list or remove from sources.list.d
sudo rm /etc/apt/sources.list.d/experimental.list
sudo apt updateKeep pinning in place for packages already installed from experimental.
Experimental is marked with "NotAutomatic: yes" in Debian's Release file, giving it a default APT Pin-Priority of 1 (preventing accidental upgrades). Testing and unstable distributions are safer alternatives if you want newer packages. For rolling releases without the experimental risk, consider Debian unstable or Ubuntu devel. If using Docker, base images from Debian experimental instead of stable can provide newer tools but require careful testing in CI/CD pipelines. Kali Linux includes its own experimental branch (kali-experimental) with similar caveats.