next up previous contents
Next: 3 Linux Tutorial Up: Linux Installation and Getting Previous: 1 Introduction to Linux

2 Obtaining and Installing Linux

chap-installObtaining and Installing Linux  

   

David Bandel rewrote and revised the first section on installing Linux. Parts of the work by the following authors of the different sections on Linux distributions were also added to this first section.

Boris Beletsky wrote the Debian section. Sean Dreilinger wrote the section on Slackware. Henry Pierce wrote the section on Red Hat Linux. Evan Leibovitch wrote the section on Caldera OpenLinux. Larry Ayers wrote the section on S.u.S.E. Linux.

2.1 Generic installation.

Generic-installation

  Unlike most other operating systems, Linux can be obtained free of charge. Due to the GNU General Public License under which Linux is distributed (see Appendix C), no one can sell you a license for the software. You can use Linux at no charge and are encouraged to make it available to others.

But that doesn't mean companies aren't entitled to reimbursement for copying costs plus a profit. They may also add software that is not free that runs on the system.

This gives you the freedom to choose. If purchasing a CD-ROM is not within your budget, you may simply borrow a friend's copy or download the source from the Internet. Whether purchased from a major Linux distributor or downloaded from their FTP site (see Appendix B), you get the same operating system and the software packages that they offer. In fact, you can get more free software from one of the FTP sites than the companies can distribute on CD, due to restrictions some authors place on the distribution of their software.

2.1.1 Major Linux distributions.

  An in-depth look at some of the Linux distributions begins on page gif. These distributions are: Debian, Red Hat, Caldera, Slackware, and S.u.S.E. Each section has more information on where to obtain that distribution. But remember, Linux is the kernel. The software is part of the distribution, not Linux. Most of the software is freely available and can be ported between various UNIX platforms. After taking into account what the kernel itself will support, the biggest difference comes in what the libraries (software called from within the applications) support.

Each distribution has its own installation and maintenance utilities that ease installation and system administration. Each is apparently aimed at a different audience. Any distribution will get you started and keep you running. So I recommend that you read about each distribution and talk to any knowledgeable friends. Most large cities have a Linux User Groupgif, most with experienced users, who argue at length over which distribution is the best, and why. I suggest that you listen to some of their arguments and then decide. You can also join mailing lists (I recommend joining only one at a time) and reading user posts and answers from the list gurus. As different as each distribution is, so too are the mailing lists that provide assistance. Making the right choice for yourself is important, because changing distributions generally means reinstalling from scratch.

2.1.2 Common concerns.

This section makes the assumptions that the average newcomer to Linux:

These assumptions are not extreme, and may even be a bit conservative. Some say that if your VCR still blinks 12:00, Linux isn't for you, but then that would leave me out as well. My VCR still blinks 12:00.

Before we begin, we must know where we are going. While it is certainly possible to get from New York to California (eventually) by striking out in almost any random direction, most of us would opt to go in a more or less direct route. So it is with installing Linux.

2.1.3 Hardware.

This section explains all of the installation steps necessary short of the actual install. Each distribution handles this preparation slightly differently. While the installs look different, they accomplish the same things and have more in common than not. All require:

Now that I've sufficiently oversimplified the process, let's go down the list. Hang on, it's not that bad when you learn from others' mistakes.

2.1.4 Planning.

  I can't overemphasize this step. Any pilot will tell you that the landing is only as good as the approach. The same goes for Linux installation.

First, determine what kind of hardware you have. A checklist has been included to assist you. Be as precise as possible, but don't get carried away. For example, if you have an Ethernet card, you need to know what kind (e.g., SMC-Ultra, 3Com 3C509, etc.), base I/O (e.g., io=0x300), interrupt (IRQ 10), but not the hardware address (00 00 a6 27 bf 3c). Not all information will be needed for your hardware. If you have Windows 95 or Windows NT running, you can copy the values from the system hardware device information screen. Otherwise, consult the hardware manuals or the hardware company's Web site. Since it is important, we'll review this worksheet here.

2.1.5 System planning worksheet.

 
General

Processor: Type: 386 486 Pentium PPro

Speed (optional):

Mfg:

Intel AMD Cyrix

Motherboard: Make: Chip Set:

Example: Make: unknown Chip Set: triton II

Mouse: Mfg: Type: bus PS/2 serial port

If serial: COM1 (ttyS0) COM2 (ttyS1)

Hard disk drive(s): Type: IDE/MFM/RLL/ESDI SCSI

Size (list each drive):

If SCSI Controller: Make: Model:

Example: Make: BusLogic Model: 948

Boot: Linux DOS/Windows OS/2 Other

Disk: Partition: Size: Boot:

Disk: Partition: Size: Boot:

Disk: Partition: Size: Boot:

Disk: Partition: Size: Boot:

CD-ROM: IDE/ATAPI SCSI Proprietary

Mfg: Model:

(Proprietary only):

X-Windows:

Video Card: Mfg: Model:

RAM: 1Mb 2Mb 4Mb 8Mb 16Mb

Monitor: Mfg: Model: Max scan rate:

Networking:

Modem: Mfg: Model:

Serial port: COM1 COM2 COM3 COM4

(ttyS0) (ttyS1) (ttyS2) (ttyS3)

Computer hostname: Example: rainier

The following answers are only needed if using network interface card (NIC): (do not configure networking if you do not have a NIC installed)


NIC Type: ethernet token ring FDDI other

NIC Mfg: Model:

Network domain name: (Example: mountains.net)

IP Address: (Ex: 192.168.1.2)

Network address: (Ex: 192.168.1.0)

Netmask: (Ex: 255.255.255.0)

Broadcast address: (Ex: 192.168.1.255)

Gateway(s): (Ex: none or 192.168.1.1)

DNS(s): (Ex: 192.168.1.2)

  Some of the General Section is there for future reference. Specifically, we don't need to know right now our CPU processor type. We can also do without ever knowing what chip set we have on the motherboard. But if the information is available, it is good to have.

2.1.6 Mice.

  Other information, beginning with the mouse, we do need, if we expect to use the mouse. We need to know the mouse manufacturer, because different brands implement internal signal functions differently. Here, attention to detail is everything. If you have a mouse with a Microsoft brand on it, it may have a serial or PS/2 interface. Looking at the connector for the computer won't help, either. A number of computers come with mice that look like serial mice and have a serial-type connector, but are connected to the motherboard internally as a PS/2 mouse.

Read the print on the bottom of the mouse carefully before deciding. Also, if you have a mouse with three buttons, but it has a switch on the bottom which you can change between, say, Microsoft and PC systems, choose PC system. The Microsoft setting doesn't implement the middle button, which is useful in UNIX. For manufacturer, choose the switch setting, since that is the signaling protocol used. No drivers exist for a "Cutie" mouse, but do exist for the switch settings of Microsoft and Mouse System found on the bottom of the mouse.

While not specifically asked for, the only additional information you may want to add is the device through which the system accesses the mouse. Linux must know how the device is referred to. If you have a PS/2 mouse, you will normally use either /dev/psaux, the auxiliary port for a PS/2 pointing device, or /dev/psmouse, a synonym sometimes available for use. Bus mice are accessed through a file specifically created for that proprietary mouse, like /dev/atibm ATI bus mice, /dev/logibm for Logitech bus mice, /dev/inportbm for InPort bus mice, or their respective synonyms of atimouse, logimouse, and so on. For serial mice, if you know the MS-DOS COM: port, substitute /dev/ttyS0 for COM1: and /dev/ttyS1 for COM2:. I'll refrain from explaining the origins of the tty name of ttyS0 since that will take up several paragraphs and is already explained in many UNIX references

Considering Hard drives and CD-ROMs.

Before you begin installation, you need to take stock of how much hard disk real estate you will dedicate to Linux versus how much you have. Deciding during installation how you want to divide up your hard disk is only asking for problems and will probably end up in lost time, lost data, and a reinstall.

Your hard drive will be one of several kinds. For our purposes, IDE, MFM, RLL, and ESDI are equivalent, and I will use the term IDE. This also encompasses EIDE, the most common interface currently in home computer systems on the market and favored for its low price.

If the hard drive has a SCSI interface, this will be evident during booting. You will need to know the make and model of the SCSI controller. The most common are the Adaptec and BusLogic controllers, but by no means are they the only ones. These also have specific models, like the AHA-1572 or BTC-958. This information is often displayed during system initialization.

To allocate space, we need to assess the hard drive size. Under OS/2, you can use the entire hard disk for OS/2, then install Microsoft Windows on the partition with OS/2 and run Microsoft Windows under OS/2. If you have MS-DOS and Microsoft Windows, or OS/2 on your computer, Linux should have its own partition. It can be loaded on a MS-DOS partition with UMSDOS, which is not covered here. While Linux has DOS emulators and can read and even run some DOS programs, DOS cannot usually ``see'' what is on a Linux partition.

If you have and want to keep MS-DOS (assumed), you must determine how much space to reserve for it. Subtract this number from the hard disk total and that is what you have to work with. For now, annotate the total size of the drive(s) you have and the second number with how much to dedicate to Linux.

For your CD-ROM drive(s) you need similar information. A CD-ROM drive is either IDE/ATAPI, the most common in home systems marketed today; SCSI; or an older, proprietary drive, like those connected to sound cards. If you have an IDE or SCSI drive, so much the better. If you have a proprietary drive, you must know the make and model because Linux identifies proprietary CD-ROM drives by manufacturer and the specific drive.

2.1.8 Disk drives under Linux.

For newcomers to Linux who are familiar only with MS-DOS, and for those who come from other UNIX platforms, devices under Linux have have peculiar references. These references are used almost from the start, and some understanding of them is necessary.

Under Linux, as under any UNIX, devices are special files. Hard drives are treated as files and are referred to by name, as are modems, your monitor screen, and other hardware devices. UNIX treats them as files to be read from and written to. Since Linux sees them as files, they will all be located in a directory dedicated to devices. After installation you will be able to see them under the directory /dev, for devices.

Even though these devices are seen by Linux as files, they are special. They come in two ``flavors,'' block and character, which refer to the way the device communicates, in blocks of data or individual characters. They are created automatically during installation.

These naming conventions are discussed on page gif.

2.1.9 Installing The X Window System

  I've included on your worksheet information regarding your video card and monitor. While this is not absolutely necessary, most of those who come from the Microsoft Windows or OS/2 world want to install and configure a graphical user interface (GUI) for use. Some distributions walk you through this set up, others point you to post-installation programs. This information will be important then.

You must know the manufacturer and specific model of your video card. Some cards can be probed for RAM or chip sets, others can't. In either case, knowing how much RAM is on the card and the chips used, like the S3 or S3-Virge, is important. This information saves much time and grief. The most difficult and frustrating part of any Linux installation and setup is the X Window System.

The data for your monitor is often more difficult to obtain. If you have one of the more obscure brands of monitors, you may need to supply vertical and horizontal scan rates yourself.

If in doubt, always err on the conservative side. Overdriving your system can result in damage to the monitor or video card.

We already have most of the information that we need for the mouse, the only other subsystem the X server needs. The information that Linux needs to know about your mouse is described on page gif.

2.1.10 Networking hardware.

This section is not as significant yet as the worksheet suggests. Networking is explained in detail in Chapter gif. But if you have a network interface card (NIC), be it Ethernet, token ring, or other system, you must read up on the card before proceeding. This information is needed during installation to use the NIC.

During initial Linux installation, if you do not have a NIC, you can skip over some of the networking part. However, all computers must have a name under Linux. The example on the worksheet assumes you've chosen a theme, like mountains, and will name your computers after names of mountains, but any scheme your concoct is fine.

If you have a modem, you must know where it is connected. This is a serial port, /dev/ttyS0 through /dev/ttyS3, corresponding to MS-DOS COM: ports 1-4. ISDN is treated similarly, but is normally set up post-installation with special, multiple device designations.

That finishes our worksheet and about half of the planning that we need to do. One notation that is not on our worksheet is the amount of random access memory (RAM) the system has. Linux runs happily on a system with less than 4 MB of RAM, but this has a significant impact on installation and subsequent system usage. If you have 4 MB of RAM or less, then you must follow special procedures for low memory machines where applicable. With the current low price of RAM and with few machines being sold today with less than 16MB of RAM, this generally isn't an issue. If it is, be sure to check your distribution for special instructions.

2.1.11 Planning, Part 2.

Portions of the following section, particularly the disk partitioning strategies, are highly contentious among seasoned installers, but I will give you my thoughts on it. You are welcome to deviate as you see fit. Most differences in opinion, though, come from a difference in the ultimate purpose for the system; i.e., as a workstation, Web server, News server, or other function.

2.1.12 Partitioning strategies.

Few seasoned Linux users will tell you to make one Linux native partition and one swap partition and start installation. There are several reasons for this, and I subscribe to most of them, so I have several Linux native partitions. But to me, the most compelling reason of all, is that one day you will want to upgrade, and that will require reformatting the file system(s). In fact, the Slackware distribution has, at last look, no means to even attempt an ``in-place'' upgrade, or any indication that it will in the future. Upgrading from kernel 0.99 to 1.2.13 required me to reformat, as did the upgrade from 1.2.13 to 2.0.0, and I suspect that another will be required for 2.2.0 (or whatever the next stable kernel is). What I don't ever want to do is lose the files that I have accumulated in my home directory. Yes, I have a backup. But keeping my /home directory intact is easier, especially since I moved all my special files to a subdirectory there.

Another reason is that any bootable partition must be within the first 1024 cylinders of the hard drive. When any PC boots up, a sequence of events occurs which ends in the loading of the operating system. Due to limitations in the BIOS (Basic Input/Output System), until the operating system is loaded, only the first 1024 cylinders of the first or second hard disk can be accessed.

To get a feel for exactly what we're talking about, I'm going to describe a standard Linux file system and how Linux handles partitions.

Under MS-DOS, every partition is a different drive, and little distinction is made between whether that is a physical drive or a logical drive (partition). Under Linux, physical and logical drives are much less rigidly designated.

During installation, you must choose a partition as your root partition. The root partition is designated as ``/''. When we refer to ``/dev'', this is really two directories, ``/'' and ``dev''. Your Linux kernel will be located on the root partition, but can be in a subdirectory as long as that subdirectory resides on the root partition. For example, some distributions use /boot to hold the kernel, system map, and boot up files.

The following structure (as a minimum) will be set up on your root partition during install:
tscreen608
You may see others like /boot, /mnt, /cdrom, /floppy, /opt, and so on, but the above are essential.

What about other partitions? Linux can use a directory name (say /usr) as a mount point. That is, the other partition on the disk (or on another disk) is mounted under it (in this case /usr).

If you unmount the other partition and look in the subdirectory Linux uses as a mount point, you will (or should) see nothing--no files or directories. When the other partition is mounted, you will see files and directories which are on that partition under the mount point. So if you have two drives, one with 120 MB and another with 840 MB, you can make one partition on the 120MB drive (let's say it's the root partition) and mount any partitions you have created on the 840MB drive (this could be one big partition, or several smaller partitions) under their respective mount points, one partition per mount point, creating, in effect, one, 960-MB file system.

The one restriction is that you cannot use certain directories on the root drive as mount points, because they contain files that are needed to either boot the system or mount other systems. Obviously if the command used to mount other partitions is located on another partition and you can't access that partition until you've mounted it, you'll be like the dog chasing its tail.

The directories you cannot use as mount points are: /bin, /dev, /etc, /lib, /lost+found, /proc, /root, and /sbin.

A detailed description of what files are contained in these standard system directories is given on page gif.

Let's look at a small example. You are an aspiring Internet Service Provider (ISP). You have four machines, and each has a 1-gigabyte drive. So, you decide to allocate space as follows:


tscreen627
You probably noticed that I arbitrarily assigned the root partition 120MB, and allocated the rest to whatever ( /usr, /home, /var/spool/mail and so forth). I also didn't allocate any space to a swap partition. So, let's look at what we will likely need, understanding that ``it depends,'' is key. I will discuss this from the perspective of a home situation with only a few users, lots of programs, and no other remarkable needs.

The best place to start is to tell you what my primary home computer looks like. I have two drives, /dev/hda (1.2 GB) and /dev/hdb (540 MB). df (disk free) displays


tscreen635
You can see that I have a half-used 150-MB root (/) partition, a nearly full /usr partition, a largely used /usr/X11R6 partition, and a large, but cramped, 500-MB /home partition. The remainder of the drive /dev/hdb is a swap partition.

At a realistic minimum, I would suggest reserving 80-100 MB for your root partition, about 10 MB per user on your /home partition, as much space as you can reserve for swap, within reason (see the next section), and the rest to /usr. I have a five-user system at home, but I personally have over 400 MB of the /home directory tied up, much of that in graphics--a photo album of family and friends. Your /usr partition should probably be at least 250 MB, but the minimum will depend on what you decide to install. As you can see, it can rapidly fill with over 800 MB of programs, libraries, and data. Also remember that partitions give you flexibility that you lose with one, giant partition.

2.1.13 The swap partition.

You must give thought to a swap partition. Unlike Microsoft Windows, Linux uses a dedicated swap partition for speed. Although it is possible to create a swap file, it is not recommended. Linux can use up to 128 MB of swap space. I recommend a practical minimum of 16 MB. The optimum is probably as much as you can spare between 32 and 64MB--the more, the better.

One last consideration before you decide to how best to carve up the disk. Remember that I said the BIOS cannot ``see'' past sector 1023 on the hard drive (about 512MB). So, the Linux kernel (a file probably called vmlinuz on your boot disk), or any OS kernel for that matter, must reside entirely on one of the first two disk drives ( /dev/hda or /dev/hdb) and within the first 1024 sectors, or the BIOS will be unable to load it. To insure that it can, plan to make your root partition (as well as any other boot partition) fall entirely within this limitation on either the first or second hard drive.

2.1.14 Repartitioning.

At the beginning of this chapter I said I'd make a few assumptions. One was that you would want to keep your comfortable MS-DOS and Microsoft Windows operating system around. And since the computer you bought only has MS-DOS on it, it doesn't make sense to have multiple partitions, so the one drive you have is probably entirely dedicated to MS-DOS.

One way or another, then, we will have two operating systems on this computer. If you currently have nothing on your disk (lucky you), that is great, but you're not quite ready to skip ahead. Linux is comfortable wherever you put it. Your BIOS may not be capable of booting it, but once running, it will not complain if it's relegated to the fourth partition of the fourth hard drive. But MS-DOS and Microsoft Windows aren't so forgiving. They want the first drive and the first partition and may refuse to boot from any other position. I have seen MS-DOS boot from the first partition on the second hard drive, but the first hard drive did not have any MS-DOS partitions, so MS-DOS didn't recognize the drive. The best strategy is often the path of least resistance. If at all possible, put MS-DOS on the first drive and the first partition.

A second consideration in a multiple OS situation is which operating system to load first. If you're tempted to partition the hard disk and install Linux first (reserving /dev/hda1 for MS-DOS, then installing MS-DOS second, don't. Windows 95 is the worst offender, but Microsoft products in general will delete any previous boot loader you had installed on the master boot record (what the BIOS uses to point to bootable kernels). In fact, you may even hear this referred to as the ``Microsoft virus''. This is not a virus in the true sense of the word, just arrogance on the part of Microsoft, that one would only want a Microsoft operating system to boot. Linux does not cause such problems, and in fact provides a way to choose the default boot image. It also allows you to intervene during the boot process to specify which operating system to boot. This is a standard part of Linux installation procedures.

2.1.15 Backing up your old system.

Before we actually get to work on the partition table, I will walk through procedures to protect the data that you have on the hard disk. These procedures assume that you have a DOS partition. Other operating systems may or may not have a way to accomplish the same thing.

The first thing that you should do is perform a complete backup. The tools that you will use work as they should. But these procedures are inherently dangerous. Any time you work with a hard disk partition table, you can easily lose all the data contained on the drive. Back up your hard disk before you proceed.

Once you have your disk backed up, create a boot floppy disk for the system. You can either use the MS-DOS command
tscreen653
which formats the floppy and puts the required system files on it, or, using a formatted disk, issue the command
tscreen655

Once you have created a boot floppy and tested it to insure that it works, copy the following files from your MS-DOS system to the boot floppy: FDISK.EXE, SCANDISK.EXE, and SYS.COM. Also copy the file RESTORRB.EXE from a Linux distribution CD or Linux FTP archive. (See Appendix B).

Run a defragmentation program on your DOS drive to defragment and group the files together at the front of the disk. If defragmeter encounters any errors, you need to run SCANDISK.EXE to fix the problems. Once you have defragmented the disk and ensured that the files are compressed toward the front of the drive (as indicated in the graphical portrayal of your disk), you're ready to run FIPS.EXE to shrink the MS-DOS partition.

2.1.16 FIPS.EXE

On your Linux distribution CD (or an Internet distribution site), you'll find a copy of FIPS.EXE, which can shrink the MS-DOS partition. Note that FIPS.EXE only works for MS-DOS partitions. If you have other partitions that you need to shrink, the program Partition Magic may help, but is not free. Copy FIPS.EXE to your boot floppy and reboot using this floppy. This accomplishes two things: it insures that the boot floppy works, and insures that you are booted into MS-DOS Real Mode and are not running Microsoft Windows.

At the A:> prompt, type FIPS (upper or lower case). You will be greeted and asked which drive you want to operate on (if you have more than one). Select the drive to shrink. Once you confirm your choice, let FIPS.EXE make a copy of your boot and root sectors to the floppy in case something untoward happens.

You will then be asked if all of the free space on your partition should be used to create a second partition. If you say, ``yes,'' you will not have any free space on the MS-DOS partition to save data to, so say, ``no.'' You will then be able to alter the amount of space allocated between the first and second partitions. Note that if you didn't properly defragment your drive, you won't have much to work with on the second partition. Also, if you use MS-DOS mirroring software, a file is created at the very end of the partition, and FIPS.EXE tells you that you have no space to create a second partition. Exit and correct the problem by deleting the MIRROR.FIL file, then restart FIPS.EXE.

You can edit and re-edit the table until you are satisfied. Once you are happy with the distribution of space between the partitions, confirm your changes and write out the table.

Once FIPS.EXE has finished, remove the boot floppy and reboot your computer. In this example, we'll destroy and recreate the second partition during installation to create at least two partitions for Linux: a swap partition and a Linux native partition. But you can create as many as you like.

2.1.17 Preparing to boot Linux.

In order to install Linux, we must begin by booting the Linux kernel. This is accomplished in exactly the same manner as if you wanted to reload MS-DOS: we need a boot disk. But most distributions come only with a CD-ROM, and even if we had a running Linux system, the command to create boot disks for Linux is different than for MS-DOS. If you bought a new computer with a bootable CD-ROM, some distributions allow you to boot in this manner. But we'll go through the process of creating a boot disk for the rest of us.

2.1.18 Creating a Linux boot disk under DOS.

   

Each distribution CD contains a MS-DOS program that allows you to write a raw disk image to a formatted floppy disk. You must have a high density floppy, and some distributions require this to be a 3.5-inch, 1.44 Mb floppy. Insert the floppy in the drive. On the CD (or on your disk drive if you downloaded it) find RAWRITE2.EXE (you may have the older RAWRITE.EXE).

Then cd to the directory that has the disk image(s) that you need to boot with. There may be only one, or many which are configured for different hardware. You will have to consult the distribution documentation. Running RAWRITE2.EXE with no arguments results in your having to answer two questions: the path name of the disk image file to write. and the destination disk drive, either A: or B:. To shortcut the prompts with RAWRITE.EXE or RAWRITE2.EXE, issue the arguments on the MS-DOS command line
tscreen687
Repeat this step for any additional disk images your system needs.

If you can check the floppy disks with SCANDISK.EXE and do a surface scan before writing the images to the floppy, you may save yourself some time later. Most initial install failures come from boot disks that are bad, and RAWRITE2.EXE doesn't verify the disks.

This is also true if you create boot disks under Linux. The badblocks(1) manual page describes how to check disks for errors.

Label the disks that you create for future use.

2.1.19 Creating a Linux boot disk under Linux.

If you have an operational Linux system; for example, if you upgrade and want to create the disk images with Linux, you change to the directory with the disk images and issue the command
tscreen695
Substitute the disk image name for diskimage and the correct floppy device (almost always /dev/fd0), and repeat for each disk that you need. The dd arguments are: if for input file; of for output file, and here we want to use the floppy device; bs for block size, in this case 512 bytes; conv=sync ensures that the output file is exactly the same size as the input file. The trailing ``sync'' insures that we flush the buffers to disk immediately.

An alternate method that works, though will often be shunned by ``real'' Linux administrators, is the cp (copy) command
tscreen708
Again, substitute the disk image file name for diskimage, the correct boot floppy device, and repeat the step for each disk that you need. You may receive a message asking if you want to replace the boot floppy device with diskimage. Obviously this won't happen, since the floppy diskette is not a true file but a device, but cp doesn't pay attention to that detail. Just say, ``yes,'' if you are asked.

With the Linux installation boot disks in hand, you're ready to install our system. Most distributions invoke fdisk, the Linux version, so you can create a native Linux partition and a swap partition. The install programs continue by creating the file system (the equivalent of formatting a MS-DOS disk) for both the Linux and swap partitions, and initialize the swap partition and mount the Linux partition.

One question that you will be asked is whether you want to check your hard disk for bad blocks. If you are using a SCSI drive, answer ``no.'' SCSI drives have built-in error checking and correcting. IDE and similar drives don't have this and need to map out bad blocks. If you have an older drive you want to do this. If you say, ``yes,'' the installation program will invoke the badblocks program to maps out all of the bad blocks it finds. This takes time. If in doubt, say, ``yes.''

2.1.20 Partitioning the hard disk: fdisk and cfdisk.

   Every operating system, be it MS-DOS and Microsoft Windows, or Linux, has its own version of fdisk. If you want to create a partition for use by MS-DOS, use the MS-DOS version, FDISK.EXE, to create the partition and write the table. If you are going to create a partition for Linux, you must create it with the Linux version, fdisk.

Under Linux, two disk partitioning programs are available: the original fdisk, and a friendlier cfisk. The difference between the two is that in fdisk you issue all commands via the keyboard with letters and numbers. With cfdisk, you use the arrow keys to highlight the options you want, and press Enter to execute the command. The only time you use anything but the arrow and Enter keys is when you specify a number for the size of the partition.

For starters, all Linux boot disks are created essentially equal. Reboot the computer with the boot floppy in the boot drive. You will be greeted with a screen with some instructions and a prompt
tscreen731
and a flashing cursor. If you use the Tab key, you should see a list of names. The names differ depending on the distribution, but look for one that says ``rescue'' or ``expert.'' The ``install'' label starts the installation program after loading the kernel, so if you want to let the installation program walk you through the partitioning and filesystem initialization process, you can use the ``install'' label; otherwise, choose a different label. You may also need to provide Linux some boot parameters. For our purposes, this should not be necessary, but you'll soon find out if this is the case.

Enter a label name and press /keyReturn. When the Linux kernel finishes the bootup process, you may be presented with any of a number of prompts, depending on the distribution. If you have a shell prompt, like the pound sign (#) or a dollar sign ($), you're where you need to be. If not, try presssing Alt-F2 or Alt-Shift-F2. You should be able to activate one of the system's virtual consoles.

Once you have a prompt (you should not need to log in), you will be working as ``root'' (more on this in Chapter 4). Enter the command
tscreen744
If an error is returned, try cfdisk. This is the disk partition utility. It defaults to /dev/hda, so if you need to work on the second hard drive, use the command
tscreen748

In fdisk, press m to see a menu. The commands you will use are: n to create a new partition; d to destroy a partition; t to change the partition type (83 is Linux Native, 82 is Linux Swap); p prints to the screen the partition information currently in memory (not what's on the disk); w writes the partition table to disk; and q quits.

Until you issue the w command, you are not committed and can make changes or quit without making any changes.

Pay attention to prefixes and suffixes of the partition size. With the partition size you need to specify ``+'' if the size will be other than the ending partition number, and a suffix of ``k'' or ``M'' (case does not matter) to specify KB or MB.

One final note on partitions: you can create up to four primary partitions. If you need more than four partitions, you will create three primary partitions and then extended partitions. The extended partition numbers begin with 5, so you may have /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, and /dev/hda6 if you need five partitions.

As a final check before you write the partition table, ensure that your partitions do not overlap. As long as the start and end segments don't overlap with any other start and end segments, you can be sure the partition boundaries are okay. A beginning number may be listed as 1024 for partitions with numbers starting higher than that. For now, just consider that a reminder that the BIOS will not be able to read (or boot from) that partition.

 cfdisk does exactly the same thing as fdisk, but displays on the screen the state of the partition table in memory (but not on the disk) at all times. Use the Up and Down arrow keys to select a partition to work on, and the Right and Left arrow keys to select the action to be performed. Then press Enter to perform the action. You will have to input numbers for the size you want to make the partition, but all information is given on the screen, just follow the instructions. cfdisk defaults to /dev/hda, so you must to give it the argument /dev/hdb if you want to change the partition table on a second disk drive. Remember to write the table before you quit. This is the hardest part of cfdisk. It doesn't ask for confirmation before exiting. So select Write and press Enter before you select Quit and press Enter.

2.2 Linux distributions.

 

You are now faced with the task of deciding which particular distribution of Linux suits your needs. Not all distributions are alike. Many of them come with just about all of the software you'd need to run a complete system--and then some. Other Linux distributions are ``small'' distributions intended for users without copious amounts of disk space. Many distributions contain only the core Linux software, and you are expected to install larger software packages, such as the X Window System, yourself. (In Chapter gif we'll show you how.)

The Linux Distribution HOWTO (see Appendix A) contains a list of Linux distributions available on the Internet as well as by mail order.

If you have access to USENET news, or another computer conferencing system, you might want to ask there for personal opinions from people who have installed Linux. Also, Linux Journal maintains a table of features comparing Linux Distributions and periodically publishes software reviews of distributions (check http://www.linuxjournal.com/selected.html for on-line versions of the table and articles). Even better, if you know someone who installed Linux, ask them for help and advice. There are many factors to consider when choosing a distribution; however, everyone's needs and opinions are different. In actuality, most of the popular Linux distributions contain roughly the same set of software, so the distribution you select is more or less arbitrary.

 

2.3 Debian GNU/Linux.

   

This section on Debian GNU/Linux was written by Boris Beletsky.

2.3.1 Debian GNU/Linux installation features.


tabular804

2.3.2 Getting floppy images.

If you have fast, cheap Internet access, the best way to get Debian is via anonymous FTP (see Appendix B). The home ftp site of Debian is located at ftp.debian.org in the /pub/debian directory. The structure of Debian archive is described in the table on page gif.

  table816
Table 2.1: Debian GNU/Linux archive structure.

For a base installation of Debian you need about 12 megabytes of disk space and some floppies. First, you need boot and driver floppy images. Debian provides two sets of boot floppy images, for 1.2 and 1.44 Mb floppy disks, and one set of the base images which work with either type of floppy. Check what floppy drive your system boots from, and download the appropriate disk set.

  table833
Table 2.2: Debian GNU/Linux installation floppies.

Choose the appropriate floppy set for your hardware from the table on page gif and write the images to floppy as described on page gif.

2.3.3 Downloading the packages.

To install and use Debian, you need more than the base system. To decide what packages you want, download the file Packages from:


tscreen864

This file is a current list of Debian packages available in the stable Debian distribution. The file comes in a special format; every package has its own entry separated by a blank line. Each package's information is broken up into fields. The table on page gif describes the fields and their possible values. It should give you an idea of how to build your personal download list. When you have the list of the packages you want, you need to decide how to download them. If you are an experienced user, you may want to download the netbase package--and SLIP and PPP, if necessary--so you can download packages later, via Linux. Otherwise, you can download all of the packages with your current operating system and install them later from a mounted partition.

2.3.4 Booting from floppies and installing Debian GNU/Linux.

The Rescue floppy.

Place the Rescue floppy in the boot drive and reboot. In a minute or two, you should see a screen introduce the Rescue floppy and the boot prompt.

It's called the Rescue floppy because you can use it to boot your system and perform repairs if there is a problem that makes your hard disk unbootable. Save this floppy after you install the system.

You can do two things at the boot: prompt: press the function keys F1 through F10 to view a few pages of helpful information, or boot the system. If you have any hardware devices that Linux doesn't access correctly at boot time, you may find a parameter to add to the boot command line in the screens you see by pressing F3, F4, and F5.

If you add parameters to the boot command line, be sure to type the word ``linux'' and a space before the first parameter. If you simply press Enter, that's the same as typing ``linux'' without any special parameters.

If this is the first time you're booting the system, press Enter and see if it works correctly. It probably will. If not, you can reboot later and look for any special parameters that inform the system about your hardware.

Once you press Enter, you should see the messages
tscreen883
then there is a page or so of cryptic information about the hardware in the system. There may be many messages in the form of, ``can't find something,'' ``something not present,'' ``can't initialize something,'' or even ``this driver release depends on something,'' Most of these are harmless. The installation boot disk is built to run on computers with many different peripheral devices. Obviously, no computer will have every possible peripheral device, and the operating system may emit a few complaints while it looks for peripherals you don't own. You may also see the system pause for a while. This happens if it is waiting for a device to respond that is not present on your system. If you find that the time it takes to boot the system unacceptably long, you can create a custom kernel after you install the system which doesn't have the drivers for non-existent devices.

Low memory systems.

If your system has 4MB of RAM, you may see a paragraph about low memory and a text menu with three choices. If your system has enough RAM, you won't see this at all, and you'll go directly to the color or monochrome dialog box. If you get the low-memory menu, you should go through its selections in order. Partition your disk, activate the swap partition, and start the graphical installation system. The program that is used to partition your disk is called cfdisk, and you should see the manual page for cfdisk and the instructions on page gif for assistance.

cfdisk is used to create a Linux Swap partition (type 82) on the hard drive. You need the swap partition for virtual memory during installation, because the procedure likely uses more memory than you have physical RAM for. Select the amount of virtual memory that you intend to use once your system is installed. It is exactly equal to the amount of disk space required. Sixteen megabytes is probably the smallest practical amount, but use 32 megabytes if you can spare the disk space, and 64 megabytes if the disk is large enough and you won't miss the space.

The color or monochrome dialog box.

Once the system finishes booting, you should see the color or monochrome dialog box. If your monitor displays black and white (monochrome), press Enter and continue with the installation. Otherwise, use the arrow key to move the cursor to the Color menu item and then press Enter. The display should change from black and white to color. Press Enter again to continue with the installation.

The Main Menu

You may see a dialog box that says,
tscreen904
On some systems, this message flashes by too quickly to read. It is displayed between steps in the installation process. The installation program checks the state of the system after each step. This allows you to restart the installation without losing the work that you have already done, if you halt the system in the middle of the installation. If you need to restart an installation, you will be prompted to select color or monochrome again, configure the keyboard, reactivate the swap partition, and remount any disks that have been initialized. Any other installation on the system will be saved.

During the entire process, you are presented with the main menu. The choices at the top of the menu change to indicate your progress in installing the system. Phil Hughes wrote in Linux Journal that you could teach a chicken to install Debian. He meant that the installation process was mostly just pecking at the Enter key. The first choice on the installation menu is the next action you should perform according to what the system detects you have already done. It should say Next, and, at this point, the next item should be
tscreen909

Configuring the keyboard.

Make sure that the highlight is on the Next item, and press Enter for the keyboard configuration menu. Select a keyboard that conforms to the layout used for your national language, or select something close to it if the keyboard layout you want isn't shown. After installation you can select a keyboard layout from a wider range of choices. Move the highlight to the keyboard selection and press Enter. Use the arrow keys to move the highlight--they are in the same place on all national language keyboard layouts and are independent of the keyboard configuration.

The shell.

If you are an experienced UNIX or Linux user, press LeftAlt and F2 in unison for the second virtual console. That's the Alt key on the left-hand side of the Space bar and the F2 function key. You'll see a separate window running a Bourne shell clone called ash. At this point, the root file system is on the RAM disk, and there is a limited set of UNIX utilities available for your use. You can see what programs are available with the command
tscreen922

The shell and commands are there only in case something goes wrong. In particular, you should always use the menus, not the shell, to activate your swap partition, because the menu software can't detect whether you've done this from the shell. Press LeftAlt-F1 to get back to menus. Linux provides up to 64 virtual consoles, but the Rescue floppy only uses a few of them.

Last chance! Have you backed up your disks? Here's your first chance to wipe out all of the data on your disks, and your last chance to save your old system. If you haven't backed up all of your disks, remove the floppy from the drive, reset the system, and create a backup.

Partition your hard disks.

If you have not already partitioned your disks for Linux Native and Linux Swap file systems, the menu item Next will be
tscreen929
If you have already created at least one Linux Native and one Linux Swap disk partition, the Next menu selection will be
tscreen932
or you may even skip that step if your system has little RAM and the installation software asked you to activate the swap partition as soon as the system started. Whatever the Next menu selection is, you can use the down-arrow key to select
tscreen929

The Partition a Hard Disk menu item presents you with a list of disk drives you can partition and runs the cfdisk program (see page gif), which allows you to create and edit disk partitions. You must create at least one Linux (type 83) disk partition.

Your swap partition will be used to provide virtual memory for the system and should be between 16 and 128 megabytes in size, depending on how much disk space you have and how many large programs you want to run. Linux will not use more than 128 megabytes of swap, so there's no reason to make your swap partition larger than that. A swap partition is strongly recommended, but you can do without one if you insist and system has more than 16 Mb of RAM.

Initialize and Activate the Swap Disk Partition.

This is the Next menu item after you create one disk partition. You have the choice of initializing and activating a new swap partition, activating a previously initialized partition, and doing without a swap partition. It's always permissible to re-initialize a swap partition, so select Initialize and Activate the Swap Disk Partition unless you are sure that you know what you are doing. This menu choice will give you the option to scan the entire partition for unreadable disk blocks caused by defects on the surface of the hard disk platters. This is useful if you have MFM, RLL, or older IDE disks, and checking the disk never hurts. Properly working SCSI disks don't need to be scanned. They have their own internal mechanism for mapping out bad disk blocks.

The swap partition provides virtual memory to supplement the RAM in your system, and it's even used while the system is being installed. That's why we initialize it first.

Initialize a Linux disk partition.

At this point, the Next menu item should be
tscreen945
If it isn't, you haven't completed the disk partitioning process, or you haven't made one of the menu choices dealing with your swap partition.

You can initialize a Linux disk partition, or alternately you can mount a previously initialized partition.

The boot floppies will not upgrade an old system without removing the files--Debian provides a different procedure than using the boot floppies for upgrading existing Debian systems. Thus, if you are using old disk partitions that are not empty, you should initialize them, which erases all of the files. You must initialize any partition that you created in the disk partitioning step. About the only reason to mount a partition without initializing it at this point would be to mount a partition upon which you have user files, like /home, that you don't want deleted.

Select the Next menu item, to initialize and mount the root (the ``/'' directory) disk partition. The first partition you mount or initialize, after the swap partition, if you're using it, is the partition mounted as root. You will be offered the choice to scan the disk partition for bad blocks, as when you initialized the swap partition. It never hurts to scan for bad blocks. Keep in mind that this step can take 10 minutes or more if you have a large disk.

Install the base system.

Once you've mounted the root partition, the Next menu item will be
tscreen952
unless you already performed some of the installation steps. You can use the arrow keys to select the menu items to initialize or mount disk partitions if you have additional partitions to set up. If you have created separate partitions for /var, /usr, or other file systems, you should initialize and mount them now.

There will be a pause while the system looks for a local copy of the base system. This search is for CD-ROM installations and will not succeed. You are then offered a menu of drives from which to read the base floppies. Select the appropriate drive. Feed in the Base 1, Base 2, Base 3, and Base 4 floppies--and Base 5 if you are using 1.2MB floppies--as requested by the program. If one of the base floppies is unreadable, you need to create a replacement floppy and feed all five floppies into the system again. After the floppies have been read, the system installs the files. This can take ten minutes or more on a slow system.

Install the operating system kernel.

At this point, the Next menu item should be
tscreen958
Select it, and you will be prompted to select a floppy drive and insert the Rescue floppy. This copies the kernel onto the hard disk. This kernel is used later to create a custom boot floppy for your system and make the hard disk bootable without a floppy.

Install the device drivers.

Select the menu item to install the device drivers. You will be prompted to insert the Device Drivers floppy, and the drivers will be copied onto your hard disk. Select the
tscreen961
menu item and look for devices which are on your system. Configure those device drivers, so they will be loaded whenever your system boots.

There is a menu selection for PCMCIA device drivers, but you do not need to use it. After installation you can install the pcmcia-cs package. This detects PCMCIA cards automatically and configures those it finds. It also recognizes cards that are hot swapped when the system is running--they will all be configured as they are plugged in, and de-configured when unplugged.

Configure the base system.

At this point the system read in all of the files that make up a minimal Debian system, but you must perform some configuration before the system will run. Select
tscreen965
This asks you to select your time zone. Look for your time zone or region of the world in the menu, and type it at the prompt. This may lead to another menu where you can select more specific information.

Next, you are asked if your system clock should be set to Greenwich Mean Time (GMT) or local time. Select GMT if are running only Linux or another UNIX on your system. Select local time if you use another operating system like MS-DOS or Microsoft Windows. UNIX systems keep GMT time on the system clock and use software which converts it to the local time. This allows them to keep track of daylight savings time and leap years, and even allows users who are logged in from other time zones to individually set the time zone on their terminal. If you run the system clock on GMT and your locality uses daylight savings time, the system adjusts for daylight savings time properly on the days it starts and ends.

Configure the network.

You must configure the network even if you don't have one, but you only have to answer the first two questions:
tscreen968
If you are connected to a network, check with your system administrator or ISP vendor if you don't know the following information:

The program will guess that the network IP address is the bitwise AND of your system's IP address and netmask. It will guess that the broadcast address is the bitwise OR of your system's IP address with the bitwise negation of the netmask. It will guess that your gateway system is also your DNS server. If you can't find any of these answers, use the system's guesses--if necessary, you can alter them after installation by editing the /etc/init.d/network file.

Make the hard disk bootable.

If you choose to make the hard disk boot directly to Linux, you are asked to install a master boot record. If you aren't using a boot manager (this is probably the case if you don't know what a boot manager is), answer ``yes'' to this question. The next question is whether you want to boot Linux automatically from the hard disk when you turn on the system. This sets Linux to be the bootable partition--the one that will be loaded from the hard disk. If you answer ``no'' to this question, you can set the bootable partition later using the MS-DOS FDISK.EXE program, or the Linux fdisk or activate programs.

Make a boot floppy.

You should make a boot floppy even if you intend to boot the system from the hard disk. The reason for this is that it's possible for the hard disk bootstrap to be installed incorrectly. A boot floppy will almost always work. Select
tscreen978
from the menu and feed the system a blank floppy as directed. Make sure that the floppy isn't write protected. The software attempts to format and write it. Mark this diskette the ``Custom Boot'' floppy and write-protect it once it has been written.

The moment of truth.

This is what electrical engineers call the ``smoke test''--what happens when you power up a new system for the first time. Remove the floppy disk from the floppy drive and select
tscreen981
from the menu. If the Linux system doesn't start up, insert the Custom Boot floppy you created in the previous step and reset the system. Linux should boot. You should see the same messages as when you first booted the installation boot floppy, followed by some new messages.

Add a user account and password.

After you've added logins, (Chapter 4 discusses this in some detail), you are dropped into dselect, the Debian package management program.

You should read the tutorial before attempting to install packages with dselect.

dselect allows you to select the packages that you want installed on your system. The Debian package management software is described in detail starting on page gif. If you have a CD-ROM or hard disk with the additional Debian packages or are connected to the Internet, you may want to read that section now. Otherwise, exit dselect. You can use the package management software after you have transferred the Debian package files to your system.

You must be the superuser (root) to use dselect.

If you install the X Window System and do not use a US keyboard, read the X11 Release note for non-US keyboards.

Log in.

After you exit dselect, you are at the login: prompt. Log in using the personal login and password you selected. Your system is ready to use.

2.3.5 Running Debian GNU/Linux.

  This section describes the Debian packaging system and Debian-specific utilities. The Debian/GNU Linux Packages file format is shown in the table on page gif.

  table999
Table 2.3: Fields in a Debian/GNU Linux Packages file record.

Debian distributions come in archives called packages. Every package is a collection of files (programs, usually) that can be installed using dpkg or dselect. In addition, the package contains some information about itself that is read by the installation utilities.

Package classifications.

The packages that are included with Debian GNU/Linux are classified according to how essential they are (priority) and their functionality (section).

The priority of a package indicates how essential or necessary it is. Debian GNU/Linux classifies all packages into four different priority levels:

Required.

These packages must be installed for the system to operate correctly and have been installed as part of the base system.

Never remove a required package from the system unless you are absolutely sure of what you are doing. This bears repeating: Never, never, never remove a required package from the system unless you are absolutely sure of what you are doing. It is likely that doing so will render your system completely unusable.

Required packages are abbreviated in dselect as Req.

Important.

Important packages are found on almost all UNIX-like operating systems. These packages include cron, man, and vi.

Important packages are abbreviated in dselect as Imp.

Standard.

Standard packages are packages that, more or less, comprise the ``standard,'' character based, Debian GNU/Linux system. The Standard system includes a fairly complete software development environment and GNU Emacs.

Standard packages are abbreviated in dselect as Std.

Optional.

Optional packages comprise a fairly complete system. The Optional system includes TeX and the X Window System.

Optional packages are abbreviated in dselect as Opt.

Extra

Extra packages are only useful to a small or select group of people, or are installed for a specific purpose. Extra packages might include such programs as electronics and ham radio applications.

Extra packages are abbreviated in dselect as Xtr.

By default, dselect automatically selects the Standard system if the user doesn't want to individually select the packages to be installed.

The section of a package indicates its functionality or use. Packages on the CD-ROM and in FTP archives are arranged in subdirectories according to function. The directory names are fairly self-explanatory: for example, the directory admin contains packages for system administration and the directory devel contains packages for software development and programming. Unlike priority levels, there are many sections, and more may be added in the future, so we do not individually describe them in this guide.

Package relationships.

Each package includes information about how it relates to the other packages included with the system. There are four package relationships in Debian GNU/Linux: conflicts, dependencies, recommendations, and suggestions.

A conflict occurs when two or more packages cannot be installed on the same system at the same time. A good example of conflicting packages are mail transfer agents (MTAs). A MTA is a program that delivers electronic mail to users on the system and other machines on the network. Debian GNU/Linux has two mail transfer agents: sendmail and smail.

Only one mail transfer agent may be installed at a time. They both do the same job and are not designed to coexist. Therefore, the sendmail and smail packages conflict. If you try to install sendmail when smail is already installed, the Debian GNU/Linux package maintenance system will refuse to install it. Likewise, if you try to install smail when sendmail is already installed, dselect (or dpkg; see below) will refuse to install it.

A dependency occurs when one package requires another package to function properly. Using our electronic mail example, users read mail with programs called mail user agents (MUAs). Popular MUAs include elm, pine, and emacs RMAIL mode. It is normal to install several MUAs at once because they do not conflict. But MUAs do not deliver mail--that is the job of the MTA. So all mail user agent packages depend on a mail transfer agent.

A package can also recommend or suggest other related packages.

2.3.6 dselect.

This section is a brief tutorial on Debian dselect. For more detailed information, refer to the dselect manual at
tscreen1124

dselect is simple, menu-driven interface which helps install packages. It takes you through the package installation process in the order of the on-screen menu:


tscreen1127

There are two ways to select an option from the menu: choose it with arrows, or press the key of the corresponding letter in brackets.

Access.

In this menu you choose the method to obtain and install the packages.


tabular1131

Update.

dselect reads the Packages database (described above) and creates a database of the packages available on your system.

Select.

This section of the program selects the packages. Choose your the package you want and press Enter. If you have a slow machine, the screen may clear and remain blank for 15 seconds. The first thing that appears is Page 1 of the Help file. You can view this screen by pressing "?" at any point in the Select screens, and you can page through the help screens by pressing the . (period) key.

To exit the Select screen after all of the selections are complete, press Enter. This returns you to the main screen if there are no problems with your selection. You must resolve those problems first. When you are satisfied with any given screen, press Enter.

Dependency conflicts are quite normal and to be expected. If you select package A and that package requires the unselected package B in order to run, dselect warns you of the problem and will most likely suggest a solution. If package A conflicts with package B, you must decide between them.

Install

dselect runs through the entire 800 packages and installs the ones that are selected. You will need to make decisions during this process. It is often useful to switch to a different shell to compare, for example, an old configuration file with a new one. If the old file is called conf.modules, for example the new file will be called conf.modules.dpkg-new.

The screen scrolls by fairly quickly on faster machines. You can halt the display is by pressing Control-S and restart it with Control-Q. At the end of the run, there will be a list of any uninstalled packages.

Configure.

Most packages are configured in Step 3, but anything remaining can be configured here.

Remove.

Remove packages that are no longer needed.

Quit.

Au revoir.

2.3.7 dpkg.

This is a command line tool that installs and manipulates Debian packages. It has several options that allow you to install, configure, update, remove, and perform other operations on Debian packages. You can even build your own packages. dpkg also allows you to list the available packages, files "owned" by packages, which package owns a file, and so on.

Installing or updating new or existing packages.

Type the following command:


tscreen1166
where filename is the name of the file containing a Debian package, like tcsh_6.06-11_i386.deb. dpkg is partly interactive; during the installation it may ask additional questions, like whether to install the new version of a configuration file or keep the old version.

You may also unpack a package without configuring it by entering:


tscreen1172

If a package depends on an uninstalled package or a newer version of a package you already have, or if any other dependency problem occurs during the installation, dpkg will exit without configuring it.

Configuring installed packages.

If dpkg aborts during installation and leaves a package installed, the package is left unconfigured. The Debian packaging system requires the package to be configured to avoid dependency problems. Some packages also require configuration to work properly.

To configure a package, type:
tscreen1178
where package is the name of the package, like tcsh. (Notice that this is not the original name of the file from which tcsh was installed, which was longer, included a version number, and ended in .deb.)

Removing installed packages.

In the Debian package system, there are two ways to eliminate packages: remove and purge. The remove option removes the specified package; the purge option removes both the specified package and its configuration files. The usage is:


tscreen1190
If there are any installed packages that depend on the one you wish to remove, the package will not be removed, and dpkg will abort with an error message.

Reporting package status.

To report the status of the package (e.g., installed, not installed, or unconfigured), enter:
tscreen1197

Listing available packages.

To list the installed packages that match some pattern, type:


tscreen1201
where package-name-pattern is an optional argument specifying a pattern for the package names to match, like *sh. Normal shell wildcards are allowed. If you don't specify the pattern, all of the installed packages are listed.

Listing files owned by packages.

To list all the files owned by a particular package, simply type:
tscreen1207
However, this does not list files created by package-specific installation scripts.

Finding the package that owns a file.

To find the package which owns a particular file, type the following command:


tscreen1211
where filename-pattern is the pattern with which to search the package names for a match. Again, normal shell wildcards are allowed.

Summary.

dpkg is simple to use and is preferred over dselect when all that you need to do is install, upgrade, or remove a small number of packages. It also has some functionality that dselect (an interface to dpkg) doesn't have, like finding which package owns a file. For the full list of options, refer to the dpkg(8) manual page.

2.3.8 About Debian GNU/Linux.

The Debian GNU/Linux Project was created by Ian Murdock in 1993, initially under the sponsorship of the Free Software Foundation's GNU project. Later, Debian separated from FSF. Debian is the result of a volunteer effort to create a free, high-quality UNIX-compatible operating system based on the Linux kernel, complete with a suite of applications.

The Debian community is a group of more than 150 unpaid volunteers from all over the world who collaborate via the Internet. The founders of the project have formed the organization Software in the Public Interest (SPI) to sponsor Debian GNU/Linux development.

Software in the Public Interest is a non-profit organization formed when the FSF withdrew their sponsorship of Debian. The purpose of the organization is to develop and distribute free software. Its goals are very much like those of FSF, and it encourages programmers to use the GNU General Public License on their programs. However, SPI has a slightly different focus in that it is building and distributing a Linux system that diverges in many technical details from the GNU system planned by FSF. SPI still communicates with FSF and cooperates in sending them changes to GNU software and in asking its users to donate to FSF and the GNU project.

SPI can be reached by post at:

Software in the Public Interest
P.O. Box 70152
Pt. Richmond, CA 94807-0152

2.3.9 Mailing lists.

 

There are several Debian-related mailing lists:


dispitems1226

There are also several mailing lists for Debian developers.

You can subscribe to those mailing list by mail or the World Wide Web. For more information, please visit http://www.debian.org/.

2.3.10 Bug tracking system.

The Debian project has a bug tracking system that handles bug reports by users. As soon as the bug is reported, it is given a number and all of the information provided on the particular bug is stored in a file and mailed to the maintainer of the package. When the bug is fixed, it must be marked as done (``closed'') by the maintainer. If it was closed by mistake, it may be reopened.

To receive more information on the bug tracing system, send e-mail to request@bugs.debian.org with help in the body of the message.

2.3.11 Debian Acknowledgments.

Many thanks to Bruce Perens and the other authors of Debian related materials that were used to write this chapter. Thanks also to Vadik Vygonets, my beloved cousin, who helped me quite a bit. Lastly, thanks are also due to the members of Debian community for their hard work. Let's hope that Debian GNU/Linux becomes even better.

2.3.12 Last note.

Debian GNU/Linux changes very quickly, and many facts can change more quickly than this book. The source text of this section is updated regularly. You can find it at


tscreen1241

   

2.4 Red Hat Linux.

red-hat-installation

   

This section on Red Hat Linux was written by Henry Pierce.

2.4.1 Red Hat Linux installation features.


tabular1268

2.4.2 The RPM package management system.

Red Hat Linux's RPM package management system manages software by defining how a software package is built for installation and collects information about its components and installation methods during the build process. A RPM package has an organized packet of data in the header of package.rpm which can be added to a database that describes where the package belongs, what supporting packages are required, whether the required packages are installed, and provides a means to determine software dependencies.

RPM gives system administrators the ability to: upgrade individual components or entire systems while preserving the configuration of the system or package; query the database for the location of files, packages, or related information; perform package verification so packages can be installed properly, or at all; keep source packages ``pristine'' (provide the package author's original source and second-party patches separately) so that porting issues can be tracked. Because RPM does this, you can install, upgrade, or remove packages with a single command line in text mode or a few clicks of the mouse in X Package Management Tool. Examples of using RPM from the command line are:


tscreen1274

Package naming conventions.

A properly built package.rpm has the following characteristics: its name identifies the package, the version, the build revision, the architecture, and the extension .rpm, which identifies it as a RPM package.

Take, for example, bash-1.14.7-1.i386.rpm. The name itself contains useful information: the package is bash (the Bourne Again SHell), it is version 1.14.7, and it is build 1 of the current version for Red Hat Linux. It was built for Intel or compatible 80386 or higher CPUs, and it is in RPM format. So, if you see a package named bash-1.14.7-2.i386.rpm, you know that it is the second build of bash version 1.14.7, and probably contains fixes for problems of the previous build and is more current. While the internal organization of a *.rpm file is beyond the scope of this section, a properly built package contains an executable file, any configuration files, the documentation (at least manual pages), any miscellaneous files directly related to the package, a record of where the packages files are to be installed, and a record of any required packages. After successful installation, information about the package is registered in the system's RPM database. A more thorough discussion of RPM package management system may be found in the RPM HOWTO (see Appendix A). It is also available at
tscreen1292

2.4.3 A note about upgrading Red Hat Linux.

Only upgrades from version 2.0 of Red Hat Linux and onward are supported due to major changes in Linux's binary format. Otherwise, upgrades can be performed from the same installation methods of CD-ROM, NFS, FTP, and hard disk. As of Red Hat Linux version 4.0, the upgrade option is incorporated into the Boot diskette instead of a separate program. If you upgrade from v2.1 to v3.0.3 and want to upgrade again to version 4.0, you need to create the Boot diskette instead of looking for an upgrade script, the same as Red Hat 4.x installation from scratch. This method does not reformat your partitions nor delete your configuration files.

2.4.4 Creating the installation floppies.

To create an Installation Floppy Kit, you need the following:

  1. The Red Hat Boot diskette image, boot.img, which is available at:
    tscreen1299
    or in the images directory of a Red Hat CD-ROM.
  2. The Red Hat Supplemental diskette image, supp.img, which is available at
    tscreen1303
    or in the images directory of a Red Hat CD-ROM. This diskette is required if your method of installation is not CD-ROM based, or you need PCMCIA support for any device, like a CD-ROM on a laptop, to install properly. This diskette can also be used with the Boot diskette as an emergency start disk for an installed system.
  3. The program RAWRITE.EXE, which is available at:
    tscreen1307
    or in the DOS directory of a Red Hat CD-ROM.
  4. MS-DOS and Windows 95 users installing Red Hat Linux for the first time on a machine that will have Linux installed as a second operating system should also obtain:
    tscreen1310
    and unzip the files into: C:tex2html_wrap_inline8977FIPS if you need to free space on your hard drive.
  5. An Emergency Boot diskette for an existing operating system on the target machine on which Linux will be installed as a second operating system must be created.

2.4.5 Installation media.

After you create the Installation floppies using RAWRITE.EXE or dd as described on page gif, insure that your installation method is properly set up for the Red Hat installation diskettes. For CD-ROM, NFS, FTP, and hard drive installation methods, the source must have the directory /RedHat on the ``top level'' with the directories /base and /RPMS underneath:


tscreen1321

NFS installation.

For NFS installation, you will either need a Red Hat CD-ROM on a machine (such as an existing Linux box) that can support and export an ISO-9660 file system with Rockridge Extensions, or you need to mirror one of the Red Hat distributions with the directory tree organized as described above--and of course, the proper files in each directory. The directory /RedHat needs to be exported to the machines on the network that are to have Red Hat Linux installed or upgraded. This machine must be on an Ethernet; you can not do an NFS install via dialup link.

Hard drive installation.

Hard drive installations must have the /RedHat directory created relative to the root directory of the partition (it doesn't matter which partition) that will contain the Red Hat distribution obtained either from CD-ROM or an FTP site. For example, on the primary DOS partition, the path to \RedHat should be C:\RedHat. On a MS-DOS file system, it does not matter that the package.rpm names are truncated. All you need to do is make sure the \RedHat\base directory contains the base files from a CD-ROM or FTP site and the \RedHat\RPMS directory contains all of the package.rpm files from the CD-ROM or FTP site. Then you can install or upgrade from that partition. If you have an existing Linux partition that is not needed for an installation or upgrade, you can set it up as outlined here and use it.

FTP installation.

To install via FTP over the Internet, all you need is the IP address of the FTP server and the root directory path for the Red Hat Linux system you wish to install. See Appendix B for a list of Linux FTP sites and mirrors. If you intend to do an FTP installation over a low-bandwidth connection (anything slower than a 128K ISDN link), it is highly recommended you copy the files to an existing MS-DOS hard drive partition and then install from the hard drive. The total size of the packages in the /RedHat/RPMS directory is approximately 170MB and will take many hours to install. If something goes wrong with the installation, such as the link going down, you need to start from the beginning. If you get the files first and set up your hard drive to install Linux, it is then less work and less confusing to recover from a failed installation. You don't even need to download all of the files in /RedHat/RPMS to successfully install a minimal system which can grow with your needs. See the next section for details.

2.4.6 Customizing your NFS or hard drive installation.

You can customize the installation process. This is not for the faint of heart--only those already familiar with Linux should attempt it. As of Red Hat Linux version 4.x, the /RedHat/RPMS directory contains approximately 170MB of .rpm files. RPM compresses these packages and assumes that the packages need an average of 2 to 3MB of hard drive space for every 1MB of RPM package volume. If package.rpm is 6MB in size, you need between 12 and 18MB of free space to install the package.

Customizing which packages are available for installation is an option when installing the system via FTP, NFS, and hard drive. CD-ROMs (typically) cannot be written to, but you can copy the files to the hard drive and install from there with the customized package list. FTP and NFS installations can only be designed if you have root access to the server(s) on your network or your system administrator is willing to work with you. The following installation situations make custom installation desirable: when obtaining Red Hat Linux via FTP over a low-bandwidth connection or when designing a suite of software to be used by all Red Hat Linux workstations on a network.

To customize the installation, you must obtain the /base/comps file which provides you with the list of packages that a full installation would normally include. Then, the packages you actually want to install from /base/comps need to be downloaded. The /base/comps file must be edited to reflect the packages that you obtained and are going to install.

If you have local RPM packages, you can add them to the comps file as well.

The comps file.

The Red Hat installation program uses the file /RedHat/base/comps (the file here is an example from Red Hat Linux version 4.0) to determine what packages are available in the /RedHat/RPMS directory for each category to be installed. The file is organized by category, and each category contains a list of packages Red Hat believes are the minimum required for that section. NOTE: only the package part of a package's name (package-version-build.rpm) is listed in the file. This means the comps file is generally usable from one version of Red Hat to the next. A section in this file has the structure:


tscreen1355

That is a tag to identify the category number, the category, a list of the package names in the category, and the tag ``end'' to mark the end of the category.

Without exception, everyone needs all of the software packages listed in the Base section of the file. The other sections, though, can generally be customized or eliminated to suit a particular need. For example, there are three types of Networked Stations: ``plain'', management, and dial-up. An examination of these sections shows that many of the software packages are listed in all three categories, but some software packages are specific to the category. If you are creating a Dial-up Networked Station, then you can safely eliminate the ``Plain'' and ``Management'' sections and any software unique to those categories. Conversely, if you only need basic networking capability for networked work stations, the other sections can be eliminated from the file as well as the software unique to those sections. All you need to do is make sure that you have all of the software packages listed in that category. If you have local custom packages (those not provided by Red Hat Software), you should add them to an existing category that is appropriate rather than creating a new category.

Because the list of packages in each category only contains the name of the package (i.e., not the entire package-name-version-build.rpm), you can substitute any updates Red Hat has made available in the updates directory on:


tscreen1365
or one of Red Hat's mirror sites for the original package found in the distribution's original /RedHat/RPMS directory. The installation program is relatively version-insensitive. The only warning here is to insure that package dependencies are met. When an RPM package is built, RPM itself tries to determine what packages must be installed for the package to work (the RPM developer also has direct control of this as well--he or she can add dependencies that RPM might not ordinarily detect). This is where a little experimentation or research may be needed. For example, one way to determine package dependencies (if you have user access to your NFS server on an existing Red Hat Linux box) is to telnet or login into it (or if you have the CD-ROM, mount it and go to the RedHat/RPMS directory) and query the package for its dependencies:


tscreen1371

The ``-q'' puts rpm in query mode, the ``-p'' tells rpm to query an uninstalled package, and the ``-R'' tells rpm to list the target package's dependencies. In this example, we see libc.so.5 and libtermcap.so.2 are required. Since libc and termcap are part of the base of required software (as is bash), you must insure that the libc and libtermcap packages (the dependency packages) are present to be able to install bash (the target). As long as you get the entire base system installed, you can boot the system when the installation program completes. You can add additional packages to Red Hat Linux as required even if the installation program reports that a package failed to install because its dependencies were not met.

The table on page gif describes the categories of software found in /base/comps in Red Hat v4.0:

  table1390
Table 2.4: Important Red Hat Linux packages.

2.4.7 Recommended minimal installation.

It is difficult to determine how much space an installation will require. However, someone installing via FTP should get the Base system and the Dialup Networked Station and install these. Then, additional software can be obtained and added as the need arises. Of course, if you want to do C programming, you should get the relevant packages and edit the comps file appropriately.

If you encounter a package during the installation which requires another package that you don't have available, or you make a mistake in the comps file, you can generally finish the installation and have a bootable, working system. You can correct the problem by manually adding the failed packages and their dependencies later. Overall, get the entire Base system and one of the Networked Station packages installed, and you can add anything you need or want later.

2.4.8 How much space do you really need?

The table on page gif gives approximate disk space requirements Red Hat Linux and various subsystems.

  table1416
Table 2.5: Typical Red Hat Linux disk space requirements.

2.4.9 Installation.

By now, you should have created the Installation Floppy Kit, prepared your hard drive, and have your installation media ready. The details of the installation follow. You first begin by booting your system and configuring the installation program to install from your selected medium. After this the installation proceeds with the same steps for everyone. You need to begin by booting your computer with the diskette labeled ``Boot diskette.''

2.4.10 Installation media revisited.

As the boot diskette starts up, the kernel attempts to detect any hardware for which the boot kernel has drivers compiled directly into it. Once booting is complete, a message appears which asks if you have a color screen (if you do, select ``OK''). Next comes the Red Hat Welcome screen. Choose ``OK'' to continue. The next question asks if you need PCMCIA support. You must answer ``yes'' if you are installing to a laptop, inserting the Supplemental diskette when prompted. Once PCMCIA support is enabled if necessary, you are presented with a screen that asks what type of installation method to use. Follow the instructions in the following sections for the method you chose.

CD-ROM installation.

To install from CD-ROM, highlight ``Local CD-ROM'' from the list of installation types. Then click ``OK''. You will be asked if you have a SCSI, IDE/ATAPI, or proprietary CD-ROM. This is where some of the hardware research pays off: if you have 4X or faster CD-ROM drive that was made recently and bundled with a Sound Blaster or other sound card, you most likely have an IDE/ATAPI type drive. This is one of the most confusing issues facing you.

If you choose SCSI, you must know what kind of SCSI card you have and will be presented a list. Scroll down the list until you find your SCSI card. After you select it, you will be asked if you wish to AUTOPROBE for it or SPECIFY OPTIONS. Most people should choose AUTOPROBE, which causes the program to scan for your SCSI card and enable the SCSI support for your card when found.

After the Installation Program has successfully located the Red Hat CD-ROM, you should read the next section.

Hard drive installation.

To install from a hard drive, highlight this option and choose `` OK''. If you have not already chosen PCMCIA support, you will be prompted to insert the Supplemental diskette.

NFS installation.

To install via NFS, highlight this option and choose ``OK''. You must choose the Ethernet card installed on the target machine so the Installation Program can load the correct driver. Highlight the appropriate card from the list, and then select ``OK'', allowing the Installation Program to AUTOPROBE for your card.

If your machine locks up, you must press Ctrl-Alt-Delete to reboot the system. Most of the time, when this happens, it is because the probing interferes with a non-Ethernet card. If this happens, try again and choose SPECIFY OPTIONS, and give the data about your card in this form:


tscreen1448
This instructs the probe to look at the location specified by the values IRQ and IO_PORT for the Ethernet card. If your Ethernet card is configured for IRQ 11 and IO_PORT 0x300, specify:


tscreen1454
After the card has been successfully found, you will be prompted for TCP/IP information about your machine and the NFS server with the Linux installation packages. First, you will be asked to provide the target machine's IP Address, Netmask, Default Gateway, and Primary Name Server. For example:


tscreen1458
After you select OK, you are prompted for the target machine's Domain name and Host name. For example, if your domain name is infomagic.com and host name is vador, enter:


tscreen1465

The last screen prompts you for the NFS server and the exported directory containing the Red Hat distribution. For example, if your NFS server is redhat.infomagic.com, enter:


tscreen1468

If you do not know these values, ask your system administrator. After you enter the values, select OK to continue. If the installation program reports an error locating the Red Hat distribution, make sure that you have the correct values filled in above and that your network administrator has given you export permission for the target machine.

FTP installation.

FTP installation is similar to the NFS installation described above. You are prompted for the Ethernet card and your machine's TCP/IP information. However, you will be asked for the FTP site name and Red Hat directory on the Red Hat mirror site, instead of NFS server information. One warning about performing an FTP installation: find the closest and least busy FTP site to your location. See Appendix B for a list of Linux FTP sites.

If your hardware isn't detected, you may need to provide an override for the hardware to be enabled properly. You may also want to check:


tscreen1475

to see if Red Hat has updated boot diskettes for your hardware.

2.4.11 Walking through the rest of the installation.

 

  1. Next, you are asked if you are installing to a New System or Upgrading Red Hat Linux 2.0 or greater. If upgrading, you will not be offered the chance to partition your hard drive or configure anything with your system except LILO. Select either INSTALL or UPGRADE to continue.
  2. If you are upgrading, you will be asked for the root partition of your existing Red Hat system. Highlight the appropriate partition and press OK. If you are installing for the first time, you need to partition your hard disk with the free space determined above.
  3. After you create the necessary Linux Native and Linux Swap partitions, you must initialize and enable the swap partition. You will then be asked to which partition(s) you intend to install Linux If upgrading, select the root partition. You must configure and choose at least one partition, which will be the root partition. Highlight the root partition. Then, unless you are upgrading, you are presented with a table of other available partitions. Choose the appropriate partitions and EDIT to indicate which partitions will be used for which directories. If you have more than one partition for the Linux installation, now is the time to designate those as well.
  4. Next, a list of software categories to install is presented, followed by a chance to customize which software packages from each category are to be installed. If you have not installed Red Hat or other distributions of Linux before, simply choose the category of software to install and let the setup program install the defaults for each category. If you need a package that wasn't installed originally, you can always install it later. While the software is installing, you will see a progress indicator and you should get a cup or two of coffee. Installation can take thirty minutes to an hour or more, depending on software choices and hardware configuration.
  5. After the software installation is done, you will be asked to configure your mouse. A discussion mouse protocols and devices starts on page gif.
  6. Next is the X Window System configuration. It is recommend you wait until after you boot your system for the first time to configure X. If something goes wrong with the X configuration, you may need to start the installation procedure from the beginning if the Installation Program isn't able to recover.
  7. If you do not have an Ethernet card, do not configure your network at this time. If you have a network card and didn't configure it earlier, you should configure it now. Configuration for a dialup network should be done after the installation is complete.
  8. Next, you need to configure the system clock. UTC is a good choice if you are on a network and want daylight savings time handled properly. Local Time is okay if the computer is a stand-alone machine.
  9. If you do not have a US keyboard, you will need specify the configuration for your keyboard.
  10. You are prompted for the root system password. Don't forget it. Recovering the password is not a trivial matter. You will need the password to access the system when you first reboot.
  11. Finally, you will be asked to configure LILO.

If you have not installed a root partition that begins and ends between cylinder 0-1023, Do not install LILO. When you reboot the system for the first time, if LILO does not allow you to boot your system correctly, use the Emergency MS-DOS and Windows 95 boot diskette and, at A:\> enter FDISK /mbr. This allows your system to boot into an existing MS-DOS or Windows 95 system as it did before LILO was installed. You can then use the Red Hat Boot diskette with the following parameters at the boot: prompt to boot your system on the hard drive:


tscreen1493

Where xxxx is the root partition.

After the installation procedure is complet, you are ready to reboot your system and use Linux.

2.4.12 After installation.

Now that you have installed Linux and booted your system for the first time, there are some useful things to know about using your system

Understanding the LILO prompt.

When you power up or reboot the system, you may see the LILO prompt, which you hopefully configured for a 30-second or so delay before it boots the system. When LILO appears on the screen, if you do nothing, the default operating system will boot at the prescribed timeout period. However, from LILO, you can control several aspects of how Linux boots, or tell LILO to boot an alternative operating system. If you wish to override the default behavior of LILO, pressing the Shift key at the appearance of LILO will cause a ``boot:'' prompt to appear. Pressing Tab at this prompt will produce a list of available operating systems:


tscreen1501

This tells us that ``dos'' is the default operating system, which will boot if nothing is typed; to boot Linux, type `` linux''. However, LILO lets you pass parameters to the Linux kernel which override the default behavior. For example, you may have been experimenting with start-up configuration files and did something to prevent the system from coming up properly. If so, you want to boot the system up to the point where it reads the configuration files and no further . The override for this is ``single'':


tscreen1506
boots the system in single user mode so you can take corrective action. This is also useful if your system doesn't boot all the way to the login: prompt for some reason.

Logging in the first time.

Now that you are faced with the login: prompt for the first time, you may be wondering how to get into the system. At this point on a newly installed system, there is only one account to log in to--the administrative account, ``root''. This account is used to manage your system and do things like configure the system, add and remove users, software, and so on. To login into the account, enter ``root'' at the login: prompt and press Enter. You are aked for the password you entered during installation. Enter that password at the password: prompt. The system prompt [root@locahost] # appears after you have successfully negotiated the login. The system prompt tells you two things: you are logged in as root, and in this case, your machine is called localhost. If you named your machine during the installation process, your host name will appear instead of localhost.

 

2.5 Caldera OpenLinux

caldera-installation

This section on Caldera OpenLinux was written by Evan Leibovitch.

This section is intended to be a complement to the Getting Started Guides that Caldera ships with all of its Linux-based products. References to the Getting Started Guide for Caldera Open Linux Base is indicated throughout this section as ``the Guide''.

2.5.1 Obtaining Caldera OpenLinux.

Unlike most other Linux distributions, Caldera OpenLinux is not available for downloading from the Internet, nor can it be distributed freely, nor passed around. This is because of the commercial packages which are part of COL; while most of the components of COL are under the GNU Public License, the commercial components, such as Looking Glass and Metro-X, are not. In the list of packages included on the COL media starting on page 196 of the Guide, the commercial packages are noted by an asterisk.

COL is available directly from Caldera, or through a network of Partners around the world who have committed to supporting Caldera products. These Partners can usually provide professional assistance, configuration and training for Caldera users. For a current list of Partners, check the Caldera web site.

2.5.2 Preparing to install Caldera OpenLinux.

Caldera supports the same hardware as any other release based on Linux 2.0 kernels. Appendix A of the Guide lists mosts of the SCSI hosts supported and configuration parameters necessary for many hardware combinations.

Caldera's Guide provides an installation worksheet that assists you in having at hand all the details of your system that you'll need for installation. It is highly recommended you complete this before starting installation; while some parameters, such as setting up your network, are not required for installation, doing it all at one time is usually far easier than having to come back to it. Sometimes this can't be avoided, but do as much at installation time as possible.

2.5.3 Creating boot/modules floppies.

The COL distribution does not come with the floppy disks required for installation. There are two floppies involved; one is used for booting, and the other is a ``modules'' disk which contains many hardware drivers.

While the Guide recommends that you create the floppies by copying them from the CD-ROM, it is better to get newer versions of the disks from the Caldera web site. The floppy images on older CD-ROMs have errors that cause problems, especially with installations using SCSI disks and large partitions.

To get newer versions of the floppy images, download them from Caldera's FTP site. In directory pub/col-1.0/updates/Helsinki, you'll find a bunch of numbered directories. Check out the directories in descending order--that will make sure you get the latest versions.

If you find one of these directories has a subdirectory called bootdisk, the contents of that directory are what you want.

You should find two files:


tscreen1532
The XXX is replaced by the version number of the disk images. At the time of writing, the current images are 034 and located in the 001 directory.

After you have these images, transfer them onto two floppies as described for generic installations on page gif, using the MS-DOS program RAWRITE.EXE from the Caldera CD-ROM or dd from a Linux system.

Caldera's CD-ROM is bootable if your system's BIOS allows it, but use the downloaded floppies if possible. They are newer and will contain bug-fixes that won't be in the CD versions.

2.5.4 Preparing the hard disks.

This procedure is no different than other Linux distributions. You must use fdisk on your booted hard disk to allocate at least two Linux partitions, one for the swap area and one for the root file system. If you are planning to make your system dual-boot COL with another operating system, like Microsoft Windows, MS-DOS, or OS/2, it's usually preferable to install COL last. The Linux fdisk programs recognizes ``foreign'' OS types better than the disk partitioning tools of most other operating systems.

To run the Linux fdisk, you must start your system with the boot (and maybe the modules) floppy described above. You must tell COL what kind of disk and disk controller you have. You can't even get as far as entering fdisk if Linux doesn't recognize your hard disk!

To do this, follow the bootup instructions in the Guide, from step 2 on pages 33-36. Don't bother going through the installation or detection of CDROMs or network cards at this time; all that matters at this point is that Linux ``sees'' the boot hard disk so you can partition it with fdisk. A brief description of the use of the Linux fdisk is provided on page 28 of the Guide.

Remember that when running fdisk, you need to set up both your root file system as Linux Native (type 83) and your Swap space (type 82) as new partitions. A brief discussion of how much swap space to allocate is offered on page 10 of the Guide.

As soon as you have allocated the partitions and written the partition table information to make it permanent, you must reboot.

2.6 Slackware

 

       

This section on Linux Slackware was written by Sean Dreilinger.

2.6.1 Slackware is not for you. (Or maybe it is.)

Welcome to the Slackware distribution of Linux! This section aims to help the new Linux user or administrator evaluate Slackware, plan a Slackware system, and install Slackware Linux.

Whether or not to choose Slackware as the flavor of Linux you will use is a serious consideration. It may seem like a trivial decision now, but Linux boxes have a way of taking on more and more responsibility in organizational computing environments. Plenty of Linux experiments have evolved in their first year to become mission-critical machines serving many more users and purposes than originally intended. Slackware is one of the most widely used distributions of Linux. When it comes to finding the newest, easiest, or most carefully planned distribution of Linux, Slackware may be ``none of the above''. Some background on the life and times of Slackware put things into perspective.

2.6.2 A quick history.

In 1993, Soft Landing System created one of the first organized distributions of Linux. Although it was a great start, the SLS distribution had many shortcomings (it didn't exactly work, for starters). Slackware, a godsend from Patrick Volkerding, solved most of these issues, was mirrored via FTP and pressed onto CD-ROMs worldwide, and quickly became the most widely used flavor of Linux. For a while, Slackware was the only full featured Linux ``solution.'' Other Linux distribution maintainers, both commercial and nonprofit, have gradually developed distributions that are also well worth your consideration.

By January 1994, Slackware had achieved such widespread use that it earned a popular notoriety normally reserved for rock stars and cult leaders. Gossip spread through the Usenet suggesting that the entire Slackware project was the work of witches and devil-worshippers!

``Linux, the free OS....except for your SOUL! MOUHAHAHAHA!''


tscreen1562


tscreen1564

2.6.3 Why, then?

If you are a system administrator, you may already be dealing with one or more key servers running Slackware. Unless you have time to experiment at work, sticking to the tried-and-true distribution may be the easiest way to go. If you expect to get help from UNIX literate friends and colleagues, you had better make sure they're running something compatible--odds are they're running Slackware. Its shortcomings are widely acknowledged, for the most part discovered, documented, and patched whenever possible. You can put together a Slackware box, close the known security holes, and install some complementary tools from the other Linux distributions to create an excellent UNIX server or desktop workstation, all in about half a day.

Have a look also at the Buyer's Guide published in the Linux Journal, which gives a thorough comparison and evaluation of each major distribution. For a straightforward listing of Linux flavors, have a look at the Linux Distribution HOWTO (see Appendix A).

2.6.4 Upgrade? Think twice!


tscreen1570

One thing we don't hear too often with Slackware is the U-word. Slackware's setup program is designed to put a fresh operating system onto empty hard disks or empty disk partitions. Installing on top of a previous Slackware installation can erase your custom applications and cause compatibility problems between updated applications and older files on the same system. When Slackware was first put together, everyone was a first-time Linux user, and the system was always experimental--reinstalling the entire operating system and applications was the norm in a developmental system. Today, many institutions and businesses run mission-critical applications on Slackware Linux. In such environment, a simple reboot is a planned activity and taking down the system and overwriting all the user files or custom applications is absolutely unacceptable.

Teaching you how to finagle a Slackware upgrade is beyond the scope of this chapter, but it is workable if you are an experienced UNIX administrator and you've taken precautions to preserve your local modifications and user files. There is an Internet resource that claims to analyze your distribution and bring it up to date across the Internet. you might want to have a look at this URL if you're facing an upgrade situation:


tscreen1572

Or read, weep, and learn from the upgrade expertise of Greg Louis in his mini HOWTO document: Upgrading Your Linux Distribution available where finer LDP publications are mirrored:


tscreen1575

2.6.5 Select an installation method.

Slackware can be installed from a variety of media and network sources to fit your needs and budget. Every installation method requires you to have at least three floppy diskettes available to get started.

CD-ROM.

Installation from CD-ROM is fast, popular, and convenient. Although someone has to break down and pay for the initial purchase of a CD-ROM, sharing CD's is encouraged. Because Linux and the Slackware distribution are copylefted, you may make as many copies as you like. CD-ROM installation is also a bit better practice in terms of netiquette, since you're not hogging bandwidth for an all-day FTP transfer. Finally, you may be grateful for the extra utilities and documentation that accompany the CD-ROM, especially if you run into installation hassles or need to add components in the future.

Party!

If you're a hobbyist (or want to watch a few dozen Slackware installs before taking on the task at work), see if there is a LUG (Linux User Group) in your area that sponsors install parties. Imagine a roomful of generous and knowledgeable hackers uniting to share CD-ROMs and expertise with other enthusiasts.

FTP.

Once you transfer Slackware from the closest possible FTP mirror, you'll still need to put the Slackware 'disk sets' onto installation media such as a hard drive partition or laboriously copy them onto 50-odd floppy diskettes.

NFS.

In a networked environment, it is possible to install Slackware on a shared file system and allow everyone on the Local net to attach to this shared location and install. If you have the technical know-how or a geeked out system administrator who is Linux-literate, this is a great way to go. The initial distribution of Slackware can be added to the network via CD-ROM, FTP, Loading floppies, tape, or even via a remote NFS share across the Internet! For details on such a remote share, see these URLs:


tscreen1583

Floppy.

It's time consuming, but it works--you can create the pile of floppies needed to install Slackware and then feed them into your box one-by-one when prompted. Slackware ``disk sets'' are actually designed and arranged to fit floppy diskettes. If you happen to have a huge stack of recycled, high-density floppy diskettes at your disposal, this can be the most economical way to go.

Hard disk.

This is the way to do it if you've transferred the Slackware distribution across the Internet via FTP--you'll escape the floppy trap by merely creating boot, root, and rescue diskettes. It requires you to have an extra disk or disk partition with extra space to hold the Slackware files during installation (you can erase them afterwards). Installation from the hard drive is also a workaround if you bought the CD but your CD-ROM drive is not supported by any of the Linux kernels