You are not logged in.
I was wondering... since all Linux distros are based on the same kernel, most have the same filesystem and share similar ways of running, what is the real difference between the many distros of Linux (besides their community, package management system and the stuff they come installed with).
I think it's a legitimate question, and I certainly can't answer it. For example, when one refers to Arch as 'lightweight,' what exactly makes it so (because lightweight is relative to the weight of other distros). Is it simply that it doesn't come standard with a bunch of programs, etc. If so, there is essential no core differences. But that's just an example and now I'm rambling. Do tell!
Offline
Offline
All are based on what comes out of kernel.org so its basically loads and loads of small changes that result in a distro that has its own personality.
I think the main visible differences are the intended market. Servers have ultra stable distros with the option for paid support (Debian, Red Hat), new users have ultra noob friendly distros with graphical interfaces (Ubuntu, Mandriva, PCLOS) and experienced and fiddly users have customizable distros (Gentoo, Arch).
I'm sure you've already come across this in the wiki: http://wiki.archlinux.org/index.php/Arch_vs_Others
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
Thanks for the replies. I've read that, but I mean technically different, not in purpose, philosophy or even general observations.
Offline
All are based on what comes out of kernel.org so its basically loads and loads of small changes that result in a distro that has its own personality.
Last time I checked kernel.org only hosts the kernel source and some other stuff.
Most stuff is GNU software - toolchain, userland utilities, ... Of course the upstream stuff is mostly similar, but completely. Arch borrows quite some BSD stuff - libarchive, BSD tar, ... Pacman also largely defines Arch - i wouldn't call a package manager 'small changes'. Pacman touches every part of the system.
Last edited by B (2008-03-09 00:00:26)
Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
Offline
Pacman, KISS and a community fueled by tacos are Arch's emblems.
Online
Arch uses mkinitcpio instead of mkinitrd/mkinitramfs.
Hmm, apart from that and anything else kernel related, I can't think what other 'technical' differences there are. Same kernel I guess so it's like the difference between rock bands. All use drums and guitars, it's just the way they use the instruments that's different resulting in music that will appeal to a certain niche in the market.
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
Pacman also largely defines Arch - i wouldn't call a package manager 'small changes'. Pacman touches every part of the system.
I'd agree with you there, but I think the OP wants to know more about the general and technical running of the system. Sure pacman is vital for getting things installed etc, but once their installed its down to the kernel and the implementations of it within the distro that decide how the system runs.
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
Well, Arch has an "inspiration" on freebsd ![]()
My blog: blog.marcdeop.com
Jabber ID: damnshock@jabber.org
Offline
Same kernel I guess so it's like the difference between rock bands. All use drums and guitars, it's just the way they use the instruments that's different resulting in music that will appeal to a certain niche in the market.
That's a good way of putting. So technically then... is it the superficial programs that define a distro (in a vacuum--not taking into account community or publicity), or is that putting it too black and white?
Offline
Thanks for the replies. I've read that, but I mean technically different, not in purpose, philosophy or even general observations.
Purpose, philosophy are not to be discarded because they tend to strongly influence the technical solutions adopted. Think about it this way -- developers have a constant stream of problems that they need to find solutions for, ultimately they will tend to prefer certain kinds of solutions (not just any solutions), solutions that follow particular design principles/philosophy so in the long run it all ads up and a given distribution actually becomes, to some extent, a particular design philosophy incarnated.
So you can see the overriding emphasis on the stability of the final product in how Debian is developed; with Ubuntu the focusing on user friendliness, and with Arch the stress on simplicity, transparency and customization potential -- the KISS approach.
Offline
is it the superficial programs that define a distro
Well, I probably wouldn't go as far as to say that. A programmer/developer probably wouldn't be happy to see someone say that either, because a lot of work goes into writing the OS. The same kernel is used for the hundreds of distros, but there are still reasons to use one over another.
There are enough technical differences between distros to make it implausible to turn one distro into another without a complete rewrite of code from the base upwards. Superficial programs merely define how the distro is perceived from an aesthetic and desktop usability perspective.
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
dyscoria wrote:All are based on what comes out of kernel.org so its basically loads and loads of small changes that result in a distro that has its own personality.
Last time I checked kernel.org only hosts the kernel source and some other stuff.
Most stuff is GNU software - toolchain, userland utilities, ... Of course the upstream stuff is mostly similar, but completely. Arch borrows quite some BSD stuff - libarchive, BSD tar, ... Pacman also largely defines Arch - i wouldn't call a package manager 'small changes'. Pacman touches every part of the system.
QFT. exactly.
As for the kernel, less than 2% of any given distro is "Linux", but typically more than 28% is GNU.
And I strongly agree; a package manager largely defines a distro.
Aside from that, a few differences that stick out to me: Arch uses a BSD style init rather than a convoluted init.d with symlinks pointing to it. Arch configuration files are slimmed down, well documented and easy to find. Arch offers a strong ports-like system and package-making tools (ABS,PKGBUILDs, makepkg). Arch is i686 and x86_64 optimized. Pacman uses .tar.gz tarballs. Arch is mainly binary for expedient installation, but offers excellent source tools. Arch has no defaults- the base system is just enough to get you up and running, and the rest is up to the user.
Offline
I would suggest building a linux from scratch system (http://www.linuxfromscratch.org/) When you are done with this, you will understand what a "basic" linux system is --this is the stuff that is usually common across all distros. Then its pretty easy to tell what things are different.
Dusty
Offline
Xs1t0ry wrote:is it the superficial programs that define a distro
A programmer/developer probably wouldn't be happy to see someone say that either, because a lot of work goes into writing the OS.
I meant no disrespect, I just don't really understand it all at the technical level and these are my meager attempts at qualifying the unknown.
Offline
I'd say /etc/rc.conf and pacman are very notable differences. Combined with speed and KISS these are the main reasons I stick with Arch.
Offline
pacman has been mentioned, but what about the non static nature of Arch engendred by it. One of the defining elements has got to be the rollercoaster nature of Arch, Arch users are, in the main, prepared to accept the continuous learning curve of daily or weekley updates. This may not appear to be a technical difference, however, having the latest build of any particluar app, either supplied or built themselves, surely is.
Offline
The point I was trying to make is that although there are differing ways of doing things, it still boils down to the kernel that defines Linux (if asked to define it as the OP put it "besides their community, package management system and the stuff they come installed with").
For example, in /etc/rc.conf you are setting the time zone, modules and daemons. Modules are linked with the kernel. Daemons are services. These are present in all distributions, just some distros have their own way of implementing them.
Well it seems silly to disregard package management, but they all serve the same purpose, just do it in a different way. Pacman installs packages. An installed package is still just a collection of files located in various places of the root filesystem. They might have differing files or be placed in different directories but ultimately a distros package manager has the same end effect.
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
It's not a "technical" thing, but one of the things that brought me to Arch was the rolling release system. I hate reinstalling every 6 months or so. Not to mention that 2 months before an update, you're caught in the middle when asking for support or a more recent package, the probable answer is "Just wait for the next release"
Offline
Even though they use the same kernel, alot of distros use their own modified kernel instead of a run of the mill "vanilla" kernel. Gentoo is a perfect example, you have the choice of a 'vanilla' kernel, or a 'gentoo kernel' and a plethora of other kernel variations. I think Red Hat uses a modified kernel too, at least I know it used too. Others i'm sure do as well.
The main difference though in the distros is the package manager, some with a lack thereof, and the size of their repositories. Release schedules are also another major difference. Also performance is another difference in GNU/Linux distros; some are just flat out faster then others.
Last edited by Chaniyth (2008-03-12 01:59:08)
Offline
I like Arch because it is rolling release, bleeding edge and customizable from ground up.
Offline
All distros are supposed to harbour a rolling-release model, it's just that for some there are huge changes which may clash with a user's settings, hence breaking. For straightforward distribs like Arch, we don't really have UI stuff going on nor are users a priority, so the updates are straightforward too.
I need real, proper pen and paper for this.
Offline
I like the simplicity of Arch. I know why my computer is running the way it is and in the case that something fails, I know exactly where to look to fix it.
To contrast that, Ubuntu is a great newbie distribution. When something fails though, you have to somehow cut through all the magic and automation and layers of complex systems that provide it to attempt to even find the source of the problem.
Offline