the butter on the muffin wrote:
Thanks a lot for the input guys. The distros that I've looked at so far are Fedora, Mandrake, Knoppix, and Gentoo. These are just the ones that I've actually sat down and read about, not necessarily what I'm looking at getting, so no n00b-related flames, k?
It seems these forums are a bit more civil than others, so that shouldn't be a problem, but I figured I'd say that just in case.
We do our best.
The n00b flaming really depends on the folder. I find that Alt.OS.Abode and the Programmer's Palace are most n00b friendly ... but this is probably because we want
people to play with our toys.
Other folders have a plethora of new people every day, all asking whether their uber-PC can run Doom3.
As for the whole n00b factor, I'd like a GUI that looks good enough to work with for many hours at a time. If I end up with a good experience with Linux, I plan to go ahead and use Linux as my primary OS, using Windows only if a compatibility issue arises. I don't want something as dumbed down as out of the box XP Home though. Basically, just something that's well documented and easy for someone who hasn't used it before to grasp. As I said, I'll need to become more familiar with Linux for school anyways, so my level of understanding should dramatically increase in a few months. Looking snazzy is a plus, but not necessary since I should be able to tweak things more to my liking later on anyways.
Linux has very snazzy GUIs ... VERY. I find a well set up Linux desktop much nicer and easier to use than Windows ... but the set up is more complicated. However, there are far more tools available and FAR more options. Do you want icons, or drop down menus? Or both? Toolbars? These are examples ... but don't worry about that until we get you a basic system up and running.
Ok, could someone explain to me in relatively unbiased terms what the pros and cons of, say, Debian, Gentoo, and Slackware are?
Slackware is easy to set up, and (so we're told by our resident Slack expert) it installs with EVERYTHING you need. This means that it has a very large footprint on your hard drive (over 2 gigs, apparently), but it also means that you won't have to scour the 'net for tools.
What Slackware lacks, and where Debian and Gentoo shine, is a package management system. Almost every application that you want to install in a linux environment has dependencies ... these are packages that the application requires to run properly. For example, XMMS is a popular audio player (ala WinAmp) and it might require things like an mp3 decoding library, GUI tools to build its interface, audio drivers, etc.. These dependencies are generally listed on the site from which you download the application. Now, if you don't have these dependencies, the application won't work. So ... for years and years, the sys admin had to keep track of all of the packages on the system and tell the newely installed application where to find them. Debian and Gentoo do this for you ... for any package in their library.
For a small application, this is fairly easy. However, try to imagine how many dependencies a huge application such as X or OpenOffice require ... the list is staggering, and the process of managing all of these dependencies manually is quite daunting. Many distros (Mandrake, Slack, and others) manage it by installing every package you might ever need and placing them all in a (relatively) standard location. Chances are, if an application requires something, it is already present on your system. Exceptions include packages that these distros can't or won't include for legal reasons, such as a DVD decrypting library.
Both Gentoo and Debian have a different approach. They automate the process by creating a library of commonly (and uncommonly) used applications and all of their dependencies off-site, and provide you with links to these libraries via the internet. They also keep track of the packages you have installed, and where they are. Both use similar tools ... Debian uses a package management system called 'aptitude', and Gentoo calls its system 'portage.
So, when you want to install a package, you use the package managment tool and ask it to (i) find out what the dependencies of the package are, (ii) whether you have them, and (iii) install them if you don't. This process is recursive, so that it will also check the dependencies of the dependent packages, and it will keep going down the tree until it locates every piece of software you need. It will download and install them for you, and update your personal package list.
The difference between Gentoo and Debian comes at the point when you install new software.
Debian does what you'd expect ... it downloads binaries (what Windows users generally executable files) and installs those. This is just like installing a Windows program. It links the downloaded binary with any dependencies the binary needs, and updates your package list.
Gentoo, on the other hand, downloads the source code for the packages and compiles them on your PC. In other words, rather than downloading the executable binary, it downloads the C code (or Python, or perl, or Java) and compiles a new copy just for you. Obviously, this takes much longer. Compiling a large package such as OpenOffice, or Mozilla, or KDE can take hours and hours.
Why do we do it, then? Gentoo also allows (encourages, even) the user to customise their compilers to tailor their code to fit their machine. For example, the C / C++ compiler can take advantage of the fact that you are running a P3 and ensure that the newly compiled code takes advantage of SSE instructions. A P4 might add SSE2 instructions. An AMD64 has many many more advantages due to its beautiful 64-bit architecture. By compiling the code to run on EXACTLY the hardware in your machine, you use your PC to its full ability. Imagine an entire OS, from the kernel to the GUI and everything in between, all tailor made for your exact hardware. That is the beauty of Gentoo. The price, as I mentioned, is long compile times. You have to compile every piece of software to take full advantage of this system (though you don't have to compile every piece of software ... you can install binaries under Gentoo as well, if you are pressed for time).
I'll stop here and ask if you have any questions.