Slashdot Mirror


What are the Real Differences Between Distributions?

toblak asks: "Everybody seems to say the Mandrake is a good distro for newbies and Gentoo, Debian, SUSE, etc, are for the Power Users. Other than different updating schemes, when you get 'under the hood' of the distribution isn't it basically the same? If I compile some source code on a Debian system don't I get the same functionality as I would if I compiled the same code on a Mandrake system? I've been using Mandrake for about a year and while I don't consider myself a newbie, I'm not a Power User either. Have I been 'missing out' on something by staying with Mandrake?"

18 of 93 comments (clear)

  1. Here's what I've seen by PhaseBurn · · Score: 3, Informative

    Red Hat likes everything nicely tucked away in /usr/bin, and /etc, completly forgeting /opt and /usr/local/bin, and /usr/local/etc ever existed. It kinda breaks some traditional locations of files. Also, a major difference with them is if you use their version of GCC, you're going to find more than one project that just won't compile. Red Hat also offers a heavily patched kernel as opposed to the standard vanilla sources.

    Gentoo is what I use on all my servers currently. It's compiled all from source right out of portage, so I can apply any patches as needed, or as they're available. They take longer to install than an RPM, but I feel better installing them as source anyway. I'm also not afraid of having to recompile software that's a dependancy of other software (RPMs are terrible for this). Gentoo also offers a heavily patched kernel against the vanilla sources, however it's very easy to install them if you don't want the patches.

    SuSe and Debian I've never actually used to the point I'm familiar with their layouts, and what's different "under the hood", so I can't really comment...

    --
    -PhaseBurn Welcome to Linux country. On quiet nights, you can hear windows reboot.
    1. Re:Here's what I've seen by ctr2sprt · · Score: 5, Informative
      Red Hat likes everything nicely tucked away in /usr/bin, and /etc, completly forgeting /opt and /usr/local/bin, and /usr/local/etc ever existed. It kinda breaks some traditional locations of files.
      No, RedHat is exactly correct in not installing binaries into /usr/local, and it's probably correct in not installing binaries into /opt. /usr/local is exclusively for the benefit of the administrator, the distribution must never touch it at all. In other words: /usr is for programs you install via your package manager, /usr/local is for programs you install by hand (make install). This is all very sensible and according to the FHS.
    2. Re:Here's what I've seen by Papineau · · Score: 4, Interesting

      The only project that wouldn't compile out-of-the-box with GCC 2.96 (which is replaced by GCC 3.2 in RH 8.0) was mplayer, and it was because their configure script had a specific check for it (you could bypass the check with a configure option, but then mplayer's developpers wouldn't help you at all with the app). I compiled it (and used it) successfully with various releases of GCC 2.96.

      The thing with RPMs is that you can get either the binary package, or the source package. Personnally, I prefer to get the source package, so that I can play with the different compile-time options rather than being stuck with what the packager chose, but that's just me. A lot of people using RH will just download the binary updates for their systems (either automatically or manually) and be done with it.

      As for your comments on the kernel (first that RH offers a heavily patched kernel, then Gentoo doing the same thing): installing a vanilla kernel.org kernel is quite easy on RH. Since it's a package that I recompile more often than others, I prefer to not package each of my compilations, and rather just install it the "old" way. It keeps all its stuff together, so it's really easy to track by hand, and the packaging is not important in that case.

    3. Re:Here's what I've seen by Khazunga · · Score: 3, Informative
      No, you're wrong. It's correct installing binaries into /opt. From the FHS. On /opt:
      /opt is reserved for the installation of add-on application software packages.

      A package to be installed in /opt must locate its static files in a separate /opt/ directory tree, where is a name that describes the software package.

      On /usr/bin:
      This is the primary directory of executable commands on the system.
      So, something like ls or grep goes in the /usr tree, Something like apache, should go into /opt/apache. It's a damn shame most distros miss this. It makes up for a mess, putting httpd.conf in odd places, like /etc/apache2/httpd.conf (Gentoo), or /etc/httpd/httpd.conf (Redhat), or /etc/httpd.conf (SuSE 6.*), or /usr/lib/apache (I don't remember the distro). And php.ini, when PHP is installed is placed in even stranger locations.
      --
      If at first you don't succeed, skydiving is not for you
  2. Retarded Elitism by quantax · · Score: 4, Insightful

    When you get down to it, most distros are using the same things under the hook. No one is busting out with special kernels, or what not. People who try to say that they are superiour because they use __ distro are basically just being elitist idiots who feel proud because they use it. This is akin to being pompous and proud about being able to code in assembly while making fun of perl programmers. While there is a difference, actually feeling superior since you use ___ is like being a blind zealot. Its a piece of software, not you; you are not the software, so unless you programmed the software, feeling superior because you use it is rather stupid. If you made the software, be proud of your abilities, but don't go mouthing off other people because they think differently. A knowledgable linux user will be able to secure a Redhat box as well as a Debian box. The paths to get to those goals may be different, but the end result is the same.

    --
    "What can a thoughtful man hope for mankind on Earth, given the experience of the past million years? Nothing." -Bokonon
    1. Re:Retarded Elitism by amarodeeps · · Score: 3, Informative

      No, actually...different distributions do use different kernels. There is a reason Red Hat employs Alan Cox and etc. Also, a distro like Gentoo for example gives you the opportunity to use a kernel that does have a lot of patches they've hand picked that do not come with the vanilla kernel sources. So, depending on what your priorities are, yes you might be missing out, no it is not all big ego zealotry, and yes while it is true that securing a linux box takes skill, knowing that your kernel has the grsecurity patches makes a difference.

  3. Number 1 difference is... by Joe+Tennies · · Score: 5, Interesting

    Speed. I am running a Gentoo system. The big advantage is that you get new packages pretty quickly. All the code can be compiled specifically for you processor (that's right I have an entire system specifically compiled for my Athon Thunderbird). Gentoo also has a bunch of kernel patches applied (most specifically the preemptible kernel patch and the O(1) scheduler kernel patch). These two do wonders for the responsiveness of a desktop system (don't worry, everyone else will get these when kernel 2.6 is adapted). The big things you lose on Gentoo is the stability and tech support. Don't get me wrong, it can be very stable, but the bigger distributions have a lot more people to check such things. The biggest thing though has to be time. You can spend a lot of time tweaking the settings and it can take a while to get a program (even with a fast internet connection and computer). As someone coming from Mandrake, you will also most miss the graphical setup programs, but you will end up learning a lot more about how the innards of Linux works.

    1. Re:Number 1 difference is... by leviramsey · · Score: 3, Insightful
      Speed. I am running a Gentoo system. The big advantage is that you get new packages pretty quickly. All the code can be compiled specifically for you processor

      How much of an advantage do you see just from compiling for a specific CPU (especially an Athlon...), as opposed to say upping the -O level in gcc or passing certain options to the ./configure scripts? Does the performance gain from having everything at the highest possible optimization outweigh the time spent compiling?

      It would seem to me that comparatively few pieces of software would benefit from being custom compiled in the Gentoo style. First of all, gcc does a fairly poor job of optimizing for AMD K7 or recent Intel CPUs (post i586), which reduces any potential advantages. Further, how much does even total, perfect optimization for one CPU get you. For something like the kernel, glibc, or X, you would probably see a difference. Possibly KDE/Gnome would benefit. Crypto apps and libs would see a speedup. The GIMP: definitely, as well as perhaps the various image and video libraries. Mozilla, OpenOffice, maybe even XMMS, though, don't tend to benefit that much from being custom compiled, and to be honest, probably aren't even worth the compile times. With something as huge as KDE, which can take hours to compile, is the slight speedup worth it?

      Gentoo is a nice concept, and everybody should probably play around with it (or even better, do Linux from Scratch...), but it's not necessarily one to build around.

  4. package managers by farnsworth · · Score: 3, Interesting
    I would venture that all rpm-based distros are pretty much the same, sans some kernel tweaks and the default settings. i.e., you could turn any rpm distro into another rpm distro if you have some basic knowledge of the apps you are using.

    that said, I switched to gentoo about 6 months ago, and I have learned more about linux in those 6 months than all the previous several years combined. the way (I think) most people work with tools like rpm is to just install packages off the cd or rpmfind.net, without ever really looking at what you're doing. when you have to actually compile traceroute, as with gentoo for example, you know much more about your system, its components dependencies, etc.

    so, I would say, yes there are differences between distros, and the most important one is the package maneger, whether it be rpm, portage, apt-get, or manually compiling all your apps yourself.

    --

    There aint no pancake so thin it doesn't have two sides.

    1. Re:package managers by gengee · · Score: 5, Funny
      the way (I think) most people work with tools like rpm is to just install packages off the cd or rpmfind.net, without ever really looking at what you're doing. when you have to actually compile traceroute, as with gentoo for example, you know much more about your system, its components dependencies, etc.


      Hmm...Because it takes so much more skill to `emerge traceroute` than it does to `rpm -Uvh traceroute-major-minor.rpm` or `apt-get install traceroute`? :)
      --
      - James
  5. The Install... by RevAaron · · Score: 5, Insightful

    A lot of the distinction seems to be in how the install goes. With a Debian install, it tends to be a bit more crude, low-level, but still pretty simple and straightforward. Gentoo even more so, but with long periods of waiting while stuff compiles.

    Newbie-oriented distros like Mandrake and Xandros (neé Corel) on the other hand try to make things very approachable in the install- everything is laid out like in an Windows app. You usually have an X11 GUI to guide you through the process. Another thing a lot of newbie-oriented distros tend to do is install a lot of stuff that you don't neccesarily need. I guess they're working on the assumption that a lot of Linux newbies would rather have almost everything they could ever need already installed and configured, rather than hoping they have the abilities to do it later.

    There's nothing you really can't accomplish on one distro that you can on another, provided you have the source and the abilities to compile libraries and applications. Some commercial apps may be tailored to a specific distro to the point that it doesn't work on another, but usually it works out fine.

    Aside from ease of installation, distros have fairly minor differences like a what binaries go where, /opt? or /usr/local? things of that nature, but they're not a huge deal.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  6. Linux is Linux by MrResistor · · Score: 4, Interesting

    ...is Linux.

    Basically, the install and management apps are the only difference as far as the software goes. I'm personally very fond of YaST, mainly because of it's excellent hardware detection, but also because of it's Online Update module, so I use SuSE.

    However, the reason I buy SuSE rather than just use the ftp install is the manuals. Of all Linux books I've read, the SuSE manuals are the most useful.

    Anyway, aside from the 2 things I list above, I think all the distros are pretty much the same, with the rare exceptions where they include something proprietary, like Lindows includes Crossover Office (IIRC).

    --
    Under capitalism man exploits man. Under communism it's the other way around.
  7. The differences by Alethes · · Score: 5, Insightful
    The reason each distro differs is because of the target audience of the distro. With that in mind, several things change:
    1. the way installation works
    2. the way software is installed, uninstalled, and updated
    3. the way the system configuration is managed
    4. where configuration files are stored
    5. where the line distinguishing the OS from the applications lies, which determines where the files for each are kept

    This is by no means an exhaustive list, but it gives a pretty good idea.

    Really, every distro is a compromise between flexibility and user-friendliness. A distro that is very flexible and can be used on a wide range of systems probably is much more difficult to use, configure and is most likely a source distro with little or no package management. On the other hand, a distro that is very user-friendly will have a GUI interface for everything that the maintainers see as important, and it will have a package management system that requires as little input from the user as possible, meaning that it is a lot less flexible. Every distro is somewhere between complete flexibility and complete user-friendliness and each of us chooses which one we want to use based on that criteria.
  8. Differences as I See Them by MBCook · · Score: 3, Informative
    There are a few differences under the hood (ignoring things like "apt vs. rpm" etc). Note that this is x86 specific because that's all I know about. Distros seem to fall into 3 categories to me:
    • Optimised Distros- This includes RedHat, Mandrake, Suse (I think) and many others. The software in these distros is compiled with optimisations for CPUs (usually for Pentiums, sometimes PPros (which is Athlon, PII/III/IV)).
    • Unoptimised Distros - This is Debian. I don't know of any others like this, although I assume they exist. Debian is compiled to run on a 386. The kernel is avaliable with optimisations, but if you want an optimised version of X, you have to compile it yourself.
    • Source Distros - This includes Gentoo (which I use along with Debian) and many others. These distros allow you to build EVERYTHING to your specific processor. So instead of using a i686 package on your P4, you can build it with P4 specific support. You can even build it so it will run ONLY on a P4 (makes smaller code this way).

    Other than that, the major difference would be that distrobutions are compiled with different versions of GCC. Most distros are based on 2.95 (or something in the 2s). Some distros (like Gentoo, I'd assume other source distros) use GCC 3.x which is supposed to make faster, smaller, and more efficent code (or something like that). The only other "guts" differences are things how the filesystem is layed out, which filesystem they like by default, etc.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  9. It's what you get but don't want by shoppa · · Score: 3, Insightful
    The problem with all the mainstream distros is they carry around an enormous amount of "baggage", in terms of complexity that you probably don't need. For example: RedHat installs cron, you don't have any choice about it. cron needs sendmail. Wham! Bam! You're stuck with sendmail, even though you probably don't want it (and in reality you probably do not need a mail transport on your desktop box anyway!).

    The solution for me: Linux From Scratch. Build exactly what you need into your system, nothing more!

  10. They are different by Chacham · · Score: 3, Interesting

    Sure, if you do little use of the system and then all source works the same. However, there a major differences.

    I've started with Slackware and moved to Debian. I use Redhat at work. What the difference? Simple, Slackware required more work. Confusing it was. However, I actually learned a few things, and I am indebted to Pat Volkerding for putting me through that all. Unfortunately, I killed my system with a bad upgrade to libc6, and I decided that it was time to switch.

    I took Debian, simply because they are community-centric. There are tons of choices, but they are all up to you. It handles the basics for you, but lets you know what's happening. As such, it (unstable) keeps me up to date and takes care of basic administration, but I have to do a bit here and there. I like this level, and I like Debian, so I am happy here.

    Red Hat takes a different approach. RedHat does things for you. It does much more you than Debian does. This is great for quick starts onto system, or moving from a Microsoft world. However, for those who like to know what's going on, it does a bit too much. Red Hat 8 even went further with making KDE and GNOME desktops looking alike. That is the Red Hat way.

    So, generally with Linux the distribution that you choose is a mixture of ease and control. But as one goes up the other goes down. Yes, you *could* force the system to do what you want, but then why not get a distribution that does it for you, and can be updated without breaking anything?

    If there were only three distributions, they'd probably be Red Hat, Debian, and Slackware. I've heard this from others as well. If it's true or not is irrelevant. The point is, those who tried them see these three as representing three different approaches to a Linux distribution. I'd suggest trying them all at some point if you doubt their differences.

  11. Don't forget /etc and runlevels by SpaFF · · Score: 5, Informative


    Another big difference between distros is how their runlevels and their /etc structure is laid out in general.

    Redhat, Debian, Mandrake, et. al. use a more SYSTEM V init structure whereas Slackware uses a more BSD style init. Gentoo's init is pretty much unique to gentoo (I'm still figuring that one out).

    -Lee

    --
    -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GIT d? s: a-- C++++ UL++++ P++ L+++ E- W++ N o-- K- w--- O- M+ V PS+ P
    1. Re:Don't forget /etc and runlevels by bobv-pillars-net · · Score: 3, Interesting

      I use file-rc.


      In Debian.


      Gets rid of all that /etc/rc.d/rc{1,2,3,4,5,6}.d crap and replaces it with a single /etc/runlevel.conf file.


      REALLY neat stuff. Check it out here.


      --
      The Web is like Usenet, but
      the elephants are untrained.