Follow Slashdot stories on Twitter


Forgot your password?
Linux Software

What are the Real Differences Between Distributions? 93

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?"
This discussion has been archived. No new comments can be posted.

What are the Real Differences Between Distributions?

Comments Filter:
  • by Anonymous Coward
    It is called apt-get.

    You will weep with joy when you discover it.

    Let the Flames begin.
  • by PhaseBurn ( 44685 ) <> on Wednesday November 27, 2002 @07:50PM (#4771834) Homepage
    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...
    • by ctr2sprt ( 574731 ) on Wednesday November 27, 2002 @08:17PM (#4771953)
      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.
      • now don't go confusing people bashing redhat's use of the fs with pesky things like facts and standards. that's just not fair. you're not supposed to bring "reason" into this debate, that's off limits man.
      • 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.
        • That stupidity/oddity is a requirement of the FHS. Configuration files for /opt go in /etc/opt, which is not a cleaner solution in any way than just putting them in /opt. Configuration files sensibly belong in /opt/$package/etc, but that's not where they go. Just like configuration files for /usr/local programs sensibly belong in /usr/local/etc, but again, according to the FHS you can't put them there.

          But still, there's no reason you couldn't roll your own ./configure wrapper that sets up your programs to install to /opt or /wherever/you/want.

          • I beg to differ.

            If you scatter your config files far and wide across the filesystem, how to you expect to back them up?

            Putting everything to do with configuration in /etc or some subdirectory, and then tar cvf etc.tar /etc is much easier for most people.
            • tar czvf /mnt/backup/a.tgz `find -name /opt/*/etc -type d`
            • If you scatter your config files far and wide across the filesystem, how to you expect to back them up?
              Probably using find / -type d -name etc | xargs tar czf etc.tar.gz, which would also get /etc. Not a difficult task for anyone with basic Unix sysadmin experience.

              Storing configuration for /opt on /etc/opt wastes space in the root filesystem and causes annoying replication problems for when /opt is an NFS share imported by many clients. Of course, there's no fundamental reason you couldn't make /opt/$program/etc a symlink to /etc/opt/$program, but that's working in the wrong direction (making the corner-case solution easiest, making the common-case solution hardest).

        • > Something like apache, should go into /opt/apache. It's a damn shame most distros miss this.

          well, most distros would say that their version of apache is part of their distribution, which is why it goes in /usr. I'm inclined to agree -- my opinion is that stuff handled by the distribution's package manager should go in /usr, stuff I compile should go in /usr/local, and closed-source tarball installers like CPFW for instance should go in /opt (just like on Solaris).

      • Linux has got the most gawd-awful filesystem layout in any operating system I've used (various Linux distros, OS/2, DOS, Windows 3.1-2K, Free/OpenBSD, Netware). It's nothing short of a monstrosity. If you want to see what a filesystem layout should look like, have a look at FreeBSD:

        / The OS itself
        /usr Contributed/bundled third-party apps shipped with the OS
        /usr/local Everything you install, whether by hand or via ports

        /etc Configuration files for the OS
        /usr/local/etc Configuration files for user-installed programs

        /var/log Log files for all programs
        /tmp Temp files for all programs

        /usr/lib* Libraries for the OS
        /usr/local/lib* Libraries for user-installed programs

        It doesn't get much simpler than that. None of this /opt crap, none of this each-package-has-its-own-directory crap, none of this config-files-strewn-about-everywhere crap, and none of this where-the-hell-are-logs-for-app-X crap. The FHS is nothing more than a way to "standardise" the different ways each distro does things -- in that each way is correct according to the "standard".

        You put your OS files in one place, you put your program files in another, and you share log/tmp space. How hard of a concept is that??

    • by Papineau ( 527159 ) on Wednesday November 27, 2002 @09:04PM (#4772186) Homepage

      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 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.

      • one of the nice things about a redhat system is that they've tested it. they've stressed the kernel in every which way they can. now they might not test everything in every fashion, but they get a lot done.

        compiling your own kernel kind of tosses all that work out the window, doesn't it?
    • Dunno about Red Hat, but Mandrake offers several kernels, including kernel-linus which is a stock kernel precompiled (with everything as a module that can be modularized... Mandrake uses an initrd containing an ext2 filesystem to hold all the non-ext2 fs modules)

  • Retarded Elitism (Score:4, Insightful)

    by quantax ( 12175 ) on Wednesday November 27, 2002 @07:56PM (#4771864) Homepage
    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.
    • I agree with you. While there is nothing wrong with being proud of a particular distro, it is those that pooh-pooh new users: "Oh, heh! You run redhat :(" or "Debian and 'apt-get install prog-name' is obviously superior, and oh BTW, I r0x0r3d your m0m!". It seems as though they are trying to make up for other inadequacies in their life. ;)
      I challenge any of the most vocal distro-crappers to do a week of telephone support to get back in touch with the real world. Noone gives a flaming bag of crap as to what holy & blessed distro you run.
      And just for reference I have installed and ran:
      -Debian 2.2 & 3.0 which includes my own customization of Knoppix
      - Gentoo since 1.1
      - RH since 4.0
      - Linux-Mandrake since 6.0
      - FreeBSD since 4.3
      - OpenBSD since 2.9

      I also want to try out other distros like Vector, Cool Linux, Lycoris & Xandros. I recommend that if you really want to get into linux you MUST use different distros. If you get enough experience with many distros and perhaps become and expert on 1 or 2 you can then bend the other distros to your will instead of them bending and binding you.
    • Re:Retarded Elitism (Score:3, Informative)

      by amarodeeps ( 541829 )

      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.

  • by Joe Tennies ( 564856 ) on Wednesday November 27, 2002 @07:58PM (#4771869) Homepage
    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.
    • 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.

      • After having the kernel compiled processor specific you do notice a speed increase, but this is in the realms of any distro. Per program optimization may give you a slight boost but if your using it on a regular basis then it will give noticeable speed diffrences (like X11R6 and GTK and bigger libs).

        As for processor based optimizations...doesnt GCC do it at a lower level? Yes the application can support it but wouldn't GCC 3.2 deem where to use 3dnow, mmx, and sse instructions? If not why not :)

        The point of having the Gentoo system is to remove any excess bulk. How many times have you downloaded a package (samba is a prime example) and its dragged a few dependancies for features your never gonna use? (like CUPS for Samba).

        Removal of this unused bloat does give noticable boots in the realms of loading time, it may not be noticeable on the fast HDs/Processors of today, but im using Gentoo on a old Compaq Armada 1700 Laptop with a P2/300, 160mb RAM, and a 5400rpm do notice the benifit on systems like that.

        Fine it may take ages to compile, but then you see the benifits of new features in packages (how many distros do you know that support Xft under Mozilla? prove me wrong!)

        Just my 2c on the whole thing.
      • The applications where you really see the difference is KDE and Gnome. KDE and Gnome compiled for i386 is a pain in the ass compared to when compiled for i686.

        I know Mozilla is sped up incredibly much. I haven't tested OpenOffice, and I hardly think XMMS would benefit.

        Linux from scratch is nice if you need a system built *entirely* to your specs. It's not a distro (IMHO).

        Gentoo is nice for building a *fast* desktop system. Not as much for a server, unless you spend a lot of time tweaking dependencies to remove all of X/Gnome/KDE dependencies. (No, the USE-flags aren't enough)

        Gcc 2.95.x doesn't do much in the ways of optimizing for newer processors. Gcc 3.2 otoh, does (Even if it takes three times as long to compile something :).

        I like Gentoo because it *lets* me modify what dependencies I want apache to have. With precompiled binaries you can't (Unless the distributor makes 1 gazillion different packages).
        It's not a perfect system, but it works.
      • There's a huge difference between upping the Optimization level (-O) and changing the processor you compiled for.

        The processor can add instructions specific to you processor or compile in a method that is faster for your processor. (On a K6 it is faster to physically move the stack pointer and move the data on the stack than to use push... why? I have no idea, but it was in their optimization guide =)

        Changing the -O causes GCC to use tricks to compile the code faster (unrolling loops, inlining functions, etc). This can not only cause executables to increase in size, but it also causes things to break pretty often. Many programs do not compile correctly with all optimizatons turned on.
    • I'm also becoming a BIG Gentoo fan. Not so much for the speed, although that's nice, but rather for the education. The problem I have with the other distros is that lots of stuff gets tweaked (good) but it's all hidden from the user (good and bad). It's nice in that someone has already turned on the really useful stuff and turned off the really buggy stuff (hopefully) but it's a real pain when you try to figure out what's been done. I know it's all in the SRPM but it's not obvious if you don't already understand this stuff. What I really like about Gentoo is the very clear documentation that allows you to install a complete system from source. You also get some nice update tools and good documentation on that too. It seems like their philosophy isn't to make the system automatic or "for dummies" but to make things effecient and as simple as is practical. The Gentoo team hasn't added a whole lot of extra complexity to make an install brainless and the result is a refreshingly simple and functional distro.
  • package managers (Score:3, Interesting)

    by farnsworth ( 558449 ) on Wednesday November 27, 2002 @08:01PM (#4771887)
    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, 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.

    • But the key word when discussing distros is is distribution

      It's what you get 'given' from the company, different distros have different focuses, easy of use, stability, performance, leading edge, business, developers, etc.
      There are also file, location and library differences, which appear to be driven by the distros above aims, installing red hat packages on SuSE can be a nightmare! Though this should be aliviated through the Linux Standard Base []

      Once you start downloading other packages your out of the distro.

    • by gengee ( 124713 ) <> on Wednesday November 27, 2002 @08:59PM (#4772166)
      the way (I think) most people work with tools like rpm is to just install packages off the cd or, 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`? :)
      • I think that farnsworth is talking more about the 'download, read docs, compile, install, configure' process. He's right about that too. You learn a whole lot more about the application that you're working with when you have to wade through the documentation to get the app compiled.
      • 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`?:)

        Or even urpmi traceroute... ;o)

        Hell, ./configure; make; make install isn't that difficult...

      • I don't think the skill required is really at issue.

        The issue is more about what the distro does for you, and what it leaves up to you.

        I have run SuSE, Mandrake, RedHat, and Gentoo, and I find I know more about my Gentoo system than about any of the others. With Gentoo, if I want to do something, I have to spend more time figuring out how to do it than I would with say, Mandrake. (Most of the time this extra effort is spent tweaking the configuration files since Google will usually give you the name of the tool you need if you don't already know it.) Since I spend time learning about the apps on my system, and reading about how to configure them this way or that, I have a much better understanding of what my system is doing and I'm more confident with my choices. Of course, if I hadn't started with a "simpler" distro, I wouldn't have survived the Gentoo install, so both types of distros have their advantages.

        Note to religious leaders: "simpler" means that I can have RedHat up and running with a reasonable configuration in about 45 minutes, after which I can start trying to figure out what the hell this command line interface thing is. "Simpler" does _not_ mean Mickey Mouse. At 45 minutes into a Gentoo install, I'm trying to tell XFree86 the refresh rate of my monitor after being threatened that the screen might explode if I get it wrong.

    • I switched to gentoo about 6 months ago, and I have learned more about linux in those 6 months...

      Okay, I've heard this a lot. And I don't buy it as a good justification.

      There are two types of users out there -- those who want it to "just work" and those who want to learn the thing inside and out. The first are better off using a distro that "just works", and the second aren't being *restricted* from playing with the guts of, say, Red Hat...they just aren't *required* to. RPM is sgreat -- it's a great, automated system to track versions of installed software and yank out entire packages at a time. But it's hardly a barrier to getting your hands dirty -- you don't have to use Slackware to write config files manually, do custom initscripts, and customize your bootloader.
  • The Install... (Score:5, Insightful)

    by RevAaron ( 125240 ) <[moc.liamtoh] [ta] [noraaver]> on Wednesday November 27, 2002 @08:06PM (#4771901) Homepage
    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.
  • Hasn't this question of "which distro is better" been discussed to death? I can't believe this made it onto the front page.

    Oh, and the "question" was from a comment in this OSNews story []. Scroll down, you'll find the comment by toblak. A dumb comment on a dumb story, and it becomes the next "Ask Slashdot". Are you surprised? I'm not.
    • Re:ummmm (Score:1, Informative)

      by ( 581096 )
      The discussion is not about which distro is better, merely about how distros differ from each other. "Better" or "worse" isn't supposed to enter the picture.
  • Linux is Linux (Score:4, Interesting)

    by MrResistor ( 120588 ) <peterahoff&gmail,com> on Wednesday November 27, 2002 @08:23PM (#4771975) Homepage 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).

  • The differences (Score:5, Insightful)

    by Alethes ( 533985 ) on Wednesday November 27, 2002 @08:27PM (#4772000)
    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.
    • Really, every distro is a compromise between flexibility and user-friendliness.

      Two examples of why I decided I don't like Mandrake, despite all its strengths.

      1) Let's say I want to have KDE from CVS as well as the installed version. I want to edit /etc/X11/xdm/Xsession to include it. With a normal distro, you can do that. Mandrake has a complicated chain of utilities that list the options it knows about and overwrites the file.

      2) I want an /etc/fstab that lists devices, mount points and options. Mandrake gives me some complicated abstracted mess that I have no idea of how to modify -- and for the life of me, I couldn't get CD's to play.

      • /etc/fstab that lists devices, mount points and options. Mandrake gives me some complicated abstracted mess

        You mean LABEL= ?

        That's not a Mandrake thing. It's pretty much the way everyone is going, to avoid being so hardwired to device names that are liable to change when you reboot.
        • Hey, could you give me some links so that I can understand this label stuff? Red Hat 8 has this, too - and it was the reason why my first kernel recompiles on RH8 didn't work - I think. The kernels could not boot because of an "invalid root option" or something. The boot manager is set up to pass "root=LABEL=/" to the kernel and the /etc/fstab reflects this. There is something in the kernel that has to be activated so that it works (it was either "BSD labels" or something with the ramdisk... I'm not sure, because I changed multiple things at once to get it working). Anyway, can somebody explain that to me? Or give me links?
          • I think. The kernels could not boot because of an "invalid root option"
            The boot manager is set up to pass "root=LABEL=/" to the kernel

            The boot manager still needs to pass in a real device name, even if your fstab has labels, AFAIK.

            As far as LABEL goes, it's all in the fstab man page.

            Instead of giving the device explicitly, one may indicate
            the (ext2 or xfs) filesystem that is to be mounted by its
            UUID or volume label (cf. e2label(8) or xfs_admin(8)),
            writing LABEL= or UUID=, e.g., `LABEL=Boot'
            or `UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'. This will
            make the system more robust: adding or removing a SCSI
            disk changes the disk device name but not the filesystem
            volume label.
            • The boot manager still needs to pass in a real device name, even if your fstab has labels, AFAIK.
              Excerpt of /boot/grub/grub.conf:
              title Red Hat Linux (2.4.18-14)
              root (hd1,1)
              kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ hdc=ide-scsi
              initrd /initrd-2.4.18-14.img

              And it boots :)
              I don't think that Grub parses the root option and replaces LABEL=/ with the real device name, but I don't know. Otherwise my first self compiled kernel should have booted instead of getting panic because it can't find the root drive...

              Though I still don't know why it didn't find it...

              But thanks for the man hint, I guess I have not searched there because I saw the fstab entry quite some time after I got the kernel to work. At first I thought it was a Grub thing. Well, cool those labels are. Though two Red Hat 8 installs might become confused, right?

              • You might have made the (quite easy to make) mistake of not compiling everything the kernel needs to read your root filesystem into the kernel. For example, assuming a ext3 formated disk on ide for your root filesystem... making ext3 support or ide support as a module or omitting either one would make it panic on boot, regardless of if the boot loader is passing it the correct parameters.

  • They are all linux, which means that they are all the same. Just like both c++, java and scheme are Turing complete and therefor the same, and an IBM compatible computer and an Apple both can do computations and therefor is exactly the same. Next Question, please.
    • Ah, yes, that argument. Since we are of the kingdom Animalia, I suppose that makes us exactly the same as Canoids. Yup, surely it does. Not.

      Current distributions are, indeed, very similar. That said, there's no reason I can think of not to use the Linux kernel as a base to recreate, say, the end-user experience of running an Amiga, Vax or OS/2 system. Not a clone, mind you, meaning that you wouldn't run your Amiga apps on such a system, but the look and feel would be there and on modern hardware.

      I loved OS/2 back in the day. That would be a really fun project. I'd dub it: GNOS/2. ;)

  • by MBCook ( 132727 ) <> on Wednesday November 27, 2002 @08:52PM (#4772134) Homepage
    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.

    • I believe most distros are in the 3.x era now (and thank God, because it's a significant improvement). At least Mandrake, SuSE and Gentoo ship with a 3.x gcc, and I suspect most others.
  • No difference. (Score:2, Insightful)

    by PFAK ( 524350 )
    There is really no difference between the difference Linux distros, its all what you choose to use. If you feel comfortable with one distro, then use it AND you know how to secure it use it.

    On the other hand, some distros are easier to secure such as Gentoo, because they don't install everything and the kitchen sink. Also the fact that you can update your whole system in one command, by keeping up-to-date your more secure. Also, there no pre-compiled distro specific binarys.

    Redhat is an idea of a distro that installs so much uneeded stuff it's not even funny.
    • There is really no difference between the difference Linux distros, its all what you choose to use.

      Not true.

      Some distros (well, ONE distro) uses BSD-style init, where as some distros (well, "all the other ones that are still being maintained) use SysV-style init..

      As someone who does hands-on administration, I prefer BSD-style, as it makes determining what's running startup much easier, and configuration is straightforward (/etc/rc.d/rc.inet1 is for your network interfaces, /etc/rc.d/rc.inet2 is for your network daemons.)

      SysV is easier if you're using an automated tool, because the tool doesn't have to parse files - everything is taken care of via the big mess-o-symlinks in /etc/rc.d/rc.[1-5] (although I find it odd that you have your config scripts in one location, and the data for those scripts in another.)
      • Well, to the normal user there is really no difference. So it was more of the simplistic aproach to the whole problem, as I do not currently use Linux anymore, I've moved to greener pastures. Aka BSD.
  • by shoppa ( 464619 ) on Wednesday November 27, 2002 @09:08PM (#4772203)
    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!

    • RedHat installs cron, you don't have any choice about it. cron needs sendmail

      Umm...I don't have an older version handy to check, but this is definitely not true in the current version of RH (8.0). Furthermore, I've been using postfix instead of sendmail for quite some time, with no warnings. I think that your information may be either out of date or incorrect.

      And while some people may not want cron, for most people who want a UNIX-like system, it's pretty fundamental, and there's little cost to having it.
    • If you don't want to go as far as rolling your own distro, then Debian is quite nice. Just skip dselect and tasksel and you have the bare bones. Add what you need/want in seconds with Apt-get.

      Another advantage is the wide number of platforms it's available for.

    • While I can't vouch for your comments, you can always fool things that require Sendmail into thinking they're using it when they're really using, say, Postfix. I know earlier versions of Mandrake did that.
  • Let's throw some (not yet evocated) ideas in the air.

    Ok, after all, even if it's -ac or whatever kernel breed, it's always the linux kernel under the hood. Take your favorite distro, and try switching between 2.2/2.4/2.5 kernels, and notice the lack of problems for the supported hardware. Kudos to the kernel developpers.

    But if you are in supporting a slew of users, then you'd not want to have to find your way through the filesystem to find that fsking configuration file that changes the DHCP clients timeout to 180 s.
    One of the thing that differs the most is what happens just after kicks in and when you get your [graphical]login prompt. Even if mandrake tends to stick to the redhat model, some people used to RedHat can have a few surprises around dark corners.

    As well, RedHat is really more server-oriented: we tried mandrake 8 on a machine with more that 2 NICs, and realized that we will had to redo-most of the IP-settings scripts, where we switched to RedHat, seeing no advantages whatseover.

    Now, a note on Gentoo/Sorcerer/Source Mage source-based distributions. They are going to run faster than the other, becaus they carry no fat and are optimized for _your_ computer: but be prepared for a lot of cpu/net bandwidth usage, as well as a lot of learning. It's up to you to decide if they are good for you, or not.

    • This whole "gentoo runs faster" bit is, frankly, bogus.

      (a) all the major distros ship multiple versions of crucial stuff like the kernel and glibc, where the cycles actually matter.
      (b) At one point, I flipped the optflags to build for my processor and rebuilt everything significant in my RH install at the time from SRPMS. Reinstalled. No significant speed improvements.
      • Yeah right, so you said "this gentoo thing is bogus", but you do your test on RedHat. A methodology problem, maybe? As well, which version of gcc did you use. It can count.

        Anyway, before starting a flame war, the point is that getting RedHat as lightweight/custom compiled as Gentoo means that:

        • you will have to "remove" a lot of stuff _after_ installing, because even a bare-bone RH installation is still bloated (I did that on my home firewall).
        • you will have to get the latest stable gcc, and to recompile everything from srpms.
        So Gentoo or RedHat. Well you choose your tradeoffs, pal ! Now, I still prefer RedHat, because I'm used to it . Call it laziness.
        • you said "this gentoo thing is bogus"

          No, I don't think *gentoo* is bogus. I said that this "Gentoo runs faster bit" is bogus. I just think that the gentoo advantages lie in the software distribution stuff (frankly, I'm not a tremendous fan of up2date, which is probably RH's weakest point), and possibly some of the layout things. do your test on RedHat

          No, it's not a methodology problem -- the people claiming that gentoo is "blazing fast" are talking about the fact that it's built with optflags for your processor. That's precisely what I did.

          which version of gcc did you use

          I don't remember which was the latest one out at the time. Probably either 2.96 or 3.0 something. I not infrequently use rawhide based gcc.

          You will have to "remove" a lot of stuff _after_ installing

          Okay. I didn't say that gentoo didn't have advantages -- just that this claim of a big performance advantage is unwarranted.

          you will have to get the latest stable gcc, and to recompile everything from srpms

          But that's my point -- that there *is not* much benefit to simply recompiling, so it's not really worth the trouble of recompiling.

          Oh, don't get me wrong -- building from source is important for stuff you want devel versions of (gtk-gnutella, gimp), or want specific features compiled out (rxvt). I'm merely addressing performance issues -- saying that simply recompiling everything on your system is not a big benefit.
          • Ok, I think we are drowning ourself into misunderstanding(s).

            First, yes, I think you still have some methodology problem, but that's because we have to define "runs faster".

            I might be wrong, and no I did not went into the details of doing "#time cmd" of whatever else benchmarking technologies will be applied.
            What will give a final answer to the question of objective performances will be to run those benchmark on the same machine with the same partionning scheme, and the two distros.

            But why gentoo users tends to pretends Gentoo is fastest, even if it is subjective ?

            • The first impression: the boot process tends to be a lot faster on gentoo v.s. RH. Because RH installs everything and lets you disable what you do not need, OTOH gentoo installs only what you need.
            • As well, depending on the memory you have, having less things running into the background might give a better user experience, and that's what gentoo tends to minimize. But again this is difficult to really quantify.

            Now, I'm not an expert, nor a newby on system performances issues, but I think that optimizing the kernel and libc might gives you speedup, but again it depends on what you are doing with your machine. After all, a benchmark is always benchmarking the machine capacity to do benchmark.

  • Here are the diff (Score:2, Informative)

    by mnmn ( 145599 )

    For one it is the combination of packages. Slackware always gives you 'joe' editor, while others wont. You cant find cfdisk in every distro.

    Secondly its the granularity of the packages. Ones like me who really need to know every little package going in will like debian. Lindows and mandrake have larger package clumps..

    Thirdly it is the combination of the packages. Some distros are bleeding edge. Some are graphics-intensive but do not provide all the console utils. Some are cheap on the documentation. Others shove sources of everything down your throat.

    Fourthly and quite importantly, its those special packages like rpm and linuxconf for redhat and that wonderful hardware detection prog in knoppix. apt-get click-n-whatever.

    Linux comes from the opensource world and is a massive amalgam of crazy patches and many little progs of various quality. It is how organization is given to it for the widest variety of audience. Different distros have different ideas for different parts of that audience. Eventually, I think just a few distros will lead, and they will be kept on their toes since the license ensures a quick fork over to another distro as soon as quality slumps on one.
  • As important as features and speed are they are nothing if you can't rely on the computer. And why ask about the differences between Linux distros when you could ask exactly the same thing about *nix flavours.

    For example HP-UX is often quite feature poor compared to other *nixes but it is the most reliable (and therefore pleasant) *nix I've ever admined. As for the Linux distros, I wasn't going to give an opinion, but I have to say that I feel SuSE get's the award in this area.
  • They are different (Score:3, Interesting)

    by Chacham ( 981 ) on Thursday November 28, 2002 @12:55AM (#4773082) Homepage Journal
    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.
  • by SpaFF ( 18764 ) on Thursday November 28, 2002 @12:55AM (#4773083) Homepage

    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).


  • Nothing gets slashdoters fired up more than asking about distros.

    I myself have only used red hat, its great except like someone said above, its bloatware. The minimal install is like 600MB+.

    I hope to soon check out SuSE, Debian, and Mandrake on a few systems and see how it turns out. Mandrake looks relible and really promising.
  • Its strange that nobody pointed it yet.
    For me, most distributions (except some, which I name later) are very bad at good and appropiate management of distro-based software _and_ user (administrator) add-ons _togheter_.

    Lets look at RH (which I also use on other machines). You can have quite good desktop or server just out of the box. But power users always have other software which need to be installed by hand. from sources, from, from custom build rpms - doesnt matter.

    the hell starts at the moment, when admin wants to _seamless_ update _everything_ - I mean his own packages, and also distro packages. and this is the point where distros differs very much.

    My personal winner here is Gentoo, where I can do 'emerge world' and BE SURE that everything will be correctly updated.

    Of course, smart admin can achieve this with his homemade scripts on every distro, but its often risky, time consuming, non portable, need complicated knowledge etc. why the heck all this trouble? simple 'emerge world' should be enough ;-)

    I think that source based distros with SIMPLE but powerfull portage/package system are a big-winner here.

    my suggestion: give it a try, you're gonna be suprised!
  • I run ClarkConnect [] on my firewall. Redhat [], Debian [], Gentoo [], Lunar [] and Slackware [] on my *personal* box. Lycoris [] on my wife's box (no humorous responses please).
    While the individual merits of each distro can be argued to no end, I do have to note that only Lycoris and ClarkConnect (Based om RH 7.2) worked perfectly out of the box. (Inasmuch as Windoze does)
    Noting that, I would say that if you want to learn the differences between the distros, you should first learn how to multi-boot [] your machine. The greatest learning experience for me has been to have a working distro available at all times, while I'm trying to get a new (to me) distro working that I'm not familiar with. (Such as linux-from-scratch [])
    Anyway, I hope I haven't strayed too far from the subject, but I had to add my $.02.
    In short, IMHO, if you are a complete newbie, learn how to multi-boot [], install Lycoris [], Mandrake [] and Debian []. (or go to DistroWatch [] and pick a couple.) Graduate from one to the next while keeping your working distro intact. Then, Paraphrasing another post I read "apt-get when you finally get it together" - lol.
    Happy Thanksgiving!

  • I'm pretty late to the discussion but I don't see anyone mentioned the most important (to me) difference between Debian and other distros, so here it is:

    Debian Social Contract []

  • Here's a little note from the p.o.v. of a long-time Mac & Linux user. (not that anyone really cares, but what the heck...)

    One of the things I don't miss about Linux is all the quibbling over init scripts, what applications are installed where, how things are compiled, what kernel version is installed, what packages are available, what package manager is used, etc.

    Please do not get me wrong, I love Linux. It's a great operating system and works wonderfully both on client and server, and there's hard evidence andd anecdotal evidence on both fronts. It's great to tinker with too. But for someone who just needs to get sh*t done, it *can* (not does, but can) lead to a lot of wasted time.

    I spent a few years running Linux on various systems and at the time I was very much interested in tinkering with it, which often led to broken configurations and needing to reinstall. Which is really time consuming.

    I started playing around with Mac OS X when I got the public beta and I kept using LinuxPPC as my main OS for some time, but ended up switching over to OSX full time when 10.0 was released (actually even before then) and never turned back. I've installed a few linux distros (yellow dog and debian) on my powerbook a few times and after playing with it a bit I realize that I just don't need it anymore.

    Spending time dealing with getting X working nicely, getting sound working, my trackpad, modem, etc. I haven't even attempted to get airport working yet so I don't know if that's a hassle or not. (802.11 is certainly a PITA to setup in Windows at least, but in OSX it's a breeze).

    Certainly some of this is griping, but I believe I do have a point. It really doesn't matter where the hell files go, or what type of init scripts you use, or what package manager (though I have to admit, apt is wonderful since it does a whole lot of work for you -- DEPENDENCIES!!!). All I know is that I can go to any Mac running OSX and it's all the same as every other Mac running OSX. It would be nice if Linux distributions were like that too. Sure, the average Linux sysadmin can probably jump from one system to another and figure out where everything s/he needs is, but should they have to? Wouldn't their time be better spent getting actual work done?

    If/when I need to deal with someone else's OSX system, I would have certain expectations: the GUI is the same, boot/init scripts go in /Library/StartupItems, apps are in /Applications, useful applications are in /Applications/Utilities, and most system administration is performed via the System Preferences app. (Yeah, I can do most of that stuff from the command, but honestly, I don't want to) I think that linux folks should be able to have certain expectations as well, and have them fulfilled.

    For an end-user, the only really important difference between Linux distributions is probably whether or not they can install it quickly and painlessly, and whether it's a joy to use after that (what programs it has matters too).
  • Ive used Redhat and SuSE and i have to say that the only difference between the two is the amount of tinkering you have to do. I am a newbe in Linux and I have to say that the only thing that had me decide on RedHat was I love to tinker. Redhat requires you to tinker with almost everything and SuSE although you can tinker with alot of things it automates alot of things I would like to do myself. (Yast is annoying in my opinion) Also Redhat tends to collect all of the important things in one place.
  • 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?

    You've just stumbled upon the "perimeter of wisdom" :)

    (kind of remember a quote from Calvin & Hobbes that sounded like that)
  • Na NaNa Naa Naa!
    And I dought the moderations will touch this. BuaHaHAHAHA!

interlard - vt., to intersperse; diversify -- Webster's New World Dictionary Of The American Language