So, you want to learn Linux... (which, btw, some people call
"GNU/Linux"—Linux is the guts, but GNU provides
indispensable utilities.)
First of all: while Linux has made vast strides in the desktop
usability area, it's still sometimes a fucking pain in the
ass to work with. Sometimes, magically, everything will work fine.
Other times, the default install will have your mouse wheel be broken,
or your printers unrecognized. There are fixes for this; Google is
your friend.
Secondly: Red Hat is not Linux. Suse is not Linux. Debian
is not Linux. They are Linux distributions. That is, they
take the OS (i.e., Linux), and add a whole metric fuckton of
third-party programs (many from GNU, hence "GNU/Linux"), and bundle
them all together. And then, uh, distribute them, with their
own customizations. Sometimes with technical support, sometimes just
because they think it's cool.
Thirdly: Linux veterans are insanely helpful towards newbies.
It is often joked that the fastest way to get help about Linux is to
say "Linux is gay. In Windows, I can do , but Linux
can't do that." Within minutes, you'll have tens of Linux users
enumerating to you the many ways you could accomplish that.
Please use this knowledge only for good and never for
evil.
Fourth—err... N-ly: you must understand that Linux is
by programmers, for programmers. The documentation will
often be cryptic, serving only as a reminder for those who know how
things work but forgot the exact syntax. Wizards (automated
set-up tools, a la Windows) will be few and far between; when they
exist, they often won't work.
Having given you this random, aimless advice, I'll close with some
concrete suggestions. These suggestions, by the way, take as a
premise that you want to learn Linux, not just use it.
That is, you wish to gain a deeper understanding of it, rather than
just using Mozilla or BitchX (not that there's anything wrong
with that):
- Learn how to use the shell—and generally, this means
bash. Become Bourne Again. Use tab completion. If
nothing else, understand bash's for loop syntax—it's
awesome.
- Learn a text editor. I recommend nano or pico for beginners.
Following that, I'd say emacs—though, if you're feeling
adventurous, vim is an option, too. (Don't stop after the first
step—emacs/vim are insanely powerful, compared to
nano/pico.
- Don't log in as root; don't do anything in root if you're
not sure that it's a good idea. Use sudo. Just remember
the proverb: to err is human; to really fuck up, it takes root
privs. There's practically nothing you can do that will fuck up
your system if you're running as a normal user—you can break
your account, yes, but your system will remain rock solid.
- Use Mandrake. Personal experience suggests that this is the
most painless install. (This is as of 2 years ago, when I was a n00b.
Please /msg me with any other suggestions, and I'll note them
below.)
- If you're feeling really adventurous, use Debian or Gentoo.
There's a lot less hand-holding. If you're feeling suicidally
adventurous, use Linux From Scratch.
- Still in the "adventurous" category, learn a scripting language.
I'd recommend Perl or Python.
- Once you get comfortable with your default desktop environment
(KDE or Gnome), switch to just a window manager. I'm a big fan
of FVWM's simplicity, but this is obviously a matter of personal
preference.
- Last (and most important): have a mentor. Have someone to whom
you can ask random questions and get a quick answer. Obviously, this
is an ideal; in a pinch, the Internet can substitute for such a
person... just as long as your computer still functions well enough to
use it.
In closing, I feel like a lot has changed since tftv256's
writeup above. Yes, don't use a WinModem, and yes, some hardware
won't work (but not much). But I agree with hir on one point:
never give up. It may be a lot of trouble, but being able to
customize your computer as much as you want is a great reward. Good
luck!
If anyone has any Linux questions that can fit in a /msg,
by all means ask me. Corrections/comments to this writeup
welcome.