this post was submitted on 01 Oct 2025
23 points (87.1% liked)

Linux

58675 readers
543 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] kevincox@lemmy.ml 13 points 1 day ago* (last edited 1 day ago) (1 children)

But that is my point. Just running pacman -S firefox is fine as long as you didn't run pacman -Sy at some point earlier. It won't update anything, even dependencies. It will just install the version that matches your current package list and system including the right version of any dependencies if they aren't already installed.

But that means if you already have Firefox installed it will do nothing.

[–] thingsiplay@beehaw.org 0 points 1 day ago* (last edited 1 day ago) (3 children)

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 with pacman -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.

[–] milk@discuss.tchncs.de 2 points 1 day ago

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.

[–] kevincox@lemmy.ml 13 points 1 day ago

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.

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.

Right? What i don’t understand is, when I uninstall with pacman -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 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.