Linux is a free independent implementation of UNIX for Intel's i386 processor. Initially written by Linus Torvalds as a student project in the early 1990s, Linux has developed, through international collaborative effort, into an operating system that has industrial, academic, and government application. Linux has many features expected from a modern operating system: meltitasking, meltiuser, networking, advanced memory management, virtual memory, dynamic libraries, POSIX compliance, and support for many hardware devices. I first heard of Linux several years ago, and what appealed to me was that it could coexist with MS-Windows. This article describes how I installed Linux and its accompanying software, and how I use it at home for most of my computing. Linux distributions Linux requires many utilities (such as files, libraries, and programs) to run. Several people and companies have organised these utilities and complementary Linux software into distributions that make for easy installation. Some popular Linux distributions include Slackware, RedHat, and Debian, and are available at many Internet sites or on CD-ROMs. Infomagic's Linux Developer's Resource is a six disc set with several Linux distributions and a collection of Linux, UNIX, and X software. I will be referring to the April 1996 Linux Developer's Resource and the Slackware 3.0 distribution in this article. Installation Before Linux, my UNIX experience was limited to running UNIX applications and basic UNIX file management. I thought UNIX installation and system and network administration was for experts. My attitude changed when I was prepared to go where there be dragons. The hardware and installation notes describe Linux requirements and loading options: a typical IBM PC i386 clone with 4 MB RAM and 40-80 MB of free hard disk space is sufficient, and can be loaded to an MS-DOS directory, for example, C:\LINUX, another partition, another drive, or run from the CD-ROM (with minimal installation on the hard disk). I chose to install Linux onto my second drive. A pair of Linux installation disks must be created to boot Linux from and then proceed to install the Slackware distribution. The installation disks, boot kernel and root disk, can be created from MS-Windows by lininst, MS-DOS, or another UNIX system. Once I had the installation disks (created with lininst), I inserted the boot kernel disk into the floppy drive and safely restarted the computer. The system began in text mode and after a while it presented a "boot:" prompt. At this stage, entries such as SCSI controller IRQ and address, may be given to force hardware detection, just in case Linux probing misses some gear; there are documents and examples describing many entries accepted by Linux for hardware detection. I hit the return key as I had nothing to enter; Linux began to boot. When the system boots, Linux prompts the user to replace the boot disk with the root disk in the floppy drive, and hit the return key. Once Linux completed its boot/root process, it presented a login prompt; I logged in as "root". The first thing I did was prepare the hard disk. I created four partitions using (Linux's) fdisk: the partitions were to hold the
Once the hard disk was ready, I began the main installation with setup, which is a text-based, menu-driven program that automates the install process. It
A UNIX workstation? Well you might ask. A workstation, from a PC perspective, is a high-end system usually with the tag "Sun" or "Silicon Graphics" attached. Since some people have observed that their Linux/PC systems outperform certain workstations (worth tens of thousands of dollars), I can make some claims. Running Linux There are several ways to boot Linux. I installed LILO, a boot loader, and organised it to load either Linux or MS-Windows95; the selection is made at boot time. The super-user of the system is "root" who has unlimited privileges. On my system, root's responsibilities include system maintenance, (un)installing software, and establishing Internet connections. Although I am the only user of the system, hence the super-user, I set up another account, peter, from which I do ordinary work (that is, no system administration). An ordinary user (peter) does not have unlimited privileges. Although users can be given super-user privileges, in which case they can access normally inaccessible areas, it is not advisable. Warning: this can lead to irreversible damage. Since Linux is meltitasking and melti user, my system can have many users on it simultaneously (say root and peter) and I (as "peter" and "root") can switch between login sessions using hot-key combinations. For example, if, as "root" (that is me), I am installing software that is taking a while to load, I can switch to another login session, where "peter" (that is me, again) can log on and read the latest news. Linux can access MS-DOS partitions so I have access to my MS-DOS data and can copy files to and from my Linux partitions. Linux, in its file hierarchy, sees the MS-DOS partitions as ordinary directories: I can switch to MS-DOS C drive by issuing "cd /dosC" (note the forward slash delimits directories in UNIX). Linux also has an MS-DOS emulator, dosemu, that enables some MS-DOS programs to run from Linux. Although many programs are text based, Linux also runs a graphical environment, X. The X window system (X) X is a network transparent window system. Basically, X is a program that sits on top of Linux where it offers a graphical window environment. X has many programs written for it - mostly in the spirit of Linux contributed - such as
Window managers provide styles for windows (Figure 1) and multiple virtual desktops (Figure 2). A desktop is a work area that can be larger than the physical screen: my desktop size is 1600 x 1200 (my monitor's resolution is 1024 x 768 pixels). I have six virtual desktops so I do not clutter my workspace with overlapping windows and minimised windows. Window managers are also configurable and can give windows and applications a familiar look.
X applications are referred to as clients and may be running on the same
machine as the X server or on another. For example, I ran and interacted with a demonstration GUI program -
the Andrew User Interface System (Andrew), an integrated suite of programs featuring a wordprocessor, a
spreadsheet, and drawing programs - from the US that was on an RS/6000 running AIX 3.2.5. No software
installation was done at my end. |