Acknowledgments |
|
xxvii | |
Introduction |
|
xix | |
|
|
1 | (44) |
|
Describe the Background and History of Linux |
|
|
3 | (12) |
|
The Role and Function of Linux |
|
|
3 | (2) |
|
The Historical Development of Linux |
|
|
5 | (4) |
|
|
9 | (1) |
|
|
10 | (5) |
|
Use the Linux User Interface |
|
|
15 | (21) |
|
Using the Linux Command-Line Interface |
|
|
16 | (4) |
|
Exercise 1-1: Working with Linux Shells |
|
|
20 | (7) |
|
Exercise 1-2: Using Linux Commands |
|
|
27 | (1) |
|
Using the Linux Graphical User Interface |
|
|
28 | (7) |
|
|
35 | (1) |
|
|
36 | (9) |
|
|
41 | (4) |
|
|
45 | (54) |
|
Describe Personal Computer Components |
|
|
46 | (35) |
|
|
47 | (2) |
|
|
49 | (2) |
|
|
51 | (3) |
|
|
54 | (5) |
|
|
59 | (12) |
|
|
71 | (10) |
|
Describe Removable Hardware Interfaces |
|
|
81 | (10) |
|
|
82 | (2) |
|
|
84 | (1) |
|
|
84 | (3) |
|
|
87 | (4) |
|
|
91 | (8) |
|
|
96 | (3) |
|
|
99 | (74) |
|
Plan a Linux Installation |
|
|
103 | (37) |
|
Conducting a Needs Assessment |
|
|
105 | (5) |
|
|
110 | (2) |
|
Verifying System Requirements and Hardware Compatibility |
|
|
112 | (6) |
|
|
118 | (8) |
|
Selecting Software Packages |
|
|
126 | (3) |
|
|
129 | (1) |
|
Gathering Network Information |
|
|
130 | (2) |
|
Selecting an Installation Source |
|
|
132 | (8) |
|
|
140 | (24) |
|
Exercise 3-1: Installing SUSE Linux |
|
|
142 | (19) |
|
|
161 | (3) |
|
|
164 | (9) |
|
|
168 | (1) |
|
|
169 | (2) |
|
|
171 | (2) |
|
|
173 | (46) |
|
|
176 | (13) |
|
The man Directory Structure |
|
|
177 | (2) |
|
|
179 | (1) |
|
Using man to View Documentation |
|
|
179 | (10) |
|
Exercise 4-1: Using man Pages |
|
|
189 | (1) |
|
|
189 | (6) |
|
Using info to View System Documentation |
|
|
190 | (2) |
|
Searching for Information in info |
|
|
192 | (2) |
|
|
194 | (1) |
|
Using Other Documentation and Troubleshooting Resources |
|
|
195 | (15) |
|
|
195 | (4) |
|
Using Web-Based Resources |
|
|
199 | (5) |
|
Exercise 4-3: Using Web-Based Support Resources |
|
|
204 | (3) |
|
|
207 | (3) |
|
|
210 | (9) |
|
|
214 | (1) |
|
|
215 | (2) |
|
|
217 | (2) |
|
|
219 | (44) |
|
Using Non-Graphical Linux Text Editors |
|
|
222 | (22) |
|
|
225 | (9) |
|
Exercise 5-1: Using the vi Editor |
|
|
234 | (2) |
|
|
236 | (5) |
|
Exercise 5-2: Using the Emacs Editor |
|
|
241 | (3) |
|
Using Graphical Text Editors |
|
|
244 | (11) |
|
|
245 | (2) |
|
|
247 | (1) |
|
|
247 | (5) |
|
|
252 | (3) |
|
|
255 | (8) |
|
|
259 | (1) |
|
|
260 | (2) |
|
|
262 | (1) |
|
Managing the Linux File System |
|
|
263 | (82) |
|
Describe the Linux File System |
|
|
265 | (9) |
|
The Role of the Linux File System |
|
|
266 | (1) |
|
The Hierarchical Structure of the Linux File System |
|
|
266 | (7) |
|
Types of Files Used by Linux |
|
|
273 | (1) |
|
Complete Common File System Tasks |
|
|
274 | (24) |
|
Navigating the File System |
|
|
275 | (6) |
|
Exercise 6-1: Navigating the File System |
|
|
281 | (1) |
|
Managing Files and Directories |
|
|
281 | (7) |
|
Exercise 6-2: Managing Files and Directories |
|
|
288 | (1) |
|
|
289 | (3) |
|
Searching the File System |
|
|
292 | (5) |
|
Exercise 6-3: Using Linux Search Tools |
|
|
297 | (1) |
|
|
298 | (16) |
|
Using fdisk to Create Disk Partitions |
|
|
298 | (7) |
|
Building a File System with mkfs |
|
|
305 | (1) |
|
Mounting a Partition with mount |
|
|
306 | (4) |
|
Checking the File System with fsck |
|
|
310 | (2) |
|
Exercise 6-4: Managing Linux Partitions |
|
|
312 | (2) |
|
|
314 | (6) |
|
|
314 | (2) |
|
Working with Optical Devices |
|
|
316 | (1) |
|
Working with USB and Fire Wire Devices |
|
|
317 | (3) |
|
Exercise 6-5: Mounting Removable Media |
|
|
320 | (1) |
|
|
320 | (17) |
|
Selecting a Backup Medium |
|
|
321 | (1) |
|
Selecting a Backup Strategy |
|
|
322 | (3) |
|
Using Linux Backup Utilities |
|
|
325 | (4) |
|
Exercise 6-6: Backing Up Data |
|
|
329 | (4) |
|
|
333 | (4) |
|
|
337 | (8) |
|
|
340 | (1) |
|
|
341 | (2) |
|
|
343 | (2) |
|
Working with Linux Users and Groups |
|
|
345 | (74) |
|
|
349 | (26) |
|
|
349 | (20) |
|
Exercise 7-1: Managing User Accounts from the Command Line |
|
|
369 | (1) |
|
|
370 | (4) |
|
Exercise 7-2: Managing Groups from the Command Line |
|
|
374 | (1) |
|
Manage Ownership, Permissions, and Quotas |
|
|
375 | (34) |
|
|
375 | (4) |
|
Exercise 7-3: Managing Ownership |
|
|
379 | (1) |
|
|
380 | (7) |
|
Exercise 7-4: Managing Permissions |
|
|
387 | (6) |
|
Exercise 7-5: Managing Default and Special Permissions |
|
|
393 | (2) |
|
|
395 | (6) |
|
Exercise 7-6: Establishing Disk Quotas |
|
|
401 | (5) |
|
|
406 | (3) |
|
|
409 | (10) |
|
|
413 | (1) |
|
|
414 | (2) |
|
|
416 | (3) |
|
Installing and Managing Software on Linux |
|
|
419 | (54) |
|
Install Software on Linux |
|
|
421 | (28) |
|
|
423 | (6) |
|
Exercise 8-1: Using Web Resources to Obtain Linux Software |
|
|
429 | (1) |
|
Installing Software from Source Code |
|
|
430 | (10) |
|
Exercise 8-2: Building Software from Source Code |
|
|
440 | (1) |
|
Installing Software Packages |
|
|
441 | (8) |
|
Exercise 8-3: Installing RPM Packages |
|
|
449 | (1) |
|
Manage Installed Software |
|
|
449 | (15) |
|
|
450 | (3) |
|
Exercise 8-4: Uninstalling RPM Packages |
|
|
453 | (1) |
|
|
453 | (1) |
|
|
453 | (3) |
|
|
456 | (3) |
|
Exercise 8-5: Managing RPM Packages |
|
|
459 | (3) |
|
|
462 | (2) |
|
|
464 | (9) |
|
|
467 | (1) |
|
|
468 | (2) |
|
|
470 | (3) |
|
|
473 | (74) |
|
Use the Bourne Again Shell |
|
|
475 | (8) |
|
Reviewing the bash Configuration Files |
|
|
475 | (4) |
|
|
479 | (1) |
|
Exercise 9-1: Using Command History |
|
|
480 | (1) |
|
|
481 | (1) |
|
Exercise 9-2: Using Command Completion |
|
|
482 | (1) |
|
Manage Linux Environment Variables |
|
|
483 | (17) |
|
What Are Environment Variables? |
|
|
483 | (4) |
|
Managing Environment Variables |
|
|
487 | (7) |
|
Exercise 9-3: Working with Environment Variables |
|
|
494 | (1) |
|
Creating a User-Defined Variable |
|
|
494 | (2) |
|
|
496 | (3) |
|
Exercise 9-4: Working with Aliases |
|
|
499 | (1) |
|
Manage Shell Command Inputs and Outputs |
|
|
500 | (18) |
|
Standard bash File Descriptors |
|
|
500 | (2) |
|
Redirecting Output and Input for Shell Commands |
|
|
502 | (5) |
|
Exercise 9-5: Redirecting Input and Output |
|
|
507 | (1) |
|
|
508 | (3) |
|
Exercise 9-6: Using Pipes |
|
|
511 | (1) |
|
|
512 | (5) |
|
Exercise 9-7: Using awk and sed |
|
|
517 | (1) |
|
|
518 | (22) |
|
|
519 | (3) |
|
|
522 | (5) |
|
Using Control Structures in Scripts |
|
|
527 | (5) |
|
Exercise 9-8: Creating a Basic Shell Script |
|
|
532 | (5) |
|
|
537 | (3) |
|
|
540 | (7) |
|
|
543 | (1) |
|
|
544 | (2) |
|
|
546 | (1) |
|
Managing Linux Processes and Services |
|
|
547 | (62) |
|
Describe How Linux Handles Processes |
|
|
549 | (8) |
|
What Exactly Is a Process? |
|
|
549 | (4) |
|
The Heredity of Linux Processes |
|
|
553 | (4) |
|
|
557 | (25) |
|
Starting System Processes |
|
|
557 | (3) |
|
Viewing Running Processes |
|
|
560 | (8) |
|
|
568 | (5) |
|
Managing Foreground and Background Processes |
|
|
573 | (4) |
|
|
577 | (2) |
|
Exercise 10-1: Working with Linux Processes |
|
|
579 | (3) |
|
|
582 | (20) |
|
|
582 | (4) |
|
|
586 | (7) |
|
Exercise 10-2: Scheduling with Linux Processes |
|
|
593 | (5) |
|
|
598 | (4) |
|
|
602 | (7) |
|
|
605 | (1) |
|
|
606 | (2) |
|
|
608 | (1) |
|
Managing the Linux Boot Process |
|
|
609 | (60) |
|
Explain How the Linux Boot Process Works |
|
|
611 | (7) |
|
|
613 | (2) |
|
|
615 | (1) |
|
|
616 | (2) |
|
Configure Linux Bootloaders |
|
|
618 | (23) |
|
|
619 | (5) |
|
|
624 | (9) |
|
Exercise 11-1: Working with GRUB |
|
|
633 | (1) |
|
Using a Bootloader to Create a Dual-Boot System |
|
|
634 | (7) |
|
|
641 | (21) |
|
|
642 | (6) |
|
|
648 | (4) |
|
Exercise 11-2: Working with Linux Runlevels |
|
|
652 | (7) |
|
|
659 | (3) |
|
|
662 | (7) |
|
|
665 | (1) |
|
|
666 | (2) |
|
|
668 | (1) |
|
|
669 | (70) |
|
Manage Hardware and Kernel Modules |
|
|
671 | (13) |
|
How Drivers Work Under Linux |
|
|
671 | (5) |
|
|
676 | (7) |
|
Exercise 12-1: Working with Kernel Modules |
|
|
683 | (1) |
|
Configure Power Management |
|
|
684 | (10) |
|
Power Management Implementations |
|
|
685 | (2) |
|
Configuring ACPI on Linux |
|
|
687 | (6) |
|
Exercise 12-2: Working with Power Management Utilities |
|
|
693 | (1) |
|
|
694 | (6) |
|
Burning Discs from the Command Line |
|
|
695 | (3) |
|
Using Graphical Utilities to Burn Optical Discs |
|
|
698 | (1) |
|
Exercise 12-3: Burning CDs and DVDs |
|
|
699 | (1) |
|
|
700 | (12) |
|
|
701 | (5) |
|
Configuring a RAID Array on Linux |
|
|
706 | (4) |
|
Exercise 12-4: Creating a Software RAID Array |
|
|
710 | (2) |
|
|
712 | (19) |
|
|
712 | (3) |
|
Configuring the Graphical Environment |
|
|
715 | (12) |
|
|
727 | (4) |
|
|
731 | (8) |
|
|
734 | (1) |
|
|
735 | (2) |
|
|
737 | (2) |
|
Configuring Network Boards |
|
|
739 | (52) |
|
Configure a Network Interface |
|
|
741 | (22) |
|
An Overview of the IP Protocol |
|
|
742 | (8) |
|
Configuring an Ethernet Interface |
|
|
750 | (9) |
|
Exercise 13-1: Working with Network Interfaces |
|
|
759 | (1) |
|
Configuring a Modem Interface |
|
|
760 | (3) |
|
Test and Monitor the Network |
|
|
763 | (7) |
|
|
764 | (2) |
|
|
766 | (1) |
|
|
767 | (3) |
|
Exercise 13-2: Working with Network Commands |
|
|
770 | (1) |
|
|
770 | (12) |
|
Configuring the Hardware for Routing |
|
|
771 | (2) |
|
Configuring the Linux Kernel to Support Routing |
|
|
773 | (6) |
|
|
779 | (3) |
|
|
782 | (9) |
|
|
785 | (1) |
|
|
786 | (2) |
|
|
788 | (3) |
|
Configuring Linux Network Services |
|
|
791 | (110) |
|
Configure a DHCP Server on Linux |
|
|
793 | (9) |
|
|
794 | (2) |
|
Configuring the dhcpd Daemon |
|
|
796 | (4) |
|
Exercise 14-1: Configuring a DHCP Server |
|
|
800 | (2) |
|
Configure a DNS Server on Linux |
|
|
802 | (16) |
|
Exercise 14-2: Configuring a DNS Server |
|
|
816 | (2) |
|
Configure the Apache Web Server on Linux |
|
|
818 | (9) |
|
|
818 | (3) |
|
Installing the Apache Web Server Daemon |
|
|
821 | (5) |
|
Exercise 14-3: Configuring a Web Server |
|
|
826 | (1) |
|
|
827 | (12) |
|
|
827 | (2) |
|
Installing the Samba Daemon |
|
|
829 | (1) |
|
|
830 | (8) |
|
Exercise 14-4: Configuring Samba |
|
|
838 | (1) |
|
Configure Printing on Linux |
|
|
839 | (15) |
|
|
840 | (2) |
|
|
842 | (1) |
|
|
843 | (9) |
|
Using the Line Printer Daemon (lpd) |
|
|
852 | (1) |
|
Exercise 14-5: Configuring CUPS |
|
|
853 | (1) |
|
Configure Basic Network Services with xinetd |
|
|
854 | (4) |
|
|
855 | (1) |
|
Configuring xinetd Network Services |
|
|
856 | (2) |
|
|
858 | (4) |
|
|
858 | (1) |
|
Exporting a Directory Using NFS |
|
|
859 | (1) |
|
Mounting an Exported Directory Using NFS |
|
|
860 | (2) |
|
|
862 | (3) |
|
|
863 | (1) |
|
|
864 | (1) |
|
Configure Remote Access on Linux |
|
|
865 | (8) |
|
|
865 | (2) |
|
|
867 | (2) |
|
Using Remote Command-Line Utilities |
|
|
869 | (3) |
|
Exercise 14-6: Configuring Remote Access |
|
|
872 | (1) |
|
|
873 | (19) |
|
|
874 | (2) |
|
|
876 | (3) |
|
Exercise 14-7: Accessing Mail |
|
|
879 | (7) |
|
|
886 | (6) |
|
|
892 | (9) |
|
|
895 | (1) |
|
|
896 | (2) |
|
|
898 | (3) |
|
Configuring Linux Security |
|
|
901 | (56) |
|
|
903 | (4) |
|
Securing the Physical Environment |
|
|
903 | (2) |
|
Securing Access to the Operating System |
|
|
905 | (2) |
|
|
907 | (11) |
|
|
908 | (4) |
|
Implementing a Strong Password Policy |
|
|
912 | (4) |
|
Exercise 15-1: Controlling User Access |
|
|
916 | (2) |
|
Defend Against Network Attacks |
|
|
918 | (17) |
|
Mitigating Network Vulnerabilities |
|
|
918 | (4) |
|
|
922 | (3) |
|
|
925 | (1) |
|
Implementing a Firewall with iptables |
|
|
926 | (6) |
|
Exercise 15-2: Implementing Network Security Measures on Linux |
|
|
932 | (3) |
|
Detect Intrusion Attempts |
|
|
935 | (16) |
|
Implementing Security Auditing with Tripwire |
|
|
940 | (6) |
|
|
946 | (5) |
|
|
951 | (6) |
|
|
953 | (1) |
|
|
954 | (2) |
|
|
956 | (1) |
|
Documenting and Troubleshooting the System |
|
|
957 | (50) |
|
|
958 | (9) |
|
Documenting the System Configuration |
|
|
960 | (2) |
|
Documenting Changes and Maintenance |
|
|
962 | (1) |
|
Using Standardized Procedures |
|
|
962 | (5) |
|
Troubleshoot System Problems |
|
|
967 | (35) |
|
Using a Standardized Troubleshooting Model |
|
|
967 | (2) |
|
Creating a System Baseline |
|
|
969 | (6) |
|
Exercise 16-1: Generating a System Baseline |
|
|
975 | (1) |
|
Using Log Files to Troubleshoot Errors |
|
|
976 | (11) |
|
Troubleshooting Network and Hardware Issues |
|
|
987 | (11) |
|
|
998 | (4) |
|
|
1002 | (5) |
|
|
1004 | (1) |
|
|
1005 | (1) |
|
|
1006 | (1) |
Glossary |
|
1007 | (18) |
About the CD |
|
1025 | (2) |
Index |
|
1027 | |