LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
Search this Thread
Old 07-26-2011, 10:42 AM   #1
entz
Member
 
Registered: Mar 2007
Location: Milky Way , Planet Earth!
Distribution: Opensuse
Posts: 453
Blog Entries: 5

Rep: Reputation: 40
Package Management System wanted !


Hello , i'm building my own distro and i need a package manager !

well to be exact i need some suggestions for that , and yes i know everybody has his/her own opinion about why to use this or that and it's probably be an opinionated , biased and personal decision after all as is the case for most situation when you gotta choose a system between multiple vendors or version (remember the "which is the best db system" kind of threads?)

anyways , i'm doing my own research right now (as i usually do when i try to make "touch" decisions) and i thought i could benefit from your experience.

at the moment , i'm tending towards RPM (the manager) but i'm still undecided yet.

cheers folks
 
Old 07-26-2011, 12:02 PM   #2
unSpawn
Moderator
 
Registered: May 2001
Posts: 26,944
Blog Entries: 54

Rep: Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731
I think most of the people here using RPM in RHEL, Centos, or to a lesser extent Fedora, usually go quietly about these things. No need to point out that there's no need for a Social Contract or the misperception KISS means users are forced to be part of their "package management" system... Sure I love the resilience with which say Solaris builds a complete new boot environment but other than that RPM, as one of the oldest surviving package management systems (and out of the three Linux-oriented ones the most versatile and mature), to me, as much objectively speaking as possible, means: adherence to file system standards, binary packages instead of having compilers on production systems, Yum dependency handling, advantage of meta packages, efficient presto/delta update payload reduction, GnuPG repository and package signatures, package content verification, permission restoration and package relocation to name just a few things. Most functionality rolled into one RPM provides one with most of what one needs and w/o bells, whistles or kludges other package management systems may need to even attempt to do something remotely similar.

But that's just my opinion. It would help if we could understand what makes you say:
Quote:
Originally Posted by entz View Post
I'm tending towards RPM (the manager)
Maybe start by just listing your pros / cons for each of the package management systems you're thinking of?
 
Old 07-26-2011, 12:13 PM   #3
bigrigdriver
LQ Addict
 
Registered: Jul 2002
Location: East Centra Illinois, USA
Distribution: Debian Squeeze
Posts: 5,739

Rep: Reputation: 298Reputation: 298Reputation: 298
Rpm is a handy package installation and management system which makes it easy
to install, freshen, upgrade, and uninstall rpms. But, it doesn' t offer
dependency resulotion. One must find install dependencies manually.

Beyond rpm, there are yum, urpmi, and zypper for installing/managing rpm
packages. I don't know if they offer dependeicy resolution; I haven't looked
into them enough to know.

Debian packagement offer dependency resolution, finding and installing
dependencies from installation media and repositories listed in
/etc/apt/sources.list.

Slackware has a packagement system for installing source packages, but I don't
know how well it handles dependency resolution, updates, and ugreades of
packages.

Any system you choose should include packages checkinstall and alien.
Checkinstall permits the installation of a source package, with the creation of
an rpm/deb/slackpack which can then be installed normally.
Alien permits installation of alien packages in rpm/deb/slack systems. Examples:
install a deb package in an rpm system or slack pack to a deb system, etc.

For the management of source packags I know of two applications: stow and
encap. Both share the same philosophy of source package management: install the
source package in /usr/stow or /usr/encap, them symlink the files to their
traditional locations. When updating or upgrading packages, stow or encap
checks to see if there is another version of the packages installed, makes a
parallel installatiof the update/upgrade, then deletes the original. If I'm not
mistaken, Linux From Scratch now includes encap.

I've tried both stow and encap. I couldnt get stow to work properly for some
reason, but I have had no problems with encap.

You could also look into Gentoo package management, as well as what Sorcerer and Source Mage do in their systems.

I generally don't install source packages if I can avoid it. I prefer to keep
my system consistent in re the types of packages I install. But, when I find
the need to install from source, it's nice to know that there are alternatives

Last edited by bigrigdriver; 07-26-2011 at 12:23 PM.
 
Old 07-26-2011, 12:16 PM   #4
entz
Member
 
Registered: Mar 2007
Location: Milky Way , Planet Earth!
Distribution: Opensuse
Posts: 453
Blog Entries: 5

Original Poster
Rep: Reputation: 40
Quote:
Originally Posted by unSpawn View Post
Maybe start by just listing your pros / cons for each of the package management systems you're thinking of?
well and that's what i came for in the first place ...
 
