This error occurs when apt detects a package conflict where a package "breaks" (is incompatible with) another package that is currently being installed. It typically happens with version mismatches in multiarch systems or when different package versions have incompatible dependencies, and can be resolved by installing matching versions or using aptitude for smarter conflict resolution.
The "Breaks" relationship in Debian/Ubuntu packages specifies that a package is fundamentally incompatible with specific versions of another package. When apt attempts to install a package that has a "Breaks" declaration against an already-installed package, it refuses to proceed because the installation would create an unstable system state. This is a safety mechanism that prevents incompatible packages from coexisting. The error message indicates that the version of the package you are trying to install "breaks" the package that is currently installed, and apt cannot resolve this without either upgrading the broken package to a compatible version or removing one of them.
Start by updating your package lists to ensure you have the latest information:
sudo apt updateThen check what version of the conflicting package is currently installed:
apt show package-name
apt show package-name:archReplace "package-name" with the actual package name and "arch" with the architecture (e.g., i386, amd64) if applicable.
View all available versions of both the package you want to install and the package that is already installed:
apt policy package-name
apt policy other-package-nameThis will show you which versions are available and which one is currently installed. Look for versions that might be compatible.
Try installing both packages with specific versions that are compatible. First, find a version of the breaking package that does not conflict:
sudo apt install package-name=1.2.3 other-package-name=4.5.6Replace the version numbers with actual versions from your apt policy output. If both packages are available in compatible versions, apt should allow the installation.
If apt fails to resolve the conflict, try aptitude, which has a more sophisticated conflict resolver:
sudo aptitude install package-nameWhen aptitude encounters a conflict, it will suggest alternative solutions. You can accept the suggested solution by pressing "y" or explore other options. Aptitude may suggest upgrading the conflicting package to a compatible version, which apt would not consider.
If you are working with multiarch packages (e.g., both amd64 and i386 versions), ensure both versions are compatible:
sudo apt install package-name:amd64=VERSION-A package-name:i386=VERSION-BMake sure VERSION-A and VERSION-B are versions that do not break each other. Check the package metadata to see if the breaks declaration is version-specific.
If no compatible version exists, you may need to remove the conflicting package and reinstall both packages from scratch:
sudo apt remove --purge package-name other-package-name
sudo apt autoremove
sudo apt install package-name other-package-nameThis ensures a clean installation without version conflicts. Only use this approach if compatible versions cannot be found.
Some packages may be held (marked to prevent automatic updates), which can contribute to breaks conflicts:
sudo apt-mark showholdIf the conflicting packages are held, unhold them to allow upgrades:
sudo apt-mark unhold package-nameThen retry the installation or upgrade.
The "Breaks" relationship is stricter than "Conflicts" in Debian packaging. While Conflicts allows dpkg to replace the old package with the new one, Breaks prevents installation entirely unless the breaking package explicitly replaces the broken one. This is why apt refuses to proceed. In multiarch systems, version compatibility is critical because both the amd64 and i386 versions of a package often share libraries through the dependency tree. If their breaks declarations are incompatible, apt cannot satisfy both architectures simultaneously. When investigating breaks conflicts, examine the package metadata using "apt show" or check the Debian package database at packages.debian.org to understand the exact version constraints. Sometimes, waiting for a newer version of the conflicting package to be released will resolve the issue. In enterprise environments with held packages or custom repositories, breaks conflicts are more common and may require pinning specific versions in /etc/apt/preferences or /etc/apt/preferences.d/ to maintain system stability.
E: Could not connect to proxy server
Could not connect to proxy server
E: Package 'package:i386' has no installation candidate
How to fix "Package package:i386 has no installation candidate" in apt
E: The value 'value' is invalid for APT::Default-Release
How to fix invalid APT::Default-Release value in APT
dpkg: error: unable to create new file 'path': Permission denied
How to fix dpkg permission denied errors in APT
subprocess installed post-removal script returned error exit status 1
How to fix "subprocess installed post-removal script returned error exit status 1" in APT