Hacker News new | ask | show | jobs
by mmjaa 3076 days ago
Those package dependency graphs are there to protect you. Having to route around the protection is precisely why you should use a package manger properly - to ensure you don't end up with incompatible/borked installation of key elements.

No, I do not think Installers are better than package management. By far, package managers are a key factor in system stability.

2 comments

> Those package dependency graphs are there to protect you.

I'm sorry, what kind of protection is this that only after trashing my installation Apt decided to inform me that it can't handle the package dependencies?

And on top of that, for some reason you think the only alternative is to _bypass_ the package manager and get an even more borked installation? You don't see a third option?

> Having to route around the protection

which I never did or suggested I should do...?

> is precisely why you should use a package manger properly

and you are insinuating this somehow implies I must be using my package manger "improperly" because... why and how exactly?

>You guys really have less trouble with package managers than Windows installers?

Yes, because:

>(I don't remember exactly)

There is your problem.

Your package manager prevented you installing something which would have caused instability, and you didn't grok it well enough to understand, and somehow this is the fault of package management?

Did you upgrade your dependency graph before deciding it was all too difficult to understand and use the tool to fix the problem? (apt upgrade && apt update)

apt was telling you something important: you chose to just ignore it because "too confusing" or whatever .. maybe because you grew up on the very poor habit of "just install it and who cares whatever may happen afterwards" of installers?

>_bypass_ the package manager and get an even more borked installation? You don't see a third option?

There is a third option - upgrade your dependencies, try again, and if it persists - remove the offending package and replace it with one that works. That dependency graph is there to tell you: your system may become unstable after you install this.

No such luxury happens with the plain ol' installer methods ..

    sudo apt-get autoremove && sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
EDIT: A simple solution to your problem, only possible with package management:

https://ubuntuforums.org/showthread.php?t=2268104

>apt was telling you something important: you chose to just ignore it because "too confusing" or whatever

What "it" are you even talking about? I didn't "choose to ignore" anything. I Marked all Upgrades, clicked Apply, rebooted when it was finished, went to see if there were any more upgrades (there were some), tried to mark & apply them, and was greeted with this error. Apt/Synaptic got me into this broken state and couldn't get me out of it. I don't know what story you're reading, but it doesn't seem to be what I've been writing. There was nothing for me to ignore. The error wasn't something I ignored; it was the problem.

> Apt/Synaptic got me into this broken state and couldn't get me out of it. I don't know what story you're reading, but it doesn't seem to be what I've been writing. There was nothing for me to ignore. The error wasn't something I ignored; it was the problem.

No. Nothing was broken. The updates you had asked for were about to break something if you installed them. The error message was the package manager stopping you from breaking your system.

> No. Nothing was broken. The updates you had asked for were about to break something if you installed them. The error message was the package manager stopping you from breaking your system.

Uhm... two things.

First: you see this screenshot? https://askubuntu.com/q/814380 Aside from the actual package names, the bottom part is the same kind of error I got.

See how it says "You have held __broken___ packages"?

See how the top answer is "You can use Aptitude to automatically __fix__ the __broken__ packages"?

Yeah, I interpret that to mean I had broken packages. After updating. Not before.

Oh, and actually, I think it's basically the same kind of situation as in that link. Notice it has >17k views, only 2 answers, and no accepted answer? Yeah, I guess it's not so easy to resolve.

Second: Even if I ignore the above and pretend nothing there is currently broken, a system that cannot be updated is, uhm, broken. So not only was this system just broken, it was doubly broken.

> First: you see this screenshot? https://askubuntu.com/q/814380 Aside from the actual package names, the bottom part is the same kind of error I got.

I actually don't, imgur is blocked where I work. But I know the error you're talking about.

> Yeah, I interpret that to mean I had broken packages. After updating. Not before.

Yeah the error reporting is bad, which is where the whole unix philosophy of small cooperating programs goes completely wrong. (Or possibly the error is correct and the package is broken - Ubuntu maintainers in particular seem to make bad packages quite often. But the package manager isn't the problem there)

> Notice it has >17k views, only 2 answers, and no accepted answer? Yeah, I guess it's not so easy to resolve.

More likely the user who asked it (3 questions, 0 answers) got bored and never "accepted".

> Even if I ignore the above and pretend nothing there is currently broken, a system that cannot be updated is, uhm, broken.

In as much as you now can't use the package manager to update all your programs? I mean I'd agree that this qualifies as "broken", but it's exactly as broken as a system that doesn't have a package manager in the first place. You could still update all the individual programs manually like you would on windows. Which is what I thought you were advocating?

Its not broken. The 'error' in the example you gave is: php comes in many flavours and your distro has (wisely) decided not to make this decision for you.

You have to decide which flavour of php you want to use and install the dependency manually, yourself.

This is a feature, not a bug.

Not knowing how to use package management and why you'd do things this way, does not mean that package management is broken. It means you don't know what you're doing.

Honestly: PEBCAK.

Here's a better idea: build the system such that dependency conflicts aren't possible. This is trivial by having a stable base system and otherwise including any application's dependencies in the same directory as the application, which of course means not spreading the application all over the file tree (and thus avoiding another non-existent problem that package managers solve).

I know, that's really hard for Linux Desktop people to understand, because it goes against their nature of making everything as complicated as possible for no reason. It's not rocket science, lots of systems managed it in the past.

On the contrary, the system you proposed has been implemented many times over the history of Linux .. I can think of GoboLinux as an example, but I think NixOS also does this (may be wrong).

I prefer to just keep the system stable through careful application of well-curated dependency graphs. I've never run into any issue, having used Linux since the very first day, that I couldn't solve by proper application of package manager tools. It seems its easy for newbies and those who don't care enough to get into trouble, but with the right attitude you can easily have systems with years and years of uptime (personal experience).

Gobo and Nix do something similar, but they overengineer the hell out of it (largely because typical Linux software is written very inflexibly). What I'm talking about is so simple it requires no management at all. AppImage is the closest solution Linux has, but sadly hardly any applications are deployed that way.