Hacker News new | ask | show | jobs
by AnIdiotOnTheNet 2853 days ago
> linux is so successful

In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.

> I also don't see why you complain about package management but also complain about it being a rube goldberg machine, the former fixes much of the later which is still an issue with windows.

The former is utterly unnecessary if your system isn't a Rube Goldberg machine slapped together from disparate components. Windows installers may suck too, but that's just whataboutism. There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.

1 comments

> In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.

But android does rely on those slapped together disparate components you think are a negative. It's a large part of it's success that they could use components relevant for a portable computer and discard the parts built with servers in mind.

> There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.

Ok, now how do you update all those apps with a single command? Most of those existed in a radically different security environment to today's, the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain.

Android basically just uses the kernel. It doesn't even use the GNU libraries and utilities. Google has built their own userland on top of the kernel.

> Ok, now how do you update all those apps with a single command?

You assume that this is worth all the headache and rigid inflexibility a package manager brings to the table, I don't think it is. Beside's, it's actually very straightforward: Each application has a manifest specifying a URI that can be checked using a known protocol to determine if updates are available and then the can be applied as a diff against the current version. Searching a file hierarchy is not rocket science, so just have your single command search for all AppDirs (AppImages, Application Bundles, whatever) and check each for updates, then present a list to the user so they can choose which ones they wish to update.

>the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain

The last thing I want is to be locked into a repo where the only applications I can safely install are at the whim of some third party maintainer and my only alternative is usually to just compile from source. I can't move applications around, have multiple versions of the same application, and they break easily when libraries get updated underneath them with incompatable changes.

Really common libraries, like cryptography libraries, should be part of the OS base system (a concept that does not exist in Linux) and updated with that, developers need not ship their own copy, and having a few copies of 200k libsomebullshit.so laying around isn't that big a deal. If you're incredibly paranoid about security we have sandboxing nowadays, use it (unsurprisingly, containers are hugely popular for Linux, hmmm...).

None of this is rocket science.