Old 07-26-2011, 12:22 PM   #5
DavidMcCann
Senior Member
 
Registered: Jul 2006
Location: London
Distribution: CentOS, Salix
Posts: 2,942

Rep: Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767
As far as the internal differences between rpm, deb, and the others, I'm not qualified to have an opinion, but I suspect the packager is more important than the package format. If the dependencies aren't handled properly, who else can you blame?

For the user, the package installer is the important thing. Look at
http://distrowatch.com/dwres.php?res...age-management
The syntax and consistent use of zypper is clearer than urpmi/urpme/urpmq/urpmf/rpm. Similarly, for the GUI a single A/Z list is not as good as a categorised one, but the the categories should not be so numerous as to be confusing. Ubuntu is particularly pointless with its xyz, xyz-universe, xyz-multiverse. How many ordinary computer users want to have items categoried by repository or even (heresy!) as free or non-free.

One thing that never seems to be handled well is the facility (where it exists) for handling groups of related material. The Debian metapackage system seems to trouble a lot of people, and having apt-get and aptitude handle it differently is a recipe for disasters. The Fedora system of groups seems better, except when the same file is in several groups:
yum groupinstall XFCE
yum groupremove "GNOME Desktop Environment"
Reboot, and no GUI! Both desktops included gdm.
 
Old 07-26-2011, 12:24 PM   #6
unSpawn
Moderator
 
Registered: May 2001
Posts: 26,944
Blog Entries: 54

Rep: Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731Reputation: 2731
Quote:
Originally Posted by entz View Post
well and that's what i came for in the first place ...
Yeah I know but like most people you don't list your own opinion.
 
Old 07-26-2011, 12:45 PM   #7
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Gentoo
Posts: 15,357
Blog Entries: 2

Rep: Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979Reputation: 3979
Quote:
Originally Posted by bigrigdriver View Post
Rpm is a handy package installation and management system which makes it easy
to install, freshen, upgrade, and uninstall rpms. But, it doesn' t offer
dependency resulotion. One must find install dependencies manually.

Beyond rpm, there are yum, urpmi, and zypper for installing/managing rpm
packages. I don't know if they offer dependeicy resolution; I haven't looked
into them enough to know.

Debian packagement offer dependency resolution, finding and installing
dependencies from installation media and repositories listed in
/etc/apt/sources.list.

Slackware has a packagement system for installing source packages, but I don't
know how well it handles dependency resolution, updates, and ugreades of
packages.
Just my 2 cents on that: Like RPM the Debian package-manager also doesn't have dependency resolution. Debian native package manager is dpkg, not apt-get. You should compare apt-get/aptitude with yum/zypper/other rpm-frontends. By the way, PCLinuxOS uses RPM-packages with APT-frontend.

Slackware has no dependency resolution at all in software, you have to do that in your brain, but is no problems with updates/upgrades of packages.
 
Old 07-26-2011, 07:00 PM   #8
entz
Member
 
Registered: Mar 2007
Location: Milky Way , Planet Earth!
Distribution: Opensuse
Posts: 453
Blog Entries: 5

Original Poster
Rep: Reputation: 40
Quote:
Originally Posted by unSpawn View Post
Yeah I know but like most people you don't list your own opinion.
HAHAHAH .. well that was intentional because i didn't want to sway the initial outcome of this thread or push it into a specific direction.

that said , i'll however mention what features and expectation i've of my package management system.

here is a preliminary list:

1)tracking packages (i.e install , upgrade , remove) *ain't that obvious huh ..LOL*
2)dependency tracking and resolution
3)automatic package content verification (via hashes) and author authentication (via GPG signatures)
4)supports metadata (obviously required for the above)
5)support multiple repos
6)can optionally run scripts/commands after or before a transaction such as build scripts
7)supports source repos
this requires some elaboration: starting with source tarballs + build scripts + dependency metadata that packager would be able to compile the entire distro , producing a corresponding binary repo or even be able to create a disk image that can be burned onto a CD or similar.
i'd imagine a similar functionality akin to Make scripts but on a distro level , you only need to change either the sources , build scripts or metadata and the packager will push the changes to the distro build.
this will probably remove the need for Checkinstall from a developers perspective but users might still find use for it.

so in short , the packager sort of becomes the kernel of the system from a development perspective.

yeah that's what's on my mind , so let's find one that can satisfy those needs !

cheers folks
 
Old 07-26-2011, 11:43 PM   #9
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,225

