I cannot update — What should I do?
An example of how the first method in the video has fixed issues can be found here: Error during pacman update. How to solve? - #4 by dalto
This wiki is a work-in-progress. Only proceed to the second method if you know what you are doing. Otherwise ask questions.
First Method (Recommended)
Is it an AUR/foreign package? It probably is.
Run “checkrebuild
”. If you don’t have it installed, run
sudo pacman -S rebuild-detector
This should also set up an automatic hook which runs every time you do a system update.
Once the packages are shown, rebuild them from scratch.
Note: Rebuild Detector may not be needed because issues like these are usually caused by foreign/AUR packages. Running “pacman -Qm
” is usually enough to locate the offending packages.
Second Method (For Foreign Pacakges)
Based on the video, you would remove the package stopping you from updating, do your update, then reinstall the package, if necessary.
Before doing this, please make note of Dalto’s warning (edited for clarity):
This warning is not said in the same exact way in the video, but it is there when he says, “if you are really really sure” at about 1 min 50 sec.
I will pretty much just write out the important parts in the video, because it technically covers everything you need to do and be aware of. As with everything, exercise caution and ask questions if you are unsure.
Ways to tell if a package is needed by others:
- You installed it explicitly — meaning you looked for and knowingly installed it yourself
- In a terminal run:
pacman -Qi packageName
ORyay -Qi packageName
or, as mentioned in the comments,yay -Sii packageName
Example:
yay -Sii qt5-webkit
Repository : aur
Name : qt5-webkit
Version : 5.212.0alpha4-23
Description : Classes for a WebKit2 based implementation and a new QML API
URL : https://github.com/qtwebkit/qtwebkit
Licenses : LGPL2.1
Groups : None
Provides : None
Depends On : qt5-location qt5-sensors qt5-webchannel libwebp libxcomposite
gst-plugins-base hyphen woff2 glibc gcc-libs glib2 zlib
libx11 sqlite gst-plugins-base-libs libjpeg-turbo icu libpng
gstreamer libxml2 qt5-base qt5-declarative libicuuc.so
libicui18n.so
Optional Deps : gst-plugins-good
Make Deps : cmake ruby gperf python qt5-doc qt5-tools
Check Deps : None
Conflicts With : None
Replaces : None
AUR URL : https://aur.archlinux.org/packages/qt5-webkit
First Submitted : Mon 21 Nov 2022 02:42:49 AM EST
Keywords : None
Last Modified : Fri 17 May 2024 01:56:30 PM EST
Maintainer : FabioLolix
Popularity : 2.119204
Votes : 38
Out-of-date : No
ID : 1472175
Package Base ID : 187878
Package Base : qt5-webkit
Snapshot URL : https://aur.archlinux.org/cgit/aur.git/snapshot/qt5-webkit.tar.gz
If I had this package installed, I would look for a line that says
Required By : packageName
You may also want to look for whether the package was explicitly installed or installed as a dependency by checking for the line below:
Install Reason : Installed as a dependency for another package
That said, this method may not be practical for everyone, because uninstalling all the packages then reinstalling them can take some time, especially if your internet is not so fast (and you don’t have the package in your cache or need to rebuild it).
Furthermore, as mentioned in the comments below, it should be avoided if the package comes from the official Arch repos, especially since official packages are unlikely to have such conflicts.
These are usually resolved by pacman anyway by asking you which package to keep/replace.
Note: A package can still be marked as explicitly installed if it is part of your distro’s installation, or in some other cases.