Welcome to my Linux page. It is directed at people who have heard of Linux and want to know a little more, people who are considering installing Linux on their own computer.
I'm no expert on operating systems. I just use Linux, and I really like it. It's free, and it works.
It's been a while since I seriously revised this page. Things change so fast: prices go down, and capacities and speeds go up. In some places the information listed here is 4 years old. At least I've got an updated partitioning scheme as well. Think of this page as being 2 years out of date, and that things are much better now than then...
Lordy, things move fast. I've got Red Hat 5.1 on a box I bought in September 1998. I plan to update this page with the pertinent details sometime this Christmas season.
Some people have expressed interest in how I set up my desktop. It's rather primitive, but I find it responsive and comfortable. Here's a gzip'ed tar file with my desktop setup (9130 bytes). These files go in your home directory, but be sure to make backups of your own versions of these files. They assume that your XF86Config file (/usr/X11R6/lib/X11/XF86Config) is set up for 1024x768 resolution. I use my video card at 24 bit depth at that resolution. If you haven't got enough RAM (4MB or more) on your video card, then adjust the .xserverrc file accordingly.
On my FVWM root menu, I've got entries to bring up or down a PPP connection, using a progarm surf that I wrote. You substitute your equivalent.
My 120MB root partition was uncomfortably small for this installation. I moved some of the documentation to my user partition, but that is a slightly less than ideal setup. If you're installing a new system, make your root partition much bigger (e.g. 300MB): at 10 cents per megabyte, it's cheap --- I bought my hard drive at $1 per megabyte. (Newsflash 1998/04: 5 cents Canadian/MB, if you look for it.)
Watch this space for comments on my new installation. The material below mostly predates it.
Linux works. But it also has a death-defyingly cute
official unofficial logo.
The dual nature of ``Linux''
There are two kinds of Linux users: people who want to develop the
OS (thank you!) and people who want to use the OS. I'm one of the latter,
but I'll explain some terminology to help you wade through the Linux material
There are two parts to Linux systems: the operating system kernel (including basic device drivers and basic networking, etc.), and the supporting software (windowing system, compilers, typesetting software, etc.). Technically, only the kernel itself is called ``Linux''; the rest is available for almost any other operating system. However, a typical Linux installation will also carry a wide variety of support software. Linux itself is free, and the supporting software typically installed is also free. However, some value-added resellers package Linux with proprietary software (e.g. WordPerfect, Perforce, Informix, etc.). You have choice.
A Linux distribution is a consistent packaging of
a Linux kernel together with support software.
There are many Linux distributions available on the Internet,
or on both. I recommend CD distributions: they are convenient, they
help reduce Internet traffic,
and they can be inexpensive. Check your local computer book store.
Kernel numbering: stable and experimental releases
The Linux kernel development community
recognizes the duality of
the Linux user base by separating the stable and experimental versions
of the kernel.
are aimed at kernel developers and have
version numbers, e.g. the 1 in 2.1.37.
are aimed at the rest of us and have even minor version numbers,
e.g. the 0 in 2.0.29.
Once the experimental aspects of a development kernel are frozen and reliable, the minor version number is incremented, creating a new sequence of stable kernel releases.
For example, at some point the 2.1.x kernel will be converted to a 2.2.0 kernel. Kernels 2.2.y, with y>0, will be only bug fixes or trivial upgrades. New experimental work (e.g. adding significant new functionality) will begin with 2.3.0. And so on.
Most users, myself included, should use the stable releases, i.e. those with even minor version numbers for the kernel.
Most Linux installations use free supporting software, including
most GNU software,
TeX, and more.
In part, Linux is successful because it leverages free and universal software. First, Linux is a comfortable and stable environment for those of us used to Unix: I have the same environment at home as I do at work. Second, the Linux system was developed quickly and is so stable because it uses well-specified, well-designed, and well-tested components, needing only to add a kernel that implements a widely known and robust OS design: Unix.
As mentioned above, however, some vendors wrap proprietary software around the Linux kernel, or a mix of free and proprietary support software.
For very practical reasons, I recommend using only the usual free supporting software. First, this is the same setup that Linux developers use, so you know it will work, both now and into the future. Second, it is a very low cost system. Third, it is easy to upgrade components of the system by downloading new versions via the Internet.
Some people have philosophical problems with proprietary software.
I do not address that issue here.
My experiences with Linux
I first installed Linux in April 1994.
I used a floppy-based
Slackware distribution. The machine is a 486-66 with 16MB of RAM
and I'm very happy with the results. I have a 120MB root partition,
a 170MB local partition, and a 16MB swap partition.
Linux shares my machine quite nicely with OS/2 version 2.11. OS/2's Boot Manager lets me choose which operating system to run. (LILO resides on Linux's root partition.)
Linux reads the OS/2 HPFS partition. Someone has written an OS/2 installable filesystem that allows more recent versions of OS/2 to read and write ext2fs filesytems, the most common Linux filesystem.
I used to upgrade my system a piece at a time, and only in the rare instances when I needed a new feature. I upgraded piecemeal because I had no CD-ROM drive. (Imagine that!) Others advocate a scorched earth policy for Linux upgrades. In June 1997 I needed to upgrade too many things, so I gave in and bought the slowest CD-ROM drive I could find (8x) and put Red Hat 4.2 on my root+user partition. I'm happy with the results.
However if you are doing a new install on today's big hard drives (e.g. 4GB or larger), then I suggest the following partitioning scheme:
|/home||2000MB or more|
As a sideline, I develop Java applications under Linux. Visit my Java page for some Java documentation and for links to Linux implementations of the Java Development Kit. I developed a MergeSort demo with these tools. Starting with kernel version 2.0, Linux has supported Java as a native executable format. (So you don't have to specify the Java interpreter on the command line. Neat, huh?) (Linux beat out all other operating systems in this respect, which tells you something about the responsiveness of the Linux and free software community.)
To read the Java API documentation or to surf the web, I use Netscape Navigator 3.01 for Linux. (Actually, now I use Netscape Communicator 4, bundled with Red Hat 5) Unfortunately, it's statically linked with a Motif library, so it takes up more room than it could. There are free web browsers too, but I just haven't bothered (yet). (Actually, most of Communicator's source was released in early 1998 as the beginning of the Mozilla Project.)
I highly recommend the
Frugal Virtual Window
Manager, or fvwm. I use it both at home under Linux and at school under
SunOS. My favourite feature is its ability to manage
multiple screens' worth of desktop space (hence the adjective virtual).
I use a 3x3 virtual desktop pager, with at most one main window in each page.
FVWM is a godsend.
Somebody in the Linux community created
a web page
about fvwm. I haven't explored that page much, though.
If you are comfortable with Unix or Unix-like operating systems, then Linux
is for you. If you are a university student and use Unix
at school, then Linux is ideal for you.
On specific fronts:
Today I would buy a better processor, more RAM, and certainly more disk. Today I'd increase the root partition to about 300MB. (Red Hat includes a lot of software packages. Most come with a fair bit of with documentation.) (For comfortable use, newer versions of OS/2 need much more space than 200MB.)
In particular, my mixed binaries system (a.out and ELF) uses about 24MB when developing Java (with the version 1.0 JDK for Linux) and running Netscape Navigator (2.02) to read the Java API documentation (and X Windows under all this, of course). When I exit Navigator, my 16MB system stops swapping. I'm sure things would be much better if I were running an ELF-only system, and if Netscape released ELF binaries. (Update: things are better now. Navigator 3.01 is ELF-only. Also, the current port of the JDK to Linux is 1.1.3-v1. Check my Java page)
News flash Ok, nowadays you can't even buy a 486-66. This bit needs updating. See the partitioning scheme I outlined above...
In particular, I recommend Red Hat Linux. As mentioned earlier, I waited 3 years to install a full Linux distribution. Red Hat publishes a distribution with only free support software (now at version 5.2) and a distribution with both free and proprietary support software.
One of the main features of Red Hat is a package manager, RPM. It allows easy installation and deinstallation of software subsystems. I'm rather impressed by the deintstallation -- try that on ordinary Unix or Windows, etc. The RPM software is free (using the GNU General Public License), and other vendors use it.
A friend of mine has installed Linux on a laptop using the Red Hat Linux 4.1 CD distribution in 13 minutes. In another 5-10 minutes he installed and configured X Windows. On a dare, and in another 12 minutes, he reinstalled and configured an older kernel with pcmcia Ethernet drivers and connected to the corporate net and mounted the corporate NFS drives.
Arthur Tateishi's posting about his scorched earth policy for Linux upgrades is duplicated with permission.
The information in this document is subject to change. I don't promise to keep it up to date. Also, I may have sacrificed precision for clarity.
Oh, I almost forgot: The trademarks mentioned in this document are owned by their respective owners. :-)
I hope this document is useful to you. If you have comments, or want to redistribute this to others, send me mail.