On Archlinux it is not recommended to update only one package with the package manager pacman
. Let’s say I have 11 packages, and one of them is extra/firefox
(true story). Updating only a pacman -S firefox
could introduce problems, but installing a new single package if it wasn’t there is okay.
So my question is, could we get around this by removing and installing the same package again in one go: pacman -Rs firefox && pacman -S firefox
We can install a new package if it wasn’t installed with
pacman -S firefox
. That is not a partial upgrade of the system. Right? What i don’t understand is, when I uninstall withpacman -Rs firefox
, delete the cached firefox package (only that file), then the system is in the same state as before I installed it. Then-S firefox
should be okay, right? And it even looks up the new version. This is my question, if that would work correctly.IF no dependency tries to update too. Off course in that case I would stop. Without
pacman -Sy
, I never do that anyway, only-Syu
.To add to the other comment, package managers keep a local copy of the list of available packages and the version. When you do a
pacman -S xxx
the package manager looks up xxx in the cache and downloads the package from whatever mirror youre using as well as any dependencies, looking them up in the same way from your cache. This works for a while even if theres a new update available because mirrors usually keep a few previous versions.Once you do a
pacman -Sy
you update your cache to the latest one. If you then update xxx, it will update xxx and pull in any dependency updates required, but any other packages that depended on the same packages dont get updated, leaving you in a partially upgraded state.That’s all you need to know. As long as you always use
pacman -Syu
you will be fine.pacman -Sy
is the real problem. The wiki page is pretty clear about the sequences of commands that are problematic https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported.This isn’t correct. It won’t look up the new version. Assuming that the system was in a consistent state it will download the exact same package that you deleted. The system only ever “updates” when you run
pacman -Sy
. Until you use-y
all packages are effectively pinned at a specific version. If the version that gets installed is different than the one you removed it probably means that you were breaking the partial update rule previously.deleted by creator