LWN.net Logo

dpkg v rpm

dpkg v rpm

Posted Jan 26, 2011 4:27 UTC (Wed) by corbet (editor, #1)
In reply to: Untz: Results of the App Installer meeting, and some thoughts on cross-distro collaboration by skvidal
Parent article: Untz: Results of the App Installer meeting, and some thoughts on cross-distro collaboration

Interesting...when I think about the differences between Debian and Fedora, the package manager is mostly an incidental detail. Sort of like saying the main difference between Australia and the US is that they drive on different sides of the street. Things like release process, how the community works, project governance, etc. strike me as being much more important.


(Log in to post comments)

dpkg v rpm

Posted Jan 26, 2011 7:39 UTC (Wed) by skvidal (subscriber, #3094) [Link]

How does project governance matters to how the OS works?

B/c that's what we're talking about.

Not how the community hangs together (or not) as the case may be.

we're talking about the processes to:
1. compose the distro (the os)
2. organize the distro (the os)
3. deploy/install the distro (the os)

it's all coupled tightly to the packaging tools.

The os itself is the same ON PURPOSE.

apache on debian and apache on fedora are, by and large, the same.

The set of policies/rules are just the sausage-making process.

Take a distro to its component parts of the OS:
1. kernel -pretty much 'upstream' + 'whatever'
2. basic 'get you booted' utilities.
3. apps/daemons/etc
4. packaging

parts 1, 2, and 3 need to be very similar for us to call it 'linux' don't they?

Packaging/installation/maintenance is the separation point.
that's the part that makes us put another name in front of linux:

Debian
Fedora
OpenSuse

So, I don't generally group rpm and deb as the split. It's more like 'families' of distros.

debian is one family of distros including: debian and ubuntu and all the derivatives thereof.

red hat is another including: rhel, fedora, centos, etc.

SuSE is another including: SLED/SLES and OpenSUSE

Mandriva is another.

The tools that tie each of these together are their installation/update/pkging tools.

Those are the tools the admin/user end up having to be most familiar with.

That's what I mean when I say the packaging is where things vary.

dpkg v rpm

Posted Jan 26, 2011 14:16 UTC (Wed) by sorpigal (subscriber, #36106) [Link]

For me the most important differences between a Debian system and a Fedora system aren't package format (no one cares) or package manager (even though apt is better!) or package related tools. The important differences are the results of policies that are different.

How are network interfaces configured? What about firewalls? Where do defaults get set? What tools control runlevel services? What is the layout of /var/? Where is documentation stored? What can be found in /usr/local/? If you have a bug, what do you do? Everything here is different and has nothing to do with packaging as such. In some cases such decisions can be made by the user by installing a different package from the default, but then which was the default was a distro policy decision.

I'm all for working together on things not related to packaging, but I use Debian because I tend to like the design decisions Debian makes. I don't want to see other distribution's decisions creeping in to mine (and I'm sure this is mutual).

dpkg v rpm

Posted Jan 26, 2011 19:19 UTC (Wed) by martinfick (subscriber, #4455) [Link]

Agreed. +2

dpkg v rpm

Posted Jan 26, 2011 17:58 UTC (Wed) by iabervon (subscriber, #722) [Link]

Take a distro to its component parts of the OS:
1. kernel -pretty much 'upstream' + 'whatever'
2. basic 'get you booted' utilities.
3. apps/daemons/etc
4. packaging

parts 1, 2, and 3 need to be very similar for us to call it 'linux' don't they?

Parts 1 and 2 are generally very similar (although the initial filesystem stuff was, at least until recently, totally custom for each distro). But part 3 varies widely between distros, at least with respect to the willingness to experiment with alternatives and be early adopters. Distros varied in when they started using Pulseaudio; what replacement(s) for sysv init they tried; how they set up networking; the support code for init scripts; when they adopted what of hal/dbus/udev/ConsoleKit/PolicyKit; the default mail server; the default mailbox file format; and so on, down to whether they ship a version of Alpine that outputs utf-8 or are too concerned about the legal status of those patches. And, of course, these adoption decisions are made using the distro's project governance process.

Furthermore, these differences trickle into the packages; when one distro is using upstart and another is using sysv init, their apache packages have to include different scripts to manage getting apache to run, and when a third distro is also using upstart, there isn't a way to avoid duplicating the uninteresting work of maintaining the script for the apache package.

That is, the differentiation between distros is a bunch of choices the distro makes that matter in small but critical ways to the packages they ultimately provide. This forces them to maintain their own packages independently, and the individualized packages are a cost, not a benefit, of the differentiation.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds