From the README
Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net.
At least, that's the executive summary, but only if you're a particularly boring executive. Linux is the fastest-growing operating system in the world, supports more types of hardware than you've had hot dinners, and is the OS of choice for research projects and, increasingly, business applications. Some of the world's finest young technical minds are devoting time to improving it, often when they should be working on their assignments instead.
Linux appeals to people for different reasons. I got started using Linux because the available Microsoft OS of the day --- Windows 95 --- crashed all the time. Windows has been pretty stable since Windows 2000, but I'm still running Linux as my primary OS both at home and work20.1. Linux is incredibly configurable, which appeals to the tinkerer in me, it has a ridiculously large collection of software available to it, some of it very good, and it is well-documented - or at least, the popular bits of it are.
There are many other reasons to like it: some would say that the best part about Linux is that most Linux software comes complete with source code. Others would point out that it is a great way to learn about UNIX-like operating systems - probably the most entrenched and stable breed of OSes in the word - and might also note that Linux is becoming increasingly prevalent in business.
But first, what exactly is it? Technically, Linux is (only) a UNIX-like kernel20.2. The Linux kernel contains device drivers, and is also in charge of scheduling applications and enforcing protection boundaries. The applications themselves - all those nifty things like ls, more, etcetera are actually programs which makes use of the kernel. To get those, you need a Linux distribution.
A distribution is a collection of programs you will probably want (such as ls and friends) and others you might need (i.e. X) with a Linux kernel thrown in for good measure. Distributions also almost universally contain a ``package manager'' of some sort. This is a program which manages installation and removal of software in the system in a controlled way. Package management suites for Linux are among the best available for any OS.
There are literally hundreds of distributions out there, each with their own quirks. Some ``beginner-friendly'' ones you might like to try include SuSE Linux and Red Hat Linux. Until recently, I would also have recommended another distribution, Linux-Mandrake, but unfortunately Mandrakesoft is currently in extreme financial difficulty and the future of the distribution in its current form looks uncertain.
SuSE may be obtained from http://www.suse.com and Red Hat may be obtained from http://www.redhat.com.
While some specialised distributions may do everything differently, there
are few major differences between the main, general-purpose distributions.
All have their own installers -- which range in quality from mundane to
excellent - all have their own system administration tools, and all have
their own package management system. It's worth talking about package
management systems for a while, because they're fun. The presence of a
package manager means that software can be downloaded as a single file
from the Internet, and installed using a single command. The best part is
that software can then be uninstalled cleanly, or upgraded, from within the
package manager. No trailing Registry entries, no weird .dlls hanging
around in
Dependency-based package managers, such as those used by Debian and
Red Hat (among other distributions, such as Gentoo, SuSE and Mandrake) go a
step further: if a program relies on another package, it will not install
until all the packages on which it depends are also installed.
The most popular ProgSoc distributions are Slackware and Debian. Debian is
particularly interesting, because, for a long time, its package manager did
a lot more than any of the competition. Debian's package management suite,
known as ``apt'', maintains a list of all available packages,
and packages may thus be downloaded, unpacked and installed without even
having to find them first. The best part, though, is that Apt is
depencency-based, which means that if a package depends on other packages in
order to work, the package manager will also download, unpack and install
the dependencies.
You may also upgrade packages to the latest version using the same software.
Upgrading every single software program on your system with two simple
commands is a neat party trick, if you're into that type of party.
Since the release of Debian's trailblazing package manager, several other
distributions have arrived which sport similarly luxurious suites.
Slackware20.3 is a Linux
distribution by Patrick Volkerding20.4. It's arguably the first-ever Linux
distribution, and is certainly the oldest actively-maintained Linux
distribution. Many people like Slackware because it is very simple, but a lot
of Slackware users have since switched to Debian, which has a similar
``community'' feel but superior system administration tools.
Debian20.5 is very popular among more
experienced Linux users, because while not intuitive, its tools are very
powerful.
Red Hat20.6 has a well-deserved
reputation as a new Linux user's distribution - everything is as easy as
possible. It's so polished that many people stick with it even after becoming
experienced with Linux.
SuSE20.7 uses the same package format as
Red Hat - rpm. In fact, rpm has become a de facto standard among
distributions, which sounds more convenient than it actually is because often
packages are incompatible for other reasons (such as because they require a
different version of core system libraries, such as libc).
Gentoo20.8 is the distribution for those
familar with Free (or Open, or Net) BSD who are curious about Linux. Its
``ports'' system, portage, is openly based of BSD's, and is very slick.
Each distribution has its own installation method that is entirely unlike any
other distribution's installation method. The hardest part is often obtaining
all the installation files you'll need so that they're accessible to the
installer. Most distributions can do a ``network install'', which means you
download the minimal amount necessary to get your network going, and then the
installer goes online to download the rest. It may be possible to obtain a
bootable CD image to burn, but some distributions have stopped offering these
because of the huge load the 650MB downloads place on their servers.
Fortunately, no distribution will leave you in the dark. All have
comprehensible install instructions - even the ``tricky'' distributions such
as Debian and Gentoo could be installed by an absolute newbie, as long as
that newbie was prepared to accept a little pain. Of course, using the
distribution afterwards might then pose a problem...
Your first challenge will probably be installing and setting up XFree86, the
graphical environment that comes with all general-purpose Linux
distributions20.9. This is a highly complicated process if
it's done manually, and incredibly simple if your distribution does
everything for you, but since it's highly distribution-specific I won't
cover it here.20.10
Once you've got your network and X set up, you will probably want some
software.
Games.
The first thing you should do is install xkobo (you may only have
``kobodeluxe'') and play it. It isn't a very good game, but it's
somewhat of a tradition.
Other games you might want to investigate are frozen-bubble, lbreakout2 (both clones of simple but addictive commercial games), one of the
varieties of nethack (an awesome game, but not for everybody), tuxracer if you have a 3D graphics card (the NVidia drivers for linux are
particularly good, after a rocky start), freeciv (a rather
full-featured game with its roots in the commerical game Civilisation 2000),
gnuchess (plays a very good game of chess, not that I would know), quake2forge (ID software, as part of a fantastic tradition, has made quake 2
open-source), tetrinet (tetris, but against other people), and crack-attack.
Several commercial games are also available for Linux - Quake 3, Return to
Castle Wolfenstein, and most recently Unreal Tournament 2003 and Neverwinter
Nights.
Editors.
There is a particularly long-running and unfunny flamewar between users of
editors derived from vi and users of editors derived from emacs.
I solved the problem by eschewing both editors, but you should at least
attempt to learn Vi because it is so incredibly prevalent. Both Emacs and Vi
come in several incarnations, both are incredibly full-featured, and both
come with legions of raving zealot fans. There are three other text editors
common to many Linux installations - joe, pico and its
differently-licensed equivalent, nano. Emacs and Vi both have
competent graphics modes, but you may also wish to try nedit (my
current favourite) and scite (or SciTE) if you're using X.
Window Managers
One of the wonderful, or terribly annoying, features of the X Window System(depending
on your point of view) is its concept of ``Window Managers''. Window
managers control the placement of application windows on the screen, and are
also responsible for giving them a border, often with widgets to close,
resize and move the application window. Many window managers (often
abbreviated: ``WM'') add other features, too -- multiple ``virtual desktops''
are common, and some, such as Window Maker (thankfully never abbreviated
``WM''), Blackbox, Afterstep and Fluxbox, add an iconic program launching
toolbar known as a dock or wharf. Popular window managers these
days are the de-facto standard window managers for the Linux ``desktop
environments'' -- kwm for KDE and Metacity for GNOME. Other favourites are
Window Maker, Fluxbox and fvwm. Try a few. My personal favourite is Window
Maker, but I don't use KDE or GNOME and am oldschool20.11.
Some Distributions to Try
Install it?
Use it?
Some software