Installing updates

Can someone please explain to me why linux cannot just update software without constantly ■■■■■■■■ about not having dependencies?
On any other operating system, if I say “yes, please DO update that software that I use every. f***ing. day. of. my. life…”, the OS will just do that.
But on linux, you go “yes, please DO update that software…” and linux says “oh, sorry Dave, I’m afraid I can’t do that… missing dependencies and all that shizzle”.
Sheesh. I said I wanted the update. Just go and do whatever you have to do to get it done!
Sorry for the rant, and thank you in advance to anyone who can help me understand why it has to be like this… or can help me tweak my system so that dependencies are just retrieved automatically.

1 Like

Because this Linux has only one set of files (defined as metadata or package database) - it is not like the other Linux which uses several set of files where the sets may exist side by side.

Every application requires this set of files and only one set can exist at any given time.

When you sync your system, you must use the - at any time - current set of files as defined by the metadata.

The metadata controls which packages are applicable and that is why you cannot sync one package without syncing the other packages too.

This Linux is smart enough to know that it is not smart enough, and therefore this Linux requires the operator to be able to answer yes or no when necessary to continue the sync and more importantly know why it is one or the other.

That is the way.

2 Likes

OK, I guess that makes sense, but how is a user supposed to know every single dependency for every app that they run?
That doesn’t seem like a plausible expectation.
What am I missing?

You don’t have to.

pacman takes care of the required dependencies - if a dependency is available from several packages - e.g. dkms and linux-headers - you will have to know which kernel you are using to select the correct headers.

many packages has optional dependencies - in context - this means packages which provides extra functionality - not strictly required for the given package to fullfil it’s purpose.

2 Likes

:rofl: :rofl: :rofl:Go back to windoze then!

99.9% of the time the official system package manager will take care of it for you. However, the Announcement should always be viewed — at least the first 2 posts. It provides an overview of what is changing, any additional steps, and any known issues.

If you want to see the dependencies use pacman -Qi PKG or pacman -Si PKG. pamac and pactree could also be used. Dependencies are part of a package’s metadata, which is what gets downloaded and stored in your local sync database.

I think trouble creeps in when users use application specific software managers — Which is made worse if the user does’t isolate the environment, and made catastrophic if root is used to install (pip, npm, cpan, gem etc, etc).

Manjaro is a Rolling Release. Software is being updated or upgraded on a regular basis. If any of your past OSs were a Fixed Release, than a user only gets security updates and minor fixes, and it made more sense to update a single application through another mechanism. If an application has an update menu item, to update itself, don’t use it if you have it installed via the system package manager, especially on a Rolling Release.

Package managers are all independent and do not exchange information.

Linux is the kernel. Manjaro is the distribution. Core utilities come from gnu.org. And other OSs, since none are specifically mentioned, are probably Closed Source vs Open Source. A distribution puts all the pieces together and more, but a user can do it too, and the distro for that is Linux From Scratch :slight_smile:

Do you have a specific example?

Some links that might come in handy: