The Linux system is attractive because it offers a UNIX workstation environment that works even on old PCs. The hardware requirements are not very demanding, unless you want to get into application development and extensive GUI use. This chapter looks at the basic hardware necessary for Linux installation. The minimum requirements are discussed, as is support for most peripherals. Expanding your system with new hardware is covered later in this book.
Because Linux was mostly developed by PC users, the hardware support built into the operating system is fairly typical for a PC. Few esoteric devices have Linux drivers, unless a programmer took the time to write one for himself and then release it to the Linux community. Few third-party vendors offer hardware accessories (such as multiport boards) for Linux either, although this situation is slowly changing as Linux becomes widespread.
The minimum realistic system requirements for Linux are a motherboard with an 80386SX processor or better, 2M of RAM or more, a floppy disk drive, a hard drive with 40M or more, and a video card and monitor. Most user's systems exceed these requirements. The following sections examine the hardware requirements for a Linux system in a little more detail.
The hardware required to set up a Linux system mirrors a typical PC installation. It starts with the motherboard, which should be an Intel 80386 or better (or use one of the Intel workalikes like AMD or Cyrix). Remarkably, Linux will even run on a slow 80386SX, although slow is the operative word. For application development work, though, an 80486DX or better is recommended due to the high CPU usage of the compiler and linker. The same recommendation applies to X users because X is a notorious CPU hog. You can compile applications on an 80386, just as you can run X on one, but the performance can sometimes deteriorate to the point of annoyance. For a realistic system running X and application developments, consider a fast 80486DX (50MHz at least) or a Pentium.
Linux use a floating-point unit or FPU (also called a math co-processor, although the two terms do not refer to exactly the same thing) if you have one. FPUs are built into the 80486DX and Pentium series chips. If an FPU is not installed, Linux will provide a memory-based emulator that has reasonable performance. Either Intel or workalike add-on FPUs are supported, although some problems have been reported with Weitek FPUs.
Linux supports both ISA (Industry Standard Architecture) and EISA (Extended Industry Standard Architecture) motherboards, but doesn't support MCA (IBM's MicroChannel Architecture) at the present time. Linux also supports VESA local bus motherboards, which give peripheral cards direct access to the motherboard components.
RAM requirements vary depending on the size of the Linux system you want to run. A minimum Linux system runs quite well with 2M, although a great deal of swapping is involved. Consider 4M of RAM an effective minimum, with more memory resulting in faster performance. For development work and X users, 8M is a good working minimum (although X can function with 4M, albeit with a lot of swapping).
Linux systems that have more than one user should increase the amount of RAM. The usage dictates the amount of RAM required. For example, 8M easily supports two users, even if both are running X. With a third-party multiport board supporting eight users, 16M RAM is a good choice, although the users cannot run X with this configuration. For X users, a good rule of thumb is 4M per user minimum, unless the Linux machine can offload the X processing to the user's machine in a client-server layout. (Linux doesn't have this capability at the moment, but it is being developed).
Linux uses all the available RAM in your machine. It does not impose any architectural limitations on memory as DOS and some other operating systems do. Any available memory is completely used. To extend the amount of physical RAM on the system, a Linux swap partition, called a swap space, is recommended. The swap space is used as a slower extension of actual memory, where data can be exchanged with physical RAM. Even RAM-heavy systems should have a swap space. The size of the swap space depends on the amount of RAM on the system, the number of users, and the typical usage.
Table 2.1 shows a general guideline for determining the amount of RAM your system should have. Begin by using the first column to determine which conditions are likely to exist on your system (such as running X, running larger applications, or adding users), and then move across to the minimum, recommended, and best performance columns. Consider any program that uses a lot of RAM such as a word processor (not a line editor like vi), a database, a spreadsheet program, or a desktop publishing system to be a large application. Large applications also include video players, some sound editors, and similar multimedia applications. The Development System entry is if you plan to do a lot of programming, including X application development.
When you have identified all the conditions you will encounter, add the RAM requirements for each condition down the column. For example, if you are going to run a system with frequent use of a compiler (large application), X, and run an Internet WWW and FTP server for a minimum system you would need 6M RAM. A minimum system runs slowly with lots of disk swapping. A system with the recommended amount of RAM is a balance between RAM usage and performance, and the best performance column minimizes swapping as much as possible. Remember that these numbers are only guidelines. You can never have too much RAM.
Condition | Minimum | Recommended | Best Performance |
Kernel and basic operation | 2M | 4M | 4M |
Large applications and compilers | 1M | 2M | 2M |
X | 2M | 4M | 4M |
Additional character-based | .5M | .5M | 1M |
users (per user) | |||
Additional X users | 2M | 4M | 4M |
Development system | 2M | 2M | 4M |
Internet Server(FTP, WWW, WAIS, or Gopher server) | 1M | 2M | 4M |
Although Linux can run completely from a floppy disk with no hard disk, running it this way doesn't offer a useful environment. Linux is designed primarily for hard disk use, and supports all the common hard disk controller systems including IDE (Integrated Drive Electronics), EIDE (Extended Integrated Drive Electronics), ESDI (Enhanced Small Device Interface), RLL (Run Length Limited), and SCSI (Small Computer System Interface). Linux supports the older 8-bit original PC controllers, although most controllers are 16-bit AT designs.
Linux is not choosy about the manufacturer and type of hard disk. As a rule, if DOS can handle the drive, so can Linux. This rule applies to all drives except SCSI drives, which require special handling. Linux still is restricted by most PC BIOS versions that impose limitations on the number of sectors, heads, and cylinders, however. There is an effective 1,024M size limit on drives with some older versions of Linux, and even some smaller drives can't be handled properly by Linux or DOS because of the BIOS. More recent versions of the operating system can overcome some of these limitations. The version of Linux on the CD-ROM accompanying this book, for example, can use disk space over the 1G limit.
Linux supports most standard SCSI devices, but not all of the many different SCSI controllers and protocols on the market work well with Linux. Linux does support the most common SCSI controllers, though. Some other controllers are supported with enhanced BIOS chips on the PC motherboard. A size limitation on the SCSI drives is still imposed by the BIOS of many early versions of Linux, so a 2G drive will only have 1G available to Linux and DOS. Other UNIX systems, like SCO UNIX, can use the rest of the drive. Later versions of Linux (mostly any kernel from version 1.1 and on) can use more than 1G of disk space on SCSI drives.
The size of disk space required by Linux depends on the parts of the operating system that are installed. A minimum effective system is 20M, which gives enough room for the basic utilities but not X. To load the entire basic Linux system, including development tools and X, provide at least 150M just for the files. Then add whatever space is required for your personal files and temporary storage for Linux. A good rule of thumb is to double the space requirements. In addition to the user space, remember to leave room for the swap space. Although the swap space size depends on what the system is used for, a good number to use is 16M.
You can use more than one drive, although you should place a bootable root Linux partition on the first drive. You also must load DOS on the first drive, although you can place partitions on other drives. The number of drives supported depend on the drive controller and BIOS. IDE systems are usually limited to two drives, but EIDE systems can handle four drives (two drives off two controllers). ESDI and RLL controllers are usually limited to two drives. SCSI controllers can handle up to seven drives per controller, and a single system can contain several controllers. SCSI is the most versatile (and also the most expensive) system.
Because hard disks are now inexpensive, obtaining large-capacity drives is relatively easy. Linux can share a disk with up to three other operating systems (more with a few tricks), so if you plan to load DOS and Linux, for example, allocate enough drive space for both operating systems.
Linux can use almost any video card that works without special drivers under DOS, including CGA, EGA, VGA, Super VGA, and Hercules video cards. Linux also supports some enhanced resolution cards, such as the Cirrus Logic, Diamond, ATI, and Trident cards. Because hundreds of video cards are available for DOS, though, not all of the available cards have drivers for Linux. Because most cards support default VGA and SVGA modes, you can use these modes in almost every case.
X can use the bitmap capabilities of a high-resolution card, although X can run on a VGA or SVGA system as well. If you are using a specialty card designed for Windows, for example, make sure that a video driver is available for Linux.
Linux doesn't use the mouse for character-based sessions, but it is necessary for X. Linux handles practically every type of mouse and trackball that has DOS drivers, including Microsoft, Logitech, and Mouse Systems. Linux supports both bus and serial mouses.
Linux also supports some other pointing devices, including joysticks and pen systems used for cursor movement. Some systems use a pointer pad that you can drag either your finger or a stylus across; these systems work with Linux as long as they have drivers that emulate a mouse (which most do). Finally, some touch-screens also work with Linux.
Your Linux system can use any SCSI tape drive that has a controller recognized by Linux. Other tape drives use a proprietary interface that requires a dedicated hardware card. In most cases, if the IRQ, DMA, and memory address can be configured into Linux, the tape drive should be accessible. For example, you can use some older UNIX-style tape drives, such as those made by Wangtek and Archive, under Linux even though they have a proprietary board controlling them.
Some smaller QIC (Quarter Inch Cartridge) drives are becoming popular in DOS, driven either by the floppy controller card or the parallel port. Drivers for some of these tape drives are available for Linux, although not all of these tape drives are supported. Because many of these small QIC drives rely on proprietary compression schemes to boost data density on tapes, you may not be able to write more than the raw cartridge capacity to these drives. In general, if the QIC driver runs off the floppy disk controller card and is compatible with QIC-40 or QIC-80, it will work with Linux. QIC drives that run off the parallel port do not have a driver for Linux at this time.
Because most CD-ROMs use a SCSI interface, you need either a SCSI controller card or an interface on another card, such as a sound board. Linux recognizes and supports SCSI-based CD-ROMs as long as their SCSI controller cards are recognized. If the SCSI port is on a sound board, a special driver may be required. Some IDE CD-ROMs are also available; a driver is needed for them (some drivers are included with Linux). In addition, some proprietary CD-ROM drivers, such as those found on Sound Blaster sound boards, are supported with later versions of Linux. Check the supproted hardware list available with each kernel release for a complete catalog of all supported CD-ROM drives. In general, the higher the kernel release number, the more likely a CD-ROM will be supported.
Linux can't read all formats of CD-ROMs. At the present it handles only ISO-9660 format filesystems. Although ISO-9660 is widely used, not all CD-ROMs are written using it, so don't be surprised if a DOS or Macintosh CD-ROM can't be mounted properly. Some UNIX CD-ROMs are written with proprietary formats or with Rock Ridge extensions (which allow long filenames). These CD-ROMs are usually not compatible with Linux's requirements.
Removable media support in Linux depends on the type of interface the media uses. Most SCSI-based systems can be used, although the changing of media while a filesystem is loaded is seldom properly supported. Iomega's Bernoulli systems and LaserSafe Pro magneto-optical cartridge systems can all be used with Linux without special drivers, as long as the cartridges can be formatted under DOS. Some other magneto-optical and removable magnetic media systems will also function properly.
Some removable media, especially those which do not use SCSI but rely on a dedicated hardware card, require special drivers. The very limited support in Linux for these devices is mostly provided by programmers who have written a driver for their own use and then made it public domain. No commercial removable media vendors are offering Linux-specific drivers at the moment, although this situation should change as Linux becomes widespread.
Parallel and serial port printers are widely supported as dumb lineprinter devices. Although some drivers are available for specific popular printers, such as the Hewlett Packard LaserJets and DeskJets, many printers do not have dedicated drivers yet. If no driver exists for your printer, it will behave as an ASCII-only device.
There is no support at present for color printers, either laser, inkjet, or bubble-jet. A driver should be available for the most popular color printer models in the near future. Check the FTP and BBS sites (or the Linux WWW home pages) for more information.
Linux supports most serial asynchronous modems, as well as some synchronous modems. Support for ISDN modems is being developed as well. As a general rule, Linux can use any modem that DOS can use. Linux supports all baud rates, including the newer compression schemes, with some driver installation. More than one modem is supported on the system. Indeed, you can hang as many modems off a Linux system as you have serial ports.
Linux supports character-based terminals connected through a serial port or a multiport card. You can use most existing character-based terminals, and you can add any terminal for which you have the control codes. Graphics terminals, in the UNIX sense, use simple ASCII graphic characters and are not X-capable.
Some versions of Linux support X terminals, although not all X terminals work properly. X terminals typically need a very high-speed connection to properly display graphics (either through a serial port or from a network). A PC running X client software can function as an X terminal as well.
Some UNIX-based multiport cards will work with Linux, as the vendor or users have released drivers. Before purchasing a multiport card, check the availability of drivers. Some multiport cards offer expansion parallel ports as well as serial ports, and these will also need drivers.
You can connect some multiport cards through a SCSI controller card instead of building them as dedicated cards that plug into expansion slots. Even SCSI-based expansion cards will need a driver for Linux to use them properly.
Because Linux is a UNIX system, its primary network protocol is TCP/IP. Other protocols can be used with Linux, but TCP/IP is the most widely used because it is included with each Linux software package and is the default network protocol. TCP/IP's role as the protocol of the Internet also makes it popular.
TCP/IP is usually used over Ethernet networks, so most of Linux's networking systems are designed around Ethernet. Many Ethernet network interface cards (NICs, also called network adapters) are available. The most popular Ethernet cards from 3Com, Novell, Western Digital, Hewlett Packard, and Intel all work cleanly with Linux. Many compatible Ethernet NICs from other vendors also function properly.
Linux is freely available if you know where to look. Because Linux is distributed without a central organization controlling it (as with commercial UNIX versions), no single party is responsible for keeping Linux readily and easily available. You have to find a source and make sure the version you receive has all the components, is recent, and is relatively stable. Most distribution sources have the same releases available.
You can obtain a copy of Linux in several ways; use whichever method is most convenient or economical, depending on your priorities. The most common method of obtaining a complete set of Linux binaries and utilities is through a CD-ROM. Alternatives include FTP sites and BBSs (bulletin board systems). You can also get a copy mailed to you.
The method by which you obtain Linux also dictates to some extent how complete the distribution will be. CD-ROM versions, for example, usually have every piece of Linux software available included on the disk; in contrast, some BBSs and FTP sites only offer a small distribution that is enough to install and use as a basic system. The small systems, for example, may not include the language compilers and X software.
Almost a dozen CD-ROM based distributions of Linux are available. They differ in the version that is included on the disk, their organization, and the value-added features they have, such as new installation documents and utilities as well as supporting printed manuals. Of course, you also need a CD-ROM drive on your machine that will work with Linux. Don't assume that any non-SCSI CD-ROM drive will workmany of them won't!
The version you obtain should have a recent release of the Linux software (compare version numbers among CD-ROMs) as well as a complete set of accompanying utilities. It can be hard to identify the contents from the sparse identification on the cover of some CD-ROM collections, so you may find yourself unwittingly purchasing outdated material. Luckily, the CD-ROMs tend to be inexpensive. The CD-ROM included at the back of this book provides one of the most recent versions of Linux, along with many of the utilities and source libraries. With this CD-ROM, you won't need to buy another version until you want to upgrade to a later kernel.
A few vendors have dressed up their Linux collections with added utilities or boot disks that make installation much easier. The addition of precompiled games, applications, and user utilities makes these CD-ROMs a little more attractive. Some CD-ROMs also include an accompanying manual. For the most part, these manuals are simply printed versions of files on the CD-ROM, although some vendors have taken the time to write very readable instructions for Linux. If you are a newcomer to Linux, this type of document can be very useful.
File Transfer Protocol (FTP) is a widely used Internet protocol (part of the TCP/IP family) that lets you transfer files from remote machines. Several anonymous FTP sites distribute Linux software. (Anonymous means you don't need an account on the remote machine to access the files; you log in as guest or anonymous and use your name or login as a password.) If you have access to the Internet, either directly or through an on-line service provider such as CompuServe, Delphi, or America Online, you can access the Linux distribution sites.
To use FTP, you must be on a machine that supports TCP/IP. This can be your existing PC running a DOS or Windows package that gives you FTP capabilities or a UNIX or Linux workstation that is connected to an Internet service. Both ends of an FTP connection must be running a program that provides FTP services. To download a file from a remote system, you must start your FTP software and instruct it to connect to the FTP software running on the remote machine.
The Internet has many FTP archive sites. These machines are designed to allow anyone to connect to them and download software. In many cases, FTP archive sites mirror each other so that they have exactly the same software. You connect to the site that is easiest to get to. See the section in this chapter called "Linux FTP Archive Sites" for more information.
Using FTP to connect to a Linux FTP site is quite easy (assuming you have access to the Internet, of course). You must start FTP with the name of the remote system to which you want to connect. If you are directly connected to the Internet, enter the ftp command with the name of the remote site as shown in the following example:
ftp sunsite.unc.edu
If you are using an on-line service such as CompuServe of Delphi, you must access their Internet service and invoke FTP from there. Most on-line services let you to enter the name of the FTP site at a prompt.
When you issue the ftp command, your system attempts to connect to the remote machine. When it completes the connection successfully, the remote machine prompts you for a user ID. You must have a valid user ID and password for that system unless it supports anonymous FTP (which all Linux FTP sites do). If anonymous FTP is supported on the remote system, a message usually tells you that when you first connect.
The following login is for the Linux FTP archive site sunsite.unc.edu, one of the most popular sites:
ftp sunsite.unc.edu 331 Guest login ok, send your complete e-mail address as password. Enter username (default: anonymous): anonymous Enter password [tparker@tpci.com]: |FTP| Open 230- WELCOME to UNC and SUN's anonymous ftp server 230- University of North Carolina 230- Office FOR Information Technology 230- SunSITE.unc.edu 230 Guest login ok, access restrictions apply. FTP>
The login for an anonymous FTP site is usually guest or anonymous. The login message usually tells you which is used, or you can try both. The remote machine will prompt you for a password in most cases. You don't have to supply one with some systems, and others ask for your user name or ID. This information is used for tracking purposes only and has no security problems associated with it (unless you don't have a password on your account!).
After the login process is finished, you see the prompt FTP>. This prompt indicates that the system is ready to accept FTP commands. Some systems display a short message when you log in that may contain instructions for downloading files as well as any restrictions that are placed on you as an anonymous FTP user. Other information may be displayed about the location of useful files. For example, you may see messages like this one from the FTP site sunsite.unc.edu:
To get a binary file, type: BINARY and then: GET "File.Name" newfilename To get a text file, type: ASCII and then: GET "File.Name" newfilename Names MUST match upper, lower case exactly. Use the "quotes" as shown. To get a directory, type: DIR. To change directory, type: CD "Dir.Name" To read a short text file, type: GET "File.Name" TT For more, type HELP or see FAQ in gopher. To quit, type EXIT or Control-Z. 230- If you email to info@sunsite.unc.edu you will be sent help information 230- about how to use the different services sunsite provides. 230- We use the Wuarchive experimental ftpd. if you "get" <directory>.tar.Z 230- or <file>.Z it will compress and/or tar it on the fly. Using ".gz" instead 230- of ".Z" will use the GNU zip (/pub/gnu/gzip*) instead, a superior 230- compression method.
Once you are on the remote system, you can use Linux (UNIX) commands to display file contents and move around directories. To display the contents of a directory, use the command ls or the DOS equivalent dir. To change to a subdirectory, use the cd <dir> command. To return to the parent directory (the one above the current directory), use the command cd ... Unlike Linux, no keyboard shortcuts are available with FTP so you will have to type in the name of files or directories in their entirety (and correctly).
When you have moved through the directories and found a file you want to move back to your system, use the FTP get command, as shown in the following code:
get "file1.txt"
Although quotation marks around filenames are optional for most versions of FTP, they do provide specific characters to the remote version, thereby preventing shell expansion. Using quotation marks can prevent accidental transfers of many files instead of just one or error messages from FTP.
The commands get (download) and put (upload) are relative to your home machine, not to the remote. When you issue a get command, you are telling your system's FTP software to get a file from the remote machine. A put command tells FTP to put a file from your local machine onto the remote machine. Remember which command moves in which direction, or you could overwrite files accidentally.
When you issue a get command, the remote system transfers data to your local machine and displays a status message when it is completed. There is no indication of progress during transmission of a large file, so be patient. The following is a sample transcript of a get command:
FTP> get "file1.txt" 200 PORT command successful. 150 BINARY data connection for FILE1.TXT (27534 bytes) 226 BINARY Transfer complete. 27534 bytes received in 2.35 seconds (12 Kbytes/s).
FTP provides two modes of file transfer: ASCII (seven-bit characters) and Binary (eight-bit characters). Some systems automatically switch between the two, although it is a good idea to manually set the mode to ensure that you don't waste time. You must download all Linux distribution files in Binary mode. To set FTP in Binary transfer mode (for any executable file), type the command binary. You can toggle back to ASCII mode with the command ASCII. If you transfer a binary file in ASCII mode, it will not be executable. Transferring an ASCII file in Binary mode does not affect the contents of the file, so Binary is a good default transfer mode.
Bear in mind that the Linux archives are quite sizable, and transferring even a small distribution can take a while with asynchronous modems. If you use a slow modem (9,600 baud or less), you may want to consider an alternate method as you will have to stay connected for many hours. Some remote sites limit the amount of time you can stay connected. To quit FTP, type the command quit or exit. Both commands will close your session on the remote machine. Then terminate FTP on your local machine.
The list of Linux FTP archive sites changes slowly, but the sites listed in this section were all valid and reachable when this book was written. Many of these sites are mirror sites, providing exactly the same contents. You can find the site nearest you by looking at the country identifier at the end of the site name (uk=United Kingdom, fr=France, and so on). If no country identifier is used, the site is most probably in the U.S. With most versions of FTP, you can use either the site name or the IP address, although the IP address is the best addressing method if the local Internet gateway cannot resolve the site name. Make sure you enter the four components of the IP address correctly.
The primary sites (also called home sites) for the Linux FTP archives are tsx-11.mit.edu, sunsite.unc.edu, and nic.funet.fi. Home sites are where most of the new software loads begin. The majority of sites in the following list mirror one of these three sites. If you encounter difficulties connecting to a site, try another. If difficulties persist, there may be a problem with your access to the Internet.
Site name | IP Address | Directory |
tsx-11.mit.edu | 18.172.1.2 | /pub/linux |
sunsite.unc.edu | 152.2.22.81 | /pub/Linux |
nic.funet.fi(Finland) | 128.214.6.100 | /pub/OS/Linux |
ftp.mcc.ac.uk(U.K.) | 130.88.200.7 | /pub/linux |
fgbl.fgb.mw.tu-muenchen.de(Denmark) | 129.187.200.1 | /pub/linux |
ftp.infdrrnatik.twmuenchen.de(Denmark) | 131.159.0.110 | /pub/Linux |
ftp.dfv.rwth-aachen.de(Denmark) | 137.226.4.105 | /pub/linux |
ftp.informatik.rwth-aachen.de(Denmark) | 137.226.112.172 | /pub/Linux |
ftp.ibp.fr(France) | 132.227.60.2 | /pub/linux |
kirk.bu.oz.au(Australia) | 131.244.1.1 | /pub/OS/Linux |
ftp.uu.net | 137.39.1.9 | /systems/unix/linux |
wuarchive.wustl.edu | 128.252.135.4 | /systems/linux |
ftp.win.tue.nl | 131.155.70.100 | /pub/linux |
ftp.stack.urc.tue.nl | 131.155.2.71 | /pub/linux |
ftp.ibr.cs.tu-bs.de | 134.169.34.15 | /pub/os/linux |
ftp.denet.dk | 129.142.6.74 | /pub/OS/linux |
If you know how to use the World Wide Web (WWW) and have access to a Web server, you can obtain a copy of Linux from several Web sites, including those shown in Chapter 1. The primary FTP site offers Web access through the following URL:
http://sunsite.unc.edu/mdw/linux.html
Figure 2.1 shows the page on sunsite.unc.edu that enables you to download software through the World Wide Web browser. From this page, you can download new Linux source code and binaries. You can use any Web client software, such as Mosaic or Netscape, to access the Web site and use the menu-driven system to download a copy of the Linux files. The Web site also offers a documentation page.
Figure 2.1.
The sunsite.unc.edu site is the primary source for Linux software.
If you don't have access to a Linux distribution site to FTP the software, you can still get the files transferred to you if you have a e-mail system that can reach a Linux site. This method is an alternative for those using on-line systems that allow Internet mail but do not allow direct access to FTP and those using some corporate systems that do not allow you to dial out directly to reach FTP sites but can transfer e-mail.
To get Linux by e-mail from an FTP site, use the site's ftpmail utility. All of the sites mentioned in the previous Linux FTP site list support ftpmail. To get complete instructions on using ftpmail, send an e-mail message to ftpmail login at one of the sites (for example, address your e-mail to ftpmail@sunsite.unc.edu). The body of the e-mail message should have only the word help in it. Any other comments may cause the ftpmail utility to incorrectly process your request. For this reason, you may want to suppress any signature files that are appended to your e-mail automatically.
Upon receiving your request, ftpmail sends you instructions for using the service. In most cases, you embed the FTP commands you want executed at the remote site as the body of your mail message. For example, to get a directory listing of the Linux directory, send a mail message with the following body:
open sunsite.unc.edu cd /pub/Linux ls quit
The ftpmail utility at the remote site processes the commands as if they were typed directly into FTP. To transfer a file to yourself through e-mail, you could send the following mail message:
open sunsite.unc.edu cd /pub/Linux binary get README quit
This message sends you the file README back through e-mail. The ftpmail system is slower than FTP because you must wait for the e-mail to make its way to the target machine, be processed by the remote system's ftpmail utility, format a reply, and send the return message back to you. Still, ftpmail does provide a useful access method for those without FTP connections and an easy way to check the contents of the Linux directories on several machines without having to log in to them, which can be useful when you want to occasionally check for updates to the software.
The files you want to transfer may exceed your mail system's maximum file size limits. Some mail systems will break the files into smaller chunks and allow you to reassemble them when you receive them, but other e-mail systems impose a small size limit on e-mail, making it impractical to use ftpmail to get large files like the complete Linux software distribution.
Hundreds of BBSs around the world now provide access to the Linux distribution software and support Linux discussion groups. Some BBSs download new Linux releases regularly from the FTP home sites, while others rely on their users to update the software.
Any list of BBSs with Linux software would be lengthy and out of date quickly. The best method of obtaining this information is to request it from Zane Healy, who maintains a complete list of BBSs offering Linux material. Send e-mail requesting the Linux list to healyzh@holonet.net. If you don't have access to e-mail, try a few local bulletin board systems and post messages asking for local sites that offer Linux software, or ask someone with Internet access to post e-mail for you. Many BBSs will also have the list, although the accuracy of the list will vary.
A release is a collection of Linux software sufficient to install and run the entire operating system. The release is made up of a number of collections of software called a disk set (even though they may not come on disks). Most Linux systems have a number of disk sets included when you obtain the distribution set.
Although most of the CD-ROMs and FTP sites have the same software, a few label the disk sets differently. To illustrate the disk sets available with Linux, the following list details the current group of disk sets available with the Slackware distribution (one of the more popular CD-ROM versions of Linux and the one included with this book):
Although Disk Set A will let you install a Linux system from a floppy disk, you should have Disk Sets A, AP, D, and F for a full installation (hard disk based with standard utilities). This collection gives you a character-based Linux system. If you want to run X, you also need Disk Sets X and XAP. Programmers need to load the development disk sets (D and XD, for X applications).
This chapter examined the software and hardware that make up a Linux system. You should have hardware sufficient to run Linux before you start installing; otherwise, you will see all manner of error messages (if the system installs at all). Once you have the hardware ready and you know what software from the distribution set you are going to install, it's time to get Linux on a hard disk. The next chapter looks at the physical installation process. Chapter 4 covers LILO, the boot loader.