In the polished world of Debian-based Linux systems (Ubuntu, Debian, Mint, etc.), we take comfort in apt — the package manager that resolves dependencies, tracks versions, and keeps everything in harmony. But beneath the surface lies a wild west: the package. These are packages installed manually, bypassing the repository and dependency tracking systems.
sudo dpkg --force-depends -i broken-package.deb Then manually install missing deps with apt . This is dangerous — use only as a last resort. For end-user applications, the best "uncontrolled deb" alternative is to avoid .deb entirely:
If you’ve ever run dpkg -i some-package.deb without a repository behind it, you’ve invited an "uncontrolled deb" into your system. When left unmanaged, these packages can lead to dependency hell, broken upgrades, and mysterious conflicts. ncontrol deb
apt-mark showmanual | grep -vFf <(apt-mark showauto) But for true "no repository origin" detection:
apt-cache policy $(dpkg -l | grep ^ii | awk 'print $2') | grep -B1 "None" | grep -v "^$" Better yet, use deborphan — a tool designed to find orphaned libraries and uncontrolled packages: In the polished world of Debian-based Linux systems
sudo mkdir -p /usr/local/debs sudo mv ~/your-package.deb /usr/local/debs/ sudo dpkg-scanpackages /usr/local/debs /dev/null | sudo tee /usr/local/debs/Packages echo "deb [trusted=yes] file:///usr/local/debs ./" | sudo tee /etc/apt/sources.list.d/local.list sudo apt update sudo apt install your-package # Now controlled! Now APT tracks dependencies and updates. If you cannot create a local repo, at least pin the package to prevent automatic removal:
# Instead of manual .deb, use: sudo snap install your-app flatpak install flathub your-app These formats are containerized, update automatically, and never break system dependencies. To remove an uncontrolled package and its files: sudo dpkg --force-depends -i broken-package
sudo dpkg --purge package-name sudo apt update sudo apt install package-name # from official repo To a manually installed package into a controlled local repo, use dpkg-repack :