About Linux and Josh's Linux Guide


About Linux

Linux is a free operating system very much like UNIX, an operating system developed for multiple users on supercomputers in the late '70s. Inspired by an earlier UNIX-like operating system called Minix, Linux was developed by a University of Helsinki (in Finland) student by the name of Linus Torvalds (he now lives in California's Silicon Valley which is where I live also... this came in handy when I got to see him in real life when he spoke for the Silicon Valley Linux Users Group). Linus began work on it in late 1991 and along with the help of thousands of programmers the world over, it is continually being developed up to now. The portion that Linus is responsible for is putting together the system kernel, not user applications.

Although UNIX (and other operating systems derived from it) are usually thought of as servers, there are countless client applications, most of them easily interchangeable between different Unix platforms. There are even Windows/Mac emulators that are available and/or currently in development that will let the user run programs for those platforms.

Linux is known as a hacker's operating system due to its non-commercial development method. Source code for programs is made available so that patches to the code itself as well as bug reports may be sent to the author or maintainer of the software.

The reason for Linux's slow acceptance by the general public is that it's not for the beginning computer user. That's why Windows 95 has been so successful: it's easy to use. However, for the power user who is still using a Microsoft operating system, Linux should be a great alternative to the crashes so frequently reported by Windows users. Configurability for Windows only goes as far as registry editing (and the *.ini files), but with Linux, you can literally change the entire operating system... legally!

Co-existing with other operating systems is not a problem for Linux. It is easily set up on systems that already have Microsoft Windows 95, OS/2, Microsoft Windows NT, other implementations of UNIX, and most others. In fact, it is very common for people to have Windows and Linux on the same computer. Linux supports all major filesystem types and some lesser known ones as well.

Many programmers use UNIX-like operating systems to write their software, and Linux is no exception. There are free compilers that are bundled with most standard Linux distributions such as GCC and G++, the standard C and C++ compilers, respectively. All one has to do to install these is enable installing development packages in the distribution's installation program. Sun Microsystem's Java Development Kit (JDK) is also available for Linux. No wonder Linux is the choice platform of development for many programmers!

The graphical user interface that comes with Linux is called the X windowing system (most people just call it X). It's used by people who run graphical programs such as Netscape Navigator or people who don't like typing in commands at a command prompt. The look of the windows (titlebars, menu, borders, etc.) are highly configurable and are handled by software packages called window managers.

Networking support is already quite mature under Linux. The main protocol Linux is used for is for TCP/IP. A Linux box can be set up as a firewall, a gateway, a webserver, a mail server, any combination of these, and many other things that I won't be able to list because I want to live my life. The average user that doesn't want to run their Linux box as a server can just as easily set up a dialup PPP connection to his/her ISP.

Printing under Linux has been achieved by many of its users, most of which are former Microsoft Windows users. Dot matrix, inkjet, and laserjet are supported through printer drivers and filters. A warning for those of you who have yet to buy a printer for Linux: Do NOT buy a printer that says `Exclusively for Windows' if you intend to use it for Linux!

Josh's Linux Guide: A Brief History

I started writing this Linux guide around January of 1997. The guide was originally called "Josh's Linux Page", and not surprisingly, started out as a single page. The first section was a guide on how to install the CD-ROM distribution of Red Hat Linux 4.0, my first Linux distribution. The inspiration that started the guide was frustration during my first attempted installation. The motivation that keeps this guide growing is the reader feedback received, which in my opinion is a fairly large amount (more than 3 messages a day, for me, is a fairly large amount).

Ironically, when this guide was first being written, I was writing it under Windows 95. I had to work with a 386 at that time, so I couldn't view the contents in Netscape under Linux (mostly because it took about 10 minutes for Netscape 3 to start up). I don't remember when exactly I started using PICO (the Pine Composer, a simple text editor) to edit the guide, but that's mainly what I use now. Occasionally I use vim or jed to build skill, but PICO is really what I'm used to, and it serves the purpose.

New pages are being written under PICO and other text editors. The text editors provide me with a better opportunity to fine-tune the webpage. I also encourage any contributors to hand-code their HTML.

This guide is mirrored in case the main server might be down. I also keep multiple copies of this guide around so that in case one server crashes, I can just get the copies off of another server.

This Linux guide is intended for beginners, but some of the more advanced users may learn a few things in my attempt at successful exchange of information.


Comments, questions, suggestions, corrections? Send 'em to jtg@computers.iwz.com. You can also use the guestbook or help form.


Copyright © 1997-1999 Joshua Go (jtg@computers.iwz.com). All rights reserved. Permission to use, distribute, and copy this document is hereby granted. You may modify this document as long as credit to me is given.