Package Manager Issues (Pop!_OS)
Apt/Dpkg (system-wide packages)
If your system complains about a failed upgrade, package manager conflicts, broken upgrades, or other package-related issues, there are several common fixes to these problems. Some package manager issues can be resolved with the graphical update program, but many require the command line. Try running these commands to fix your package manager:
sudo apt clean sudo apt update -m sudo dpkg --configure -a sudo apt install -f sudo apt full-upgrade sudo apt autoremove --purge
Sometimes, you may see some packages that are still broken and need to be installed manually or purged manually. There may be broken dependencies or cyclical dependencies. If so, these commands can help:
sudo apt install --reinstall [packagename]
This command reinstalls the package. This can be convenient when the package has many reverse dependencies.
sudo apt purge <package name>
This command will remove a package and its system-wide configuration files. Use it to remove a package that is causing issues, and reinstall it with this command:
sudo apt install <package name>
Important: Please pay attention when using a purge command. If the command looks like it will remove several additional packages besides the one you are trying to fix, don't run it! If it's only a few packages, it's most likely safe. If additional packages are removed, make sure to install them again before restarting the computer. This command will make sure the core Pop!_OS components are installed after any purge commands:
sudo apt install pop-desktop
Update with Packages Held
If a problem presents itself immediately after updating a particular package, sometimes holding that package back temporarily can help narrow down the cause.
NOTE: This process is meant to be used on a temporary basis for testing only. System76 does not recommend holding back packages unless specifically instructed to by support.
First, remove the newer package using this Terminal command:
sudo apt remove [packagename]
Next, search for the package name in the apt repositories:
apt policy [packagename]
Then, install the desired version:
sudo apt install [packagename including version number]
To perform an update while keeping some packages on their current version, use the following Terminal command:
sudo apt-mark hold [packagename]
If the package is not central to OS functions, it can be held at the current version and the other packages updated around it. If the problem doesn't present itself when a package has been held, it was likely being updated to a newer version that was causing instability.
To remove the hold on an application run:
sudo apt-mark unhold [packagename]
Show which packages are currently held with:
If the Terminal returns nothing, no packages are held.
If the Pop!_Shop indicates that some remote repositories can't be reached, open Repoman and look in the Extra Sources page for the broken repository. Either disable or remove the repository, or search for the software vendor to determine what has happened to their software server. Sometimes the version of the repo (xenial, bionic, focal, groovy, etc) needs changed to match the current version of the operating system.
If the Pop!_Shop is showing an update available, but there are no updates listed on the update page, there may be a Flatpak runtime (a backend program that another Flatpak depends on) with an update available. Run these commands to update all Flatpaks and remove any Flatpak runtimes that are no longer required by any installed programs:
flatpak update flatpak uninstall --unused
The program Synaptic Package Manager is a very powerful GUI frontend for the package manager. Packages can be installed, removed, selectively upgraded, or pinned, and information can be gained about their purpose and dependencies. It also provides a comprehensive list of available packages and programs that can be downloaded. It can be installed in the Pop!_Shop or with this command:
sudo apt install synaptic