
- •About the Author
- •Credits
- •How This Book Is Organized
- •Part I: Linux Basics
- •Part II: Installation
- •Part III: Configuration
- •Part IV: Administration
- •Part V: Maintaining the Linux System
- •How Each Chapter Is Structured
- •How to Use This Book
- •Conventions Used in This Book
- •What is Linux?
- •The origin of UNIX
- •Who started Linux?
- •Understanding Open Source
- •Understanding Closed Source
- •Understanding Artistic License
- •Is Freeware really free?
- •Is Shareware never free?
- •A comparison and contrast of licensing methods
- •The Growth of Linux
- •Linux on a Personal Computer
- •Graphical installation
- •Hardware detection
- •Graphical user interface
- •Linux limitations on the PC
- •Linux succeeds on the PC
- •Linux on workstations
- •Linux on servers
- •Summary
- •Assessment Questions
- •Scenarios
- •Answers to Chapter Questions
- •Assessment Questions
- •Scenarios
- •Linux Kernel
- •Kernel versions
- •Kernel availability
- •Linux Distributions
- •Beehive
- •BlueCat
- •Caldera OpenLinux
- •Debian
- •Corel
- •DragonLinux
- •Elfstone
- •Gentoo
- •Hard Hat Linux
- •KRUD
- •LinuxPPC
- •Mandrake
- •Phat Linux
- •Slackware
- •StormLinux
- •SuSE
- •TurboLinux
- •Yellow Dog Linux
- •Mini and Specialty Distributions
- •Astaro
- •KYZO
- •FlightLinux
- •NetMAX
- •Packages and Packaging Solutions
- •Red Hat Package Manager
- •Debian Package Management System
- •Tarball
- •Linux Resources
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Assessment Questions
- •Scenarios
- •Linux In the Real World
- •Word Processing
- •Spreadsheets and databases
- •Web browsing
- •File transfer
- •More, more, and more applications
- •The Server and DNS
- •A Linux Web server
- •Linux e-mail server
- •File servers
- •Proxy, news, and search servers
- •FTP servers
- •Firewalls
- •Determining Linux Roles and Services
- •Comparing Linux with other operating systems
- •Hardware compatibility
- •Summary
- •Assessment Questions
- •Scenarios
- •Answers to Chapter Questions
- •Assessment Questions
- •Scenarios
- •Installing Linux
- •Final Preparations for Installation
- •Verification
- •Package selection
- •Final hardware verification
- •Pre-installation partitioning planning
- •Installing Linux
- •Text or GUI installation
- •Basic setup of Linux
- •Selecting the machine type
- •Partitioning the hard disk drive
- •Installing a boot manager
- •Creating the Boot Diskette
- •Networking
- •Additional installation information
- •Accounts and passwords
- •Additional packages to install
- •GUI installation
- •Obtaining video card information
- •Configuring the X windows system
- •Selecting the windows manager or desktop environment
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Answers to Assessment Questions
- •Scenarios
- •Alternative to the GUI Installation
- •Command Line installation
- •Install the Linux system
- •Network installations of Linux
- •Review of a Linux Installation
- •Installation media
- •Initial selections
- •Installation type or class
- •Disk partitioning and formatting
- •Installing LILO
- •Network configuration
- •User accounts
- •Authentication methods
- •Package selection and installation
- •A Dual-Boot Installation of Linux
- •Linux with Microsoft Windows
- •Linux with Microsoft Windows NT and 2000
- •Linux and Solaris
- •Linux and other operating systems
- •Installing Additional Software with gzip and tar
- •Installing Additional Software with RPM
- •Removing software with RPM
- •Upgrading software with RPM
- •Query the RPM software
- •Verify the RPM software
- •Verify the package files
- •Upgrading the Kernel
- •Upgrading a Linux Kernel
- •System Log Files
- •The Final Test of the Installation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •What is the X Window System?
- •The X Window System
- •X Client and Server communications
- •X Window Manager
- •Configuring X Window Systems
- •Custom X Window System Programs
- •Manual Configuration of the X Window System
- •Documentation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Basic Network Services
- •TCP/IP Protocol Suite
- •Connection protocols needed
- •Other network protocols
- •Configuring Basic Network Services
- •Host name
- •IP addressing
- •DHCP
- •Netmask
- •Hardware resources
- •Routing and gateways
- •PPP, SLIP and PLIP connections
- •Server Tasks with
- •IP aliases for virtual hosts
- •Apache Web Server
- •Samba File Server
- •Home directories
- •Disk shares
- •Configuring Client Services
- •SMB/CIFS
- •NIS client configuration
- •NFS client configuration
- •Configuring Internet Services
- •Web browser
- •POP and SMTP
- •TFTP
- •SNMP
- •Remote Access
- •Rlogin
- •Telnet
- •OpenSSH
- •Documentation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Adding Hardware
- •Memory
- •Swap
- •Adding a hard drive
- •Video and monitor
- •Printers
- •Configuration files
- •Setting environment variables
- •BASH
- •Documentation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Basic User and Group Administration
- •What are users and groups?
- •Creating users
- •Change user information
- •Deleting users
- •Creating groups
- •Getting Around Linux
- •Navigating Linux
- •Common file and directory commands
- •Setting File and Directory Permissions
- •Mounting and Managing File Systems
- •Mount
- •Umount
- •Mounted file systems
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Multi-User Environment
- •The creation of Virtual Consoles
- •The Linux Terminal Server Project
- •Configurations for remote systems
- •Monitoring remote connections
- •Common Shell Commands
- •Basic shell scripts
- •Caution using root access
- •Navigating the GUI interface
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Linux Runlevels
- •init
- •Shutting down Linux
- •Managing Linux Services
- •Configuring Linux Printing
- •lpd daemon
- •/etc/printcap
- •Printing management
- •Using the vi Editor
- •vi operation modes
- •Editing text files
- •Using the
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Disk and File System Management
- •Repairing Partitions
- •System Automation and Scheduling
- •cron
- •Core Dumps
- •Analyzing core dumps
- •GNU Debugger
- •Managing Networking Interfaces
- •Installing System Packages and Patches
- •Compressed archive
- •Debian Package Installer
- •Slackware Package Installation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Linux Processes
- •Core services versus non-critical services
- •Process administration
- •Process control
- •Monitoring Log Files
- •Maintaining Documentation
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Linux Security
- •Securing the Environment
- •Location
- •Environment
- •System Security
- •System/user files
- •Permissions
- •Log auditing
- •Backups
- •Linux Security Best Practices
- •Network security
- •Firewall
- •System security
- •Securing a Web server
- •Securing an FTP server
- •FTP program version
- •FTP configuration files
- •Process security
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Disaster Recovery Planning
- •Types of data
- •Frequency and Scheduling
- •Storage and media types
- •Recovering data
- •Offsite storage
- •Linux Backup Tools and Commands
- •Third party tools
- •Tape devices
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Identifying the Problem
- •Methodology and Best Practices
- •Troubleshooting Resources
- •Documentation resources
- •Internet resources
- •System Log Files
- •Tools for Log Files
- •Output to another file
- •Locating files
- •Process Configuration and Management
- •Stopping, Starting, and Restarting Processes
- •Configuration Files
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Examining the Startup Process
- •Boot process steps
- •Analyzing Boot Process Errors
- •Common Boot Problems
- •Using System Status Tools
- •File System Check
- •System Resource Commands
- •Using the System Boot Disk
- •Types of boot disks
- •Creating a boot disk
- •Creating a rescue/utility disk
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Common User Problems
- •Login problems
- •File and directory permissions
- •Printing problems
- •Mail problems
- •Software Package Problems
- •Package dependencies
- •Software and version conflicts
- •Backup and Restore Errors
- •Backup hardware
- •Backup software
- •File restore errors
- •Application Failures
- •Log files
- •Process and daemon errors
- •Web server errors
- •Telnet
- •Mail services
- •Basic Networking Troubleshooting
- •Networking connectivity
- •Network hardware problems
- •Summary
- •Assessment Questions
- •Scenarios
- •Lab Exercises
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •Mainboard Components
- •BIOS
- •System memory
- •System Resources
- •I/O addresses
- •Direct memory access
- •Laptop Considerations
- •PCMCIA
- •Linux Peripheral Configuration
- •Installing and Configuring SCSI Devices
- •SCSI definitions
- •SCSI technologies
- •SCSI cabling and termination
- •SCSI device configuration
- •Linux SCSI devices
- •ATA/IDE Devices
- •IDE drive configuration
- •Linux ATA/IDE Drive configuration
- •Linux Support for Other Devices
- •IEEE 1394 (Firewire)
- •Summary
- •Assessment Questions
- •Scenarios
- •Answers to Chapter Questions
- •Chapter Pre-test
- •Assessment Questions
- •Scenarios
- •What’s on the CD-ROM
- •System Requirements
- •Using the CD with Microsoft Windows
- •Using the CD with Linux
- •Microsoft Windows applications
- •Linux applications
- •Troubleshooting
- •Sample Exam
- •Exam Questions
- •Exam Answers
- •Taking a CompTIA Exam
- •How to register for an exam
- •What to expect at the testing center
- •Your exam results
- •If you don’t receive a passing score
- •About the Linux + Exam
- •Preparing for the Linux+ Exam
- •For More Information
- •Preamble
- •No Warranty
- •Glossary
- •Index

