Linked by Thom Holwerda on Mon 15th Dec 2008 15:10 UTC
Editorial InternetNews.com states: "Microsoft (or a really smart ISV) should build a full application manager for Windows, similar to what most Linux distributions do today." Most Windows applications come with their own distinctive updating mechanism (much like Mac OS X), instead of having a centralised updating location like most Linux distributions offer. While it certainly wouldn't be harmful for Windows to gain such a feature - the question remains: isn't it time we rethink program installation and management altogether?
Thread beginning with comment 340334
To read all comments associated with this story, please click here.
Needing a package manager is a flaw
by theosib on Mon 15th Dec 2008 16:34 UTC
theosib
Member since:
2006-03-02

The need for a package manager in Linux is one of its greatest flaws. In Linux, parts of applications are spread out all over the file system. Some parts go in /bin (or /usr/local/bin), some in /etc (or similar) and some in /usr (or equiv). Manually uninstalling an app in Linux is a nightmare because the parts are in unpredictable places with unintuitive names. And manually installing an app is a time-bomb, waiting for some automatically-installed app to stomp on it (assuming you can find all the dependencies you need to manually install your app in the first place).

I agree that MacOS should have a centralized update system. Oh, wait. It does. It's called "Software Update..." The only problem is that far too many apps don't take advantage of that. They should. What MacOS does right is bundle all parts of an app together under one directory, except for user configuration files (plist files) that are small and stored in predictable places. Gobo Linux does roughly the same.

Another flaw in the way Linux handles things, but which MacOS and Windows do right, is that Linux lacks a standardized config file format. Upgrades in Linux are a nightmare, because none of the package managers have any clue about how you merge your config file changes with the additions to the config file that come with the update. Mostly you either just lose your changes or break the software due to missing updates to the config file. Switching to some kind of key-value XML format that's both human and machine readable would solve LOTS of problems.

The very fact that Linux NEEDS a package is a sign that something is horribly broken. There is a flaw in the design at a fundamental level. This is evidenced by the fact that MacOS keeps things organized without it. If you can eliminate a tool entirely, you have one less thing to break (and believe me, those package managers break).

That being said, having a package manager is one of the greatest things about Linux as well. You have a central application that handles all of your installs and updates for you and does a reasonably good job about it most of the time. Am I contradicting myself? No. The package system prevents you from easily installing non-repository apps, and that can be fixed by changing the underlying package system. This will result in a much simpler (internally), reliable, and stable package manager, because it can shed a ton of complexity.

Reply Score: -1

Thom_Holwerda Member since:
2005-06-29

I agree that MacOS should have a centralized update system. Oh, wait. It does. It's called "Software Update..." The only problem is that far too many apps don't take advantage of that. They should.


NO application other than Apple's own make use of Softwsre Update because... Software Update is closed. It's Apple-only.

Reply Parent Score: 2

theosib Member since:
2006-03-02

Well, that would be stupidity on the part of Apple. I generally like Apple and their hardware and their OS. But they do a lot of stupid things.

Reply Parent Score: 1

zelrik Member since:
2008-02-16

That 'flaw' has been f--king useful to be honest. I do remember people installing software anywhere on their Windows and losing track of them. Linux IS more organized that any OS I have seen so far (which isnt hard I admit). Also for the upgrades... ubuntu does it right or almost as a far as I know, I had no issue at all upgrading from 8.04 to 8.10. I couldnt say the same for upgrading from XP to Vista. Linux might have flows but man seriously... the package manager is a MS-killer.

Reply Parent Score: 3

eldarion Member since:
2008-12-15

Manually uninstalling an app in Linux is a nightmare because the parts are in unpredictable places with unintuitive names.

And why would you manually uninstall apps on Linux? It makes no sense at all. If i uninstall an app with my package manager, i just need to do “pacman -R <package_name>”. I can easly see all the files that were installed with “pacman -Ql <package_name>”. If i really want to install apps from the source code (and don't what to use “makepkg”), i just need to do “make uninstall” to uninstall them. Done.

What MacOS does right is bundle all parts of an app together under one directory

I think that's a mess.... having libs, execs, text files, etc... all on the same folder. So, you see... it all depends on point of view.

Upgrades in Linux are a nightmare, because none of the package managers have any clue about how you merge your config file changes with the additions to the config file that come with the update

I speak for myself when i say that i haven't that kind of problem. My package manager don't overwrite config files. If they need to be installed, it just copy the new config files with “.pacnew” extension.

(and believe me, those package managers break).

Humm.... ok, i belive you! lol.

Edited 2008-12-15 21:11 UTC

Reply Parent Score: 4

theosib Member since:
2006-03-02

One case where you would manually uninstall a package is if you have to build and install it yourself manually. This happens when the package you want isn't available in the repository and isn't available anywhere as a .deb or .rpm or whatever. I understand that there are some tools that'll turn an auto-conf package into a .deb, but as you can see as you go along, it gets ever more complex as yo have to learn to use more tools.

Also, upgrade hell, with dependencies breaking and config files getting munged is why I quit using Gentoo. My system just got to be so completely hosed I couldn't use it. With Ubuntu, at least it doesn't take nearly so long to wipe out and reinstall your whole system.

Reply Parent Score: 1

lemur2 Member since:
2007-02-17

Mostly you either just lose your changes or break the software due to missing updates to the config file.


I dispute this also. I have been updating packages for quite a few years now using package managers. Neraly always there is a default config file for the appliaction included in the package file (for people who are installing it for the first time). The package manager always notices the new default config file and the existing one, it will ask which version to use (default is to keep the old version), it can display the differences between the new default and the existing config file on the fly before you answer this question, and new versions of applications which change the config file format ALWYS retain the capability to read the older format and change it to the newer one.

Never once, in the hundreds of hundreds of times I have update applications using package managers, have I ever lost any configuration.

Not once.

Reply Parent Score: 5