- •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 3 Pre-Installation Planning |
65 |
analyze individual data packets as they pass through. In addition to the packet header, Stateful inspection also assesses the packet’s payload and looks at the application protocol. It can then make access decisions based on the source, destination, and service that is requested by the packet. With this level of information, the firewall is able to make a more informed policy decision than can be made by traditional firewalls. Although Stateful inspection offers the highest level of security, none of the current Linux-based firewalls currently support this method.
Determining Linux Roles and Services
Now that I’ve shown you how Linux can support servers with DNS, e-mail, file, firewall, FTP, proxy, Web, and many other server services and clients with word processors, e-mail programs, spreadsheets, database, graphic views and manipulators, Web browsers, file transfer, printing support, presentation, and virtually every other type of program, it’s time to determine the roles and services that a system may require. You can use Linux for all the roles that I have discussed, and in fact, Linux is often used for all of these and many more.
Comparing Linux with other operating systems
1.8 Describe the functions, features, and benefits of a Linux solutions as compared with other operating systems (e.g., Linux players, distributions, available software)
Because Linux can support all of the services that other operating systems can, how do they compare? Because Linux is a true 32-bit OS with real multiuser and multiprocessing capabilities, it compares very well to other operating systems. The proof is in the real world uses of Linux.
Use on the Web
The search engine Google is a prime example of the ability of Linux to compete with other operating systems. Google is one of the premier search engines on the Internet and it runs on a Linux cluster. Over 60 percent of Web servers run Apache Web Server, which is completely supported under Linux and provides all of the efficiency and reliability of a high-end UNIX server. Linux has proven its capability to provide all the services that are needed in a server or desktop environment.
Installation
Installation of Linux is comparable to UNIX, Mac, and Microsoft operating systems. All of these operating systems provide a friendly user interface that allows the installation of the operating system with very little user input. The fact that Microsoft includes an extremely large number of device drivers with the initial installation package makes it attractive to non-technical users and gives it a slight advantage in this area. For the more technical user, Linux can also be installed from the command line, enabling a variety of advanced installation options.
66 |
Part II Installation |
Stability
After it is configured, the reliability of the operating system is clearly an issue to be considered. Because Linux is UNIX-like, it has gained many of the benefits of UNIX. For example, UNIX has always been considered one of the most reliable and stable operating systems available, but Linux is clearly in the same class of service as UNIX. The Microsoft operating systems are usually considered to be less stable; however, they have made great strides with recent releases of their enterprise software and hope to be rid of that reputation. It is clear, however, that UNIX and Linux are considered to be the best choices for services regarding stability.
New technology
Although Linux has improved greatly in many areas over the years, it still trails in the ability to support new technology as well as UNIX or Microsoft. Because Linux relies on private and public developers and volunteers to create device drivers for new and often expensive hardware, it is obvious why Linux can’t support as many new devices as these other commercial operating systems. For example, in the case of support for Fibre Channel drive arrays, Linux clearly supports the technology but has also been shown to trail both UNIX and Microsoft Server 2000 in data throughput under load. This will change as Fiber Channel matures, but at this time, Linux clearly has some issues to resolve. Although Linux has some ground to gain on correcting the issues of new technology support, it excels in the support of older hardware. While other operating systems often abandon the support of older hardware, Linux continues to provide useful applications for old systems.
Cost
Finally, and perhaps most importantly, the cost of all these operating systems is an issue that can’t be overlooked. Linux is freely licensed and can be installed in as many desktops or servers that you desire. Microsoft has traditionally used a single purchase license and client licensing method, but they are moving to a new licensing method that requires renewal of a software license on a regular basis. UNIX, which was once considered to be the most costly to purchase, is now being led by Sun Microsystems, which is currently distributing their Solaris binary code for no charge with media available for a drastically reduced price. Linux is clearly the winner here. Even fully supported distributions that are available for purchase are usually much less expensive than the competition. However, the initial cost of Linux does not mean that the long-term costs are lower than other operating systems. A belief persists that Linux costs more in the long run because it requires a more knowledgeable support staff, and that when users encounter problems, it often takes longer to resolve. Indeed, the ability to support any operating system requires a knowledgeable staff, and all operating systems have issues that can be difficult to resolve, but the long-term cost of any operating system is very comparable and no operating system is clearly less or more expensive than the others. Although Linux has not separated itself as a clear leader in every situation, it has shown that it should be considered and performs well versus its competition.
Chapter 3 Pre-Installation Planning |
67 |
Hardware compatibility
1.2 Identify all system hardware required and validate that it is supported by Linux (e.g., CPUs, RAM, graphics cards, storage devices, network interface cards, modem)
The hardware compatibility of Linux has always been one of its big advantages. Although Linux doesn’t support the newest technologies on a level comparable to other operating systems, it does provide excellent support for most other hardware. Linux also supports perhaps the largest list of hardware platforms. Because it was built to be UNIX-like, Linux also benefits from the easy portability to other platforms, and has been shown to run on virtually every platform available. This is an enormous benefit for Linux because it has become the standard for installations on embedded devices, and this fact alone may help Linux to gather more support on other platforms as it matures and receives more coverage. The ability of Linux to work on many platforms and on most of the hardware in the marketplace can make determining compatibility of a specific piece of equipment difficult. Thankfully, most Linux distributions support a Hardware Compatibility List (HCL) on their Web sites.
Understand the Hardware Compatibility List (HCL) because it is an important concept and will be covered on the exam.
The HCL shows all the hardware that the vendors tested with their distribution of Linux. By providing the HCL, a system and all of its components can be verified as compatible with Linux before the operating system is installed. This way, a user knows if the CPU, RAM, graphics cards, storage devices, network interface cards, modem, and virtually any other hardware component will be supported.
Linux software packages and package distribution types
1.10 Identify where to obtain software and resources
Not all software services and applications are included in every distribution. If the software package is not available in the distribution, it is usually available for download from the Internet. The software packages that have been discussed in this chapter are typical services that are necessary for a desktop or server system. The following is a list of many of the sites that can provide most of these software packages:
http://www.abiword.org/
http://www.apache.org/
http://www3.corel.com
http://www.htdig.org/
68 |
Part II Installation |
http://www.isc.org/products/INN/
http://koffice.kde.org/
http://www.konqueror.org/
http://www.leafnode.org/
http://www.linux.org
http://www.linuxdoc.org
http://www.lotus.com/home.nsf/welcome/domino
http://netfilter.filewatcher.org
http://www.netscape.com/
http://www.opera.com/
http://www.proftpd.net/
http://www.sendmail.org/
http://www.squid-cache.org/
http://www.sun.com/software/star/staroffice/
http://www.trolltech.com/
Although these Web sites have excellent support for the software packages, sometimes you may have a need for more information. This information is available in the MAN pages and documentation that are included with most software packages.
Determining customer resources
1.11 Determine customer resources for a solution (e.g., staffing, budget, training)
After you have determined a need for a desktop or server system, you also need to determine the ability of the customer to provide the resources necessary to install and support these systems. The hardware is just the beginning. If a desktop installation has been selected, then you must have a PC on which to install the operating system. After Linux is installed, you may need to purchase some specific software to integrate the PC into the existing network. You will also need ongoing maintenance to keep the distribution up-to-date and you will need to repair any hardware failures in the PC. For a server installation, not only is there a requirement verifying hardware compatibility and all the desktop installation requirements, there is also the requirement for expansion and scalability of the server to be able to support an increased userbase in the future. Because servers often expand beyond the initial hardware, the expansion of the server should be verified before the installation begins. The customer’s ability to upgrade the server should also be taken into account. Finally, you face the ongoing cost for staff to support the systems. Budgets must be allocated not only for staff but also for equipment maintenance, replacement, and continued training to properly keep the systems up-to-date and running.