Chapter 19 Installing and Maintaining System Hardware |
561 |
You need to make several considerations when installing or configuring new or existing hardware on your Linux system. For example, the most overlooked
aspect of installation and configuration is hardware compatibility — every piece of hardware needs corresponding kernel or driver support.
You may have a difficult time finding drivers for newer devices or older, more obscure devices. Linux developers need time to understand how a new device reacts in a Linux system, and then to create a proper driver for it.
This chapter focuses on the installation and maintenance of your system hardware, and relates considerations and tips for all types of devices — from SCSI and IDE disk drives to multi-processor support — and makes special considerations for laptops.
Most of the questions on the exam concerning hardware are not Linux-specific, and are more general hardware questions — much like the A+ exam.
Mainboard Components
7.1 Identify basic terms, concepts, and functions of system components, including how each component should work during normal operation and during the boot process
7.12 Identify proper procedures for diagnosing and troubleshooting core system hardware
Your system mainboard, or motherboard, is the heart of your computer. It contains all the essential devices that make your system run, including the BIOS, CPU, RAM, and caching. The following section gives you a quick overview of these components, and many special considerations for Linux installations.
BIOS
BIOS (Basic Input Output System) is built-in software on the system mainboard that contains all the code required to control most of the basic devices and operations, and provides the interface to the underlying hardware of your server for the operating system.
Modern systems contain flash BIOS, and you can access three possible sources for a BIOS update: Your system vendor (for major brand systems), your motherboard vendor, or your BIOS vendor (if you’ve already purchased a replacement BIOS chip). Contact the system or motherboard vendor for the flash BIOS file that you must download. Most major system vendors have a database of models and the matching BIOS files.
You must ensure that your BIOS can support Linux on your system prior to installation.

562 |
Part VI Troubleshooting and Maintaining System Hardware |
After you find the correct BIOS version, you can download it as a single compressed file that contains the BIOS image file. Most upgrades involve saving the BIOS upgrade image to a bootable floppy diskette. To update the flash BIOS, simply boot your server with the image floppy and follow the instructions.
It is extremely important to not power down or reboot the server during a BIOS upgrade. If you do, you may render the BIOS inoperable.
CPU
The CPU (central processing unit) is the main component of any computer system. It is the brain that controls all aspects of a system’s operations, processes program instructions, and programs data. The following sections detail some of the basic characteristics and processes that comprise the CPU.
Clock frequency
The clock frequency of a CPU refers to how often its internal clock “ticks.” Each tick represents the execution of an instruction in the CPU. The faster the ticking, the faster each instruction is being processed. The clock frequency is measured in Megahertz (MHz).
Cache
To prevent bottlenecks in communications between the CPU and RAM, a special memory area, called the cache, holds information that is mostly used by the CPU, without having to go to RAM. Caches are available in two types — the type just described is a Level 1 cache. A Level 2 cache is a second cache layer outside of the CPU that is larger and slower than the Level 1 cache, but is included in the system to allow a second buffer between the CPU and system RAM.
Multiprocessing
The term multiprocessing describes a system that is using more than one processor to service requests. In order for this service to work, multiprocessing must be supported by both your hardware and your software. If your operating system does not recognize other processors, it won’t use the additional CPU’s.
In Linux, you must specify multiprocessor support directly into the kernel. You need a special kernel version that includes SMP (Symmetric Multi-Processing) support. SMP is the operating system’s ability to assign tasks to any one of the processors in the system. The other type of processing is called asymmetrical processing, in which certain processors are designated for certain tasks only. Most modern systems use SMP due to its higher performance and efficiency.
System memory
RAM (Random Access Memory) is the system memory in which the server stores running applications and data. Memory is crucial to system performance because

Chapter 19 Installing and Maintaining System Hardware |
563 |
no amount of CPU power will help a machine without enough memory to store its operations. Many different types of memory are available, so it’s very easy to make a mistake when choosing the right RAM for your particular system. The memory type, size, packaging, and supported chip sets are all items that you should keep in mind when upgrading server memory.
Basic types of server memory
There are two basic types of server memory: ROM and RAM. Each is very different in the way they store information and the ways they are put to use within the computer system.
ROM
Read Only Memory (ROM) is a type of memory that can’t be written to; its information is static. When your system is turned off and on, the information stored in ROM will remain. ROM is most commonly used in the system BIOS because they store basic information about your computer, which rarely changes.
RAM
Random Access Memory (RAM) can be both read and written to. This type of memory is one of the most important contributors to the performance of your system. If you don’t have enough RAM, your server won’t be able to run as many applications, and large applications won’t run very well. RAM is volatile, and when the server is switched off, anything that was in memory will be lost. There are two main types of RAM: SRAM and DRAM.
SRAM (Static RAM) continues to hold on to its data without a refresh, as opposed to DRAM (Dynamic RAM), which must be refreshed constantly to retain its information. SRAM is much faster, but more expensive than DRAM, and is typically used for cache memory.
DRAM (Dynamic RAM) is refreshed every few milliseconds, hence its dynamic nature. It is used for main system memory because it’s much less expensive than SRAM, and the memory modules are smaller and can fit into a smaller area. There are several different types of DRAM:
•FPM: Fast Page Mode RAM was the traditional RAM used in computers for many years. It came in modules of 2MB to 32MB. It is considered too slow for fast, modern system memory buses.
•EDO: Extended Data Out DRAM is slightly faster than FPM RAM. It is similar to FPM RAM, but the timing mechanisms have been changed so that no access to the memory can begin before the last access has finished.
It is therefore slightly faster than FPM memory, but still too slow for modern high-speed memory bus requirements.
•ECC: Error-Correcting Code memory is a type of memory that includes special parity operations for testing the accuracy of data as it passes in and out of memory. ECC RAM is used mostly in servers that require high availability. ECC RAM can prevent server crashes due to memory errors.

564 |
Part VI Troubleshooting and Maintaining System Hardware |
•SDRAM: Synchronous DRAM is different from earlier types of RAM in that it doesn’t run asynchronously with the system clock. SDRAM is specifically designed to be synchronized with the system clock speed of your computer. SDRAM is the most common form of RAM in modern servers, due to its ability to scale to the faster bus speeds of newer motherboards. Another technique that sets SDRAM apart from other memory types is memory interleaving. Interleaving is used by high-end motherboards to increase performance. Memory interleaving allows simultaneous access to more than one area of memory. This improves performance because it can access more data in the same amount of time. This type of memory is helpful with large, enterprise databases and application servers.
•RAMBUS (RDRAM): Rambus Direct RAM is a revolutionary new RAM type created by Rambus, a company partnered with Intel. It contains an intelligent micro-channel memory bus, which can run at a very high clock speed. Although the memory module is only 16-bits wide, compared to the traditional 64-bit SDRAM module, this allows a much higher clock frequency. Adding more memory channels increases the throughput to even greater levels.
Memory packaging types
Memory comes in all sorts of types, shapes, and sizes. You must be careful in choosing the right type of memory for your particular system. The following are the most common types of memory packaging.
SIMM
Single Inline Memory Modules (SIMM) are the older standard of memory modules. They are available in two types — an older 8-bit 30-pin version, and a newer 32-bit 72-pin version. They are connected into sockets on the motherboard, which contain clips to keep them in place.
DIMM
The Dual Inline Memory Module (DIMM) are 64-bit modules and have 168 pins, and are used in most modern computer systems. They won’t work in older motherboard SIMM sockets because of the difference in size. They are the most common form of packaging for SDRAM types of memory.
There are three DIMM types: Buffered, registered, and unbuffered. Most memory modules are unbuffered.
Buffered modules contain a buffer to isolate the memory from the controller in order to minimize the load that it sees. Buffered modules are typically used in high-load server environments.
Unbuffered modules do not contain any intermediary buffer, thereby making the system faster for certain types of applications.