Being involved with Linux since 1996, I have to admit that I have tried almost all of the distros; started with Slackware, used RedHat for my ISP, played with Mandrake, SUSE and Debian (and distros based on Debian) for my desktop.
I currently use Gentoo, but it is not for the weak. Some people play with it since you can pretty much have a system with the latest-and-greatest, but few keep it because portage can break your system faster then it took to set it up. Honestly, it is the only distribution I have had on my system for over a year because I use Linux not as my primary OS, but my only OS. Again, this is for the advance users because if you decide to tinker with Gentoo, you will only have a stable system for a short period of time. ebuilds (the files used to tell the system how to download and compile the sources) are maintained by anyone and everyone and many broken ebuilds make it into the main branches. It is a bitch to setup properly and making sure it stays running is something for the more advanced users, but you get one heck-of-a tailored system and setup exactly the way you want it. Since you are upgrading only small sections at a time, it is the easiest for updating.
Before Gentoo I was a Debian user. Debian is the most stable OS I have ever used and there are many spin-offs that have nice installers and updated components. apt/dpkg is probably the single best toolset for dependancy tracking ever imagined. I was never able to upgrade my system fully without issues though. Once Woody was released, I ended up having to reinstall.
SUSE/RedHat/Mandrake/RPM Based distros - are great for fast installs and hardware detection. SUSE is the best of these. The problem is that upgrading is also a beast and dependency tracking is a joke (I know all about the latest tools Madrake has and they DO NOT compare to apt). I used to use partition tricks in order to make sure the I could do new installs without needing to reconfigure everything. I made /home, /usr/local, /root and /opt mountable partitions so I would be able to install clean the latest versions and only have to play for a day or two to get my system back in shape.
Slackware is a great distro. It is the most \"UNIX standard\" of the Linux distributions. It is powerful and probably the cleanest distribution ever. Heck, it was the first distribution ever. It is not without its faults as well and still contains upgrading flaws. It is also not for the new users as many things still need to be customized manually (not nearly as manually as Gentoo). Many people swear by Slackware, but I feel it falls behind Debian and Gentoo. Just personal preference.
*****************************
Once you select the right distribution, you will start to play with your system. At first it is a toy. You will be presented with a pretty GUI and lots of windows. You may never really realize the power that is in front of you. Screw vi (it is my favorite, but I lived in HP_UP and Solaris for too many years), the power of Linux is the choices you have. You don\'t like KDE? Try Gnome. Not liking Gnome? Try Afterstep and use a screensaver as your background! XFCE4, Fluxbox, twm, etc... there are so many more. Need an office suite? Siag, Open Office, Koffice, etc... So, don\'t want to learn vi? Use one of the other hundred editors!
Like a command prompt? Need to work on a ton of things? Toss them into a while loop, if statement, etc.... You have this ability on the command line. Bash is a very powerful shell and it is backward compatible with korn, c shell and born (so it understands my crap). Need to lowercase a ton of files? ls | while read file; do mv $file `echo $file | tr [A-Z] [a-z]` done (probably incorrect but I have had a bit too much to drink tonight). The power of the command line is endless and since you are no longer using a command interpreter, any file is a command! If you need to pass a result from one tool to the next, use a pipe (|) symbol. i.e...
Let\'s break down this command:
ls -l | grep Mar | grep -v log | awk -F\" \" \'{print $3,\" \",$9}\'
ls -l: Gives a directory listing of everything in a directory in detailed columns separated by spaces:
-rw-r--r-- 1 davonz users 691255 Mar 16 13:39 klimt.log
-rw-r--r-- 1 davonz users 9058832 Mar 11 15:41 mamed37b15sdc.zip
-rw-r--r-- 1 davonz users 32244591 Mar 17 12:18 nx-X11-1.3.1-12.tar.gz
-rw-r--r-- 1 davonz users 7307712 Mar 2 21:22 open-wonka-snapshot.tgz
-rw-r--r-- 1 davonz users 1163183 Mar 2 19:50 orp-1.0.10.tgz
-rw-r--r-- 1 davonz users 806776 Mar 2 23:44 pilot-link-0.11.8.tar.gz
-rw-r--r-- 1 davonz users 10689 Mar 4 08:34 pocketkaffe.diff.gz
-rw-r--r-- 1 davonz users 5115148 Mar 14 11:31 se007e6.tar.gz
-rw-r--r-- 1 davonz users 137546 Mar 17 10:28 source.tar.gz
-rw-r--r-- 1 davonz users 1273544 Apr 18 14:58 src-v0.07.rar
-rw-r--r-- 1 davonz users 62578 Apr 18 10:44 strace_4.4.98-1_arm.ipk
We send this output to grep which will return only the lines with the characters Mar in them.
-rw-r--r-- 1 davonz users 691255 Mar 16 13:39 klimt.log
-rw-r--r-- 1 davonz users 9058832 Mar 11 15:41 mamed37b15sdc.zip
-rw-r--r-- 1 davonz users 32244591 Mar 17 12:18 nx-X11-1.3.1-12.tar.gz
-rw-r--r-- 1 davonz users 7307712 Mar 2 21:22 open-wonka-snapshot.tgz
-rw-r--r-- 1 davonz users 1163183 Mar 2 19:50 orp-1.0.10.tgz
-rw-r--r-- 1 davonz users 806776 Mar 2 23:44 pilot-link-0.11.8.tar.gz
-rw-r--r-- 1 davonz users 10689 Mar 4 08:34 pocketkaffe.diff.gz
-rw-r--r-- 1 davonz users 5115148 Mar 14 11:31 se007e6.tar.gz
-rw-r--r-- 1 davonz users 137546 Mar 17 10:28 source.tar.gz
We then send that output to grep again telling it to remove lines with the characters log in them.
-rw-r--r-- 1 davonz users 9058832 Mar 11 15:41 mamed37b15sdc.zip
-rw-r--r-- 1 davonz users 32244591 Mar 17 12:18 nx-X11-1.3.1-12.tar.gz
-rw-r--r-- 1 davonz users 7307712 Mar 2 21:22 open-wonka-snapshot.tgz
-rw-r--r-- 1 davonz users 1163183 Mar 2 19:50 orp-1.0.10.tgz
-rw-r--r-- 1 davonz users 806776 Mar 2 23:44 pilot-link-0.11.8.tar.gz
-rw-r--r-- 1 davonz users 10689 Mar 4 08:34 pocketkaffe.diff.gz
-rw-r--r-- 1 davonz users 5115148 Mar 14 11:31 se007e6.tar.gz
-rw-r--r-- 1 davonz users 137546 Mar 17 10:28 source.tar.gz
After, we send the output to awk which uses space as a field separator (I used a -F to set this to space even though awk defaults to space) and prints out only fields 3 and 9 separated by a space.
davonz mamed37b15sdc.zip
davonz nx-X11-1.3.1-12.tar.gz
davonz open-wonka-snapshot.tgz
davonz orp-1.0.10.tgz
davonz pilot-link-0.11.8.tar.gz
davonz pocketkaffe.diff.gz
davonz se007e6.tar.gz
davonz source.tar.gz
You may think, \"big woop\"... but with a single command line you were able to pull the just information you were looking for out of a few lines. What if there 5000 lines, but you only wanted to pinpoint a few of them? You can do that easily.
Ok. I am rambling... I am heading back to my drink. ;-)
LD