Rep: Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021
Well, as mentioned above , ensure you are comparing apples to apples and not oranges ie rpm vs dpkg (pkg 'mgrs') and apt-get vs yum (dependency resolvers).

There's nice list of rpm & yum cmds here, just to give you an idea of their capabilities: http://kbase.redhat.com/faq/docs/DOC-2531 (ignore up2date; precursor of yum)
I guess there's a list for Debian tools somewhere.
 
Old 07-27-2011, 09:12 AM   #10
entz
Member
 
Registered: Mar 2007
Location: Milky Way , Planet Earth!
Distribution: Opensuse
Posts: 453
Blog Entries: 5

Original Poster
Rep: Reputation: 40
Quote:
Originally Posted by chrism01 View Post
Well, as mentioned above , ensure you are comparing apples to apples and not oranges ie rpm vs dpkg (pkg 'mgrs') and apt-get vs yum (dependency resolvers).

There's nice list of rpm & yum cmds here, just to give you an idea of their capabilities: http://kbase.redhat.com/faq/docs/DOC-2531 (ignore up2date; precursor of yum)
I guess there's a list for Debian tools somewhere.
well it seems that there is something that i don't quite understand ...
and that is the relation between rpm and yum.

i thought that yum is a separate package manager which is unrelated to rpm , or am i wrong?
so if i get things correctly , rpm is a library that is used by yum to do the packaging or how exactly?

cheers
 
Old 07-27-2011, 10:56 AM   #11
DavidMcCann
Senior Member
 
Registered: Jul 2006
Location: London
Distribution: CentOS, Salix
Posts: 2,942

Rep: Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767
Quote:
Originally Posted by entz View Post
well it seems that there is something that i don't quite understand ...
and that is the relation between rpm and yum.
rpm is a package manager. It can install a package that you have in a file thus:
rep -i package-file
It will check the metadata and then check its database for the dependencies. If anything is missing, it reports and stops. Yum can also remove a package, and interrogate its database to find information about installed packages, or even individual files.

yum is also a package manager, but it works with repositories. To install,
yum install package
It will check the repository, find the package, check the dependencies, and then download the package and any missing dependencies and install them. yum can also remove things, and search repositories, but it doesn't gather information about what's installed already.
 
Old 07-27-2011, 11:17 AM   #12
entz
Member
 
Registered: Mar 2007
Location: Milky Way , Planet Earth!
Distribution: Opensuse
Posts: 453
Blog Entries: 5

Original Poster
Rep: Reputation: 40
Quote:
Originally Posted by DavidMcCann View Post
rpm is a package manager. It can install a package that you have in a file thus:
rep -i package-file
It will check the metadata and then check its database for the dependencies. If anything is missing, it reports and stops. Yum can also remove a package, and interrogate its database to find information about installed packages, or even individual files.

yum is also a package manager, but it works with repositories. To install,
yum install package
It will check the repository, find the package, check the dependencies, and then download the package and any missing dependencies and install them. yum can also remove things, and search repositories, but it doesn't gather information about what's installed already.
right , so is yum dependent on rpm as a backend or are these 2 completely self-sufficient systems?
i'm asking this because when i run
Quote:
yum --version
on CentOS i get both versions of rpm and yum , suggesting some interlink between the 2.

cheers
 
Old 07-28-2011, 12:09 AM   #13
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,225

Rep: Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021Reputation: 2021
Yes; they're both from RH. Before yum, RH used to use up2date as the dependency mgr. See that link I gave. rpm is the format of the files and handles the 'database' backend.

http://linux.die.net/man/8/rpm
http://linux.die.net/man/8/rpmbuild
http://linux.die.net/man/8/yum
 
Old 07-28-2011, 04:25 PM   #14
DavidMcCann
Senior Member
 
Registered: Jul 2006
Location: London
Distribution: CentOS, Salix
Posts: 2,942

Rep: Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767Reputation: 767
Yum uses rpm to do the things that rpm does, so you can't have yum without rpm. You could have rpm without yum, downloading the packages and their dependencies manually. Mandriva uses rpm, but has its own equivalent to yum.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need help coming up with a package management system ReyJavikVI Linux From Scratch 6 06-15-2009 03:04 PM
system update/package management N_A_J_M Ubuntu 1 09-03-2007 08:55 PM
User Based Package Management System Chowroc Linux From Scratch 2 03-16-2007 04:30 PM
Package Management System is Broken Ashex Ubuntu 3 06-09-2006 12:40 AM
Slackware package management on non-slack system moreon Linux - General 2 12-13-2000 08:20 PM


All times are GMT -5. The time now is 09:44 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration