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.
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.
dpkg: serious warning: files list file for package 'package-name' contains empty filename
How to fix "files list file contains empty filename" in APT
E: Sub-process /usr/bin/dpkg returned an error code (2)
How to fix "Sub-process /usr/bin/dpkg returned an error code (2)" in APT
dpkg-divert: error: rename involves overwriting 'path' with different file
How to fix dpkg-divert rename conflicts in APT
E: Sub-process /usr/bin/dpkg returned an error code (1) during kernel installation
How to fix "dpkg returned an error code (1)" in APT kernel installation
dpkg: dependency problems prevent configuration of triggers
dpkg: dependency problems prevent configuration of triggers in apt