job.answiz.com
  • 4
Votes
name
name Punditsdkoslkdosdkoskdo

Why is not there a truly unified package manager for Linux?

Why isn't there a unified package manager that acts as an interface between the end-user and the underlying low-level package manager (aptyastpacman, etc.)?

Is it hard to do and therefore not practical, or is there a genuine obstacle making it impossible to do?

name
  • 0

First, understand that "Linux" is not an operating system. It is a kernel. A package manager is an OS-level concept, not a kernel-level one. Therefore asking for a unified package manager for Linux is not really sensical.

However, if you are asking why the various operating systems which use the Linux kernel don't have compatible package managers, well you may as well ask why Windows and Macs don't have compatible package managers. Or any other two operating systems.

  • 0
Reply Report

In short: because each distribution uses different approach to package management. They are simply not compatible. Management strategy that works best for Ubuntu will have little sense on Arch etc. A "universal" (distribution-independent) package manager would be just an additional layer of user interface, that would never work as good as each distribution's specific manager.

So, using your own words, it is hard to do and therefore not practical - also because hardly anyone would benefit from it.

  • 0
Reply Report

First of all, there is. The problem is not that there is no unified package manager, the problem is there are ten of them – seriously.

Let's take my favorite: poldek. It's a user front end for package management that can run on several different distros and manage either rpm or deb packages. Poldek doesn't do the stuff rpm does (it leaves that to rpm) and just sends the right commands without the user having to figure out all that mess.

But the problems don't stop there. Everybody has a different idea of what a user front end is supposed to look like and how it should function and what options it should expose. So other people have written their own. Actually many of the package front end managers people use in common distros today are able to handle more than one backend.

In the end, however, the problem (or advantage) is people like things to function exactly the way they want, not in some meta-fashion that tries to satisfy everybody only to fail to really make anybody happy. This is the reason we have umpteen gazillion distros in the first place. It's the reason we have so many different Desktop Environments and Window Managers (and the fact those are actually different kinds of things at all).

There are still outstanding proposals for ways of writing universal packages or having a manager that understands them all or having an api for converting one to the other ... but in the end Unix is best when used according to its philosophy ... each tool does one thing and does it well.

Any time you have a tool that tries to do more than one thing, it ends up being not as good at one of them. For example, poldek sucks at handling deb package dependencies.

  • 0
Reply Report