Thursday, 17 March 2011

"So Mike likes packages then" - Package managers for Linux

(Today's quote comes from the Tuxradar podcast)
Apt, RPM, Gdebi, tarballs, scripts, Synaptic, Add/Remove software, Software manager, Conary, Aptitude, Apt-fast, packman.................................................
The list never ends. How many more package managers do we need? Most package formats are based on old archives and are a pain to manage. Nearly every Linux distro from the top 50 probably has its own package manager or format. Having different formats is bad enough, but having Synaptic, MintInstall, Software Centre, Add/Remove software aptitude and good old apt-get for one package format is really bad. Hoy many ways can there be to install a program???? Does every community really feel the need to make a new package manager either because they don't like the current one or because they just want to? Can't they all just merge and work on 1? At lest then we would only have to worry about Apt, RPM and tarballs without having to explain to each user that they might have to try a different method to get an image editor or audio creator. Another problem is providing programs on disc. There isn't enough room to put three different packages of each program on a disc.

This Apt has Super Cow powers
Debian made a good package format back when their distro was released and called it Apt (Advanced Packaging Tool). However, this successful format and tool was built on the aging archive .ar and this lets it down as it could be updated to be more efficient. Synaptic is the natural graphical tool to use in place of the command apt-get and most others like MintInstall are based around it. But Synaptic has a very complex interface where packages are shown by name not by program name. As these contain version numbers and lib or -devel prefixes and suffixes this confuses newbies and that is why so many other managers were created. Why can't all the Apt managers form one combined program which has the easy interface ideas of the spin-offs but the advanced functionality of Synaptic (maybe an advanced mode that IS Synaptic)?

Red Hat, the company behind RHEL and Fedora made RPM. This again uses an old archiving system: CPIO. It is so old it was used for putting data onto tape storage and is reallyhard t ouse. RPM has no 'standard' graphical interface like Apt does with Synaptic, instead is only has the rpm command and makes use of Add/Remove software or whatever each distro provides. Again using the rpm command is harder than apt-get (sudo apt-get install somepackage) as you have to use some cmoplicated su stuff (again I hate why some distros use sudo some use su and others use both) or yum. Again this changes every release. so it's either 'su -c 'yum install -optionhere packagename'' or 'su -c 'rpm -i packagename''

And there is Slackware. I leave Pat with his custom package format as it is a one-off special case.

Why can't we have 1 unified package format with others open to choosing, but a friendly Linux package like Apt? Update it to work with a better archive and it will fit the bill every time. I understand that programs or Desktops can be argued over but package formats?? They are a core part of the system. How hard is it to have a standard??? I know this is free software, but there are some other versions of software created for the sake of creation! The core parts of any operating system, open or closed should be the same without any differentiation except where changed by the user for personal preference. There should be a Linux 2011 where all the best aspects and learning points from all distros are rolled into 1 and the others are still there for people to choose but there is a standard.

No comments:

Post a Comment