| Introduction |
|
xxxiii | |
|
Part I: Linux First Steps |
|
|
|
|
|
3 | (32) |
|
|
|
4 | (2) |
|
|
|
6 | (1) |
|
|
|
6 | (2) |
|
|
|
8 | (7) |
|
From a Free-Flowing UNIX Culture at Bell Labs |
|
|
9 | (2) |
|
|
|
11 | (1) |
|
|
|
11 | (1) |
|
UNIX Laboratory and Commercialization |
|
|
11 | (2) |
|
To a GNU Free-Flowing (not) UNIX |
|
|
13 | (1) |
|
|
|
14 | (1) |
|
Linus Builds the Missing Piece |
|
|
14 | (1) |
|
What's So Great About Linux? |
|
|
15 | (5) |
|
|
|
16 | (1) |
|
OSI Open Source Definition |
|
|
17 | (1) |
|
|
|
18 | (1) |
|
|
|
19 | (1) |
|
|
|
20 | (3) |
|
|
|
20 | (1) |
|
|
|
21 | (1) |
|
|
|
22 | (1) |
|
Linux Myths, Legends, and FUD |
|
|
23 | (4) |
|
Can You Stop Worrying About Viruses? |
|
|
23 | (1) |
|
Will You Be Sued for Using Linux? |
|
|
24 | (1) |
|
|
|
24 | (1) |
|
|
|
25 | (1) |
|
|
|
26 | (1) |
|
Other Potentially Litigious Issues |
|
|
27 | (1) |
|
Can Linux Really Run on Everything from Handhelds to Supercomputers? |
|
|
27 | (1) |
|
Will Microsoft Crush Linux? |
|
|
27 | (2) |
|
Are You on Your Own If You Use Linux? |
|
|
29 | (1) |
|
|
|
29 | (3) |
|
How Do Companies Make Money with Linux? |
|
|
29 | (1) |
|
How Different Are Linux Distributions from One Another? |
|
|
30 | (1) |
|
Is the Linux Mascot Really a Penguin? |
|
|
31 | (1) |
|
Getting Started with Linux |
|
|
32 | (1) |
|
|
|
33 | (2) |
|
Running Commands from the Shell |
|
|
35 | (46) |
|
|
|
36 | (2) |
|
|
|
36 | (1) |
|
|
|
37 | (1) |
|
|
|
38 | (1) |
|
|
|
38 | (2) |
|
Using bash (and Earlier sh) Shells |
|
|
39 | (1) |
|
Using tcsh (and Earlier csh) Shells |
|
|
39 | (1) |
|
|
|
40 | (1) |
|
|
|
40 | (1) |
|
|
|
40 | (1) |
|
|
|
40 | (5) |
|
Checking Your Login Session |
|
|
41 | (1) |
|
Checking Directories and Permissions |
|
|
41 | (2) |
|
|
|
43 | (1) |
|
|
|
44 | (1) |
|
|
|
45 | (9) |
|
|
|
46 | (2) |
|
|
|
48 | (1) |
|
|
|
49 | (2) |
|
|
|
51 | (1) |
|
|
|
52 | (2) |
|
Connecting and Expanding Command |
|
|
54 | (2) |
|
|
|
54 | (1) |
|
|
|
54 | (1) |
|
|
|
55 | (1) |
|
|
|
55 | (1) |
|
Expanding Arithmetic Expressions |
|
|
56 | (1) |
|
Expanding Environment Variables |
|
|
56 | (1) |
|
Creating Your Shell Environment |
|
|
56 | (4) |
|
|
|
56 | (1) |
|
|
|
57 | (2) |
|
Adding Environment Variables |
|
|
59 | (1) |
|
|
|
60 | (1) |
|
Using Shell Environment Variables |
|
|
60 | (3) |
|
Common Shell Environment Variables |
|
|
60 | (2) |
|
Setting Your Own Environment Variables |
|
|
62 | (1) |
|
Managing Background and Foreground Processes |
|
|
63 | (2) |
|
Starting Background Process |
|
|
64 | (1) |
|
Using Foreground and Background Commands |
|
|
64 | (1) |
|
Working with the Linux File System |
|
|
65 | (9) |
|
Creating Files and Directories |
|
|
68 | (1) |
|
Using Metacharacters and Operators |
|
|
69 | (1) |
|
Using File-Matching Metacharacters |
|
|
70 | (1) |
|
Using File-Redirection Metacharacters |
|
|
71 | (1) |
|
Understanding File Permissions |
|
|
71 | (3) |
|
Moving, Copying, and Deleting Files |
|
|
74 | (1) |
|
|
|
74 | (5) |
|
|
|
76 | (2) |
|
|
|
78 | (1) |
|
|
|
78 | (1) |
|
Using Numbers with Commands |
|
|
79 | (1) |
|
|
|
79 | (2) |
|
|
|
81 | (50) |
|
Understanding Your Desktop |
|
|
81 | (1) |
|
|
|
82 | (3) |
|
|
|
82 | (1) |
|
Boot to a Graphical Login |
|
|
83 | (2) |
|
|
|
85 | (1) |
|
|
|
85 | (18) |
|
|
|
86 | (4) |
|
Managing Files with the Konqueror File Manager |
|
|
90 | (1) |
|
|
|
91 | (1) |
|
|
|
92 | (1) |
|
Creating New Files and Folders |
|
|
93 | (2) |
|
Using Other Browser Features |
|
|
95 | (1) |
|
Configuring Konqueror Options |
|
|
95 | (2) |
|
|
|
97 | (1) |
|
|
|
97 | (2) |
|
|
|
99 | (1) |
|
|
|
99 | (1) |
|
|
|
99 | (1) |
|
Pinning Windows on the Top or Bottom |
|
|
99 | (1) |
|
|
|
100 | (1) |
|
|
|
100 | (1) |
|
|
|
101 | (1) |
|
Changing Panel Attributes |
|
|
102 | (1) |
|
Adding Application Launchers and MIME Types |
|
|
102 | (1) |
|
Adding Applications to the Panel |
|
|
103 | (1) |
|
Adding Applications to the Desktop |
|
|
103 | (1) |
|
|
|
103 | (15) |
|
Using the Metacity Window Manager |
|
|
105 | (2) |
|
|
|
107 | (1) |
|
Using the Applications, Places, and System Menus |
|
|
108 | (1) |
|
|
|
109 | (1) |
|
|
|
109 | (1) |
|
Adding an Application Launcher |
|
|
110 | (1) |
|
|
|
111 | (1) |
|
Changing Panel Properties |
|
|
111 | (1) |
|
Using the Nautilus File Manager |
|
|
112 | (2) |
|
|
|
114 | (2) |
|
Changing GNOME Preferences |
|
|
116 | (1) |
|
|
|
117 | (1) |
|
Configuring a GNOME Online Desktop |
|
|
118 | (2) |
|
Configuring Your Own Desktop |
|
|
120 | (6) |
|
|
|
120 | (1) |
|
Creating a Working X Configuration File |
|
|
121 | (1) |
|
|
|
122 | (1) |
|
Tuning Up Your X Configuration File |
|
|
122 | (2) |
|
Choosing a Window Manager |
|
|
124 | (2) |
|
Choosing Your Personal Window Manager |
|
|
126 | (1) |
|
|
|
126 | (1) |
|
|
|
127 | (4) |
|
Part II: Running the Show |
|
|
|
Learning Basic Administration |
|
|
131 | (48) |
|
Graphical Administration Tools |
|
|
132 | (5) |
|
Using Web-Based Administration |
|
|
132 | (1) |
|
Open Source Projects Offering Web Administration |
|
|
132 | (1) |
|
The Webmin Administration Tool |
|
|
133 | (1) |
|
Graphical Administration with Different Distributions |
|
|
133 | (1) |
|
|
|
134 | (2) |
|
|
|
136 | (1) |
|
|
|
137 | (3) |
|
Becoming Root from the Shell (su Command) |
|
|
138 | (1) |
|
Allowing Limited Administrative Access |
|
|
139 | (1) |
|
Exploring Administrative Commands, Configuration Files, and Log Files |
|
|
140 | (6) |
|
|
|
140 | (1) |
|
Administrative Configuration Files |
|
|
141 | (4) |
|
|
|
145 | (1) |
|
Using sudo and Other Administrative Logins |
|
|
146 | (2) |
|
Administering Your Linux System |
|
|
148 | (1) |
|
|
|
149 | (6) |
|
Adding Users with useradd |
|
|
149 | (3) |
|
|
|
152 | (2) |
|
Modifying Users with usermod |
|
|
154 | (1) |
|
Deleting Users with userdel |
|
|
155 | (1) |
|
|
|
155 | (7) |
|
Managing Removable Hardware |
|
|
156 | (1) |
|
Removable Media on a GNOME Desktop |
|
|
157 | (2) |
|
Removable Media on a SUSE KDE Desktop |
|
|
159 | (1) |
|
Working with Loadable Modules |
|
|
160 | (1) |
|
|
|
160 | (1) |
|
|
|
161 | (1) |
|
|
|
162 | (1) |
|
Managing File Systems and Disk Space |
|
|
162 | (10) |
|
|
|
165 | (1) |
|
|
|
165 | (2) |
|
Using the fstab File to Define Mountable File Systems |
|
|
167 | (2) |
|
Using the mount Command to Mount File Systems |
|
|
169 | (2) |
|
|
|
171 | (1) |
|
Using the mkfs Command to Create a File System |
|
|
172 | (1) |
|
|
|
173 | (2) |
|
|
|
175 | (2) |
|
Displaying System Space with df |
|
|
175 | (1) |
|
Checking Disk Usage with du |
|
|
176 | (1) |
|
Finding Disk Consumption with find |
|
|
176 | (1) |
|
Monitoring System Performance |
|
|
177 | (1) |
|
|
|
178 | (1) |
|
|
|
179 | (24) |
|
Connecting to the Network |
|
|
180 | (6) |
|
Connecting via Dial-Up Service |
|
|
180 | (1) |
|
Connecting a Single Computer to Broadband |
|
|
181 | (1) |
|
Connecting Multiple Computers to Broadband |
|
|
182 | (2) |
|
|
|
184 | (1) |
|
Connecting Other Equipment |
|
|
185 | (1) |
|
Using Ethernet Connections to the Internet |
|
|
186 | (9) |
|
Configuring Ethernet During Installation |
|
|
186 | (1) |
|
Configuring Ethernet from the Desktop |
|
|
187 | (1) |
|
Using Network Configuration GUI in Fedora |
|
|
188 | (2) |
|
Identifying Other Computers (Hosts and DNS) |
|
|
190 | (1) |
|
Using the Network Settings GUI in Ubuntu |
|
|
191 | (2) |
|
Understanding Your Internet Connection |
|
|
193 | (2) |
|
Using Dial-Up Connections to the Internet |
|
|
195 | (6) |
|
|
|
195 | (1) |
|
|
|
196 | (1) |
|
Creating a Dial-Up Connection with the Internet Configuration Wizard |
|
|
197 | (2) |
|
Launching Your PPP Connection |
|
|
199 | (1) |
|
Launching Your PPP Connection on Demand |
|
|
199 | (1) |
|
Checking Your PPP Connection |
|
|
200 | (1) |
|
Checking That Your Modem Was Detected |
|
|
200 | (1) |
|
Connecting to the Internet with Wireless |
|
|
201 | (1) |
|
|
|
202 | (1) |
|
|
|
203 | (50) |
|
|
|
204 | (5) |
|
Finding Distribution-Specific Security Resources |
|
|
207 | (1) |
|
Finding General Security Resources |
|
|
208 | (1) |
|
|
|
209 | (4) |
|
Using Password Protection |
|
|
209 | (1) |
|
|
|
210 | (1) |
|
Using a Shadow Password File |
|
|
211 | (1) |
|
Breaking Encrypted Passwords |
|
|
212 | (1) |
|
Checking for the Shadow Password File |
|
|
212 | (1) |
|
|
|
213 | (5) |
|
|
|
216 | (1) |
|
Redirecting Logs to a Loghost with syslogd |
|
|
216 | (1) |
|
Understanding the messages Log File |
|
|
217 | (1) |
|
|
|
218 | (4) |
|
|
|
218 | (1) |
|
Using the ssh, sftp, and scp Commands |
|
|
219 | (1) |
|
Using ssh, scp, and sftp Without Passwords |
|
|
220 | (2) |
|
|
|
222 | (25) |
|
Controlling Access to Services with TCP Wrappers |
|
|
222 | (3) |
|
Understanding Attack Techniques |
|
|
225 | (1) |
|
Protecting Against Denial of Service Attacks |
|
|
226 | (1) |
|
|
|
226 | (2) |
|
|
|
228 | (1) |
|
Smurf Amplification Attack |
|
|
228 | (1) |
|
Protecting Against Distributed DOS Attacks |
|
|
229 | (4) |
|
Protecting Against Intrusion Attacks |
|
|
233 | (1) |
|
Evaluating Access to Network Services |
|
|
233 | (2) |
|
Disabling Network Services |
|
|
235 | (1) |
|
Securing Servers with SELinux |
|
|
236 | (1) |
|
Protecting Web Servers with Certificates and Encryption |
|
|
237 | (1) |
|
|
|
237 | (1) |
|
|
|
238 | (1) |
|
|
|
238 | (9) |
|
Using Linux Live CD Security Tools |
|
|
247 | (1) |
|
Advantages of Security Live CDs |
|
|
247 | (1) |
|
Using INSERT to Check for rootkits |
|
|
247 | (1) |
|
|
|
248 | (5) |
|
Part III: Choosing and Installing a Linux Distribution |
|
|
|
|
|
253 | (30) |
|
Choosing a Linux Distribution |
|
|
254 | (1) |
|
|
|
254 | (1) |
|
|
|
255 | (1) |
|
Getting Your Own Linux Distribution |
|
|
255 | (4) |
|
Finding Another Linux Distribution |
|
|
256 | (1) |
|
Understanding What You Need |
|
|
256 | (1) |
|
Downloading the Distribution |
|
|
257 | (1) |
|
Burning the Distribution to CD |
|
|
258 | (1) |
|
Exploring Common Installation Topics |
|
|
259 | (22) |
|
Knowing Your Computer Hardware |
|
|
259 | (2) |
|
Upgrading or Installing from Scratch |
|
|
261 | (1) |
|
Dual Booting with Windows or Just Linux? |
|
|
261 | (2) |
|
Using Installation Boot Options |
|
|
263 | (1) |
|
|
|
263 | (1) |
|
Partitioning with Disk Druid During Installation |
|
|
264 | (3) |
|
|
|
267 | (2) |
|
Tips for Creating Partitions |
|
|
269 | (2) |
|
Using LILO or GRUB Boot Loaders |
|
|
271 | (1) |
|
Booting Your Computer with GRUB |
|
|
271 | (1) |
|
|
|
272 | (1) |
|
Temporarily Changing Boot Options |
|
|
272 | (1) |
|
Permanently Changing Boot Options |
|
|
273 | (2) |
|
Adding a New GRUB Boot Image |
|
|
275 | (1) |
|
Booting Your Computer with LILO |
|
|
275 | (4) |
|
Changing Your Boot Loader |
|
|
279 | (1) |
|
|
|
280 | (1) |
|
Configuring Other Administrative Features |
|
|
281 | (1) |
|
Installing from the Linux Bible CD or DVD |
|
|
281 | (1) |
|
|
|
282 | (1) |
|
Running Fedora and Red Hat Enterprise Linux |
|
|
283 | (20) |
|
|
|
285 | (3) |
|
Red Hat Installer (Anaconda) |
|
|
285 | (1) |
|
|
|
286 | (1) |
|
|
|
286 | (1) |
|
Red Hat Desktop Look-and-Feel |
|
|
287 | (1) |
|
System Configuration Tools |
|
|
288 | (1) |
|
Going Forward with Fedora |
|
|
288 | (1) |
|
Growing Community Support for Fedora |
|
|
288 | (1) |
|
|
|
289 | (1) |
|
|
|
289 | (2) |
|
|
|
291 | (11) |
|
Choosing Computer Hardware |
|
|
291 | (1) |
|
Choosing an Installation Method |
|
|
292 | (1) |
|
Installing on Multiple Computers |
|
|
293 | (1) |
|
|
|
293 | (1) |
|
Choosing to Install or Upgrade |
|
|
293 | (1) |
|
Beginning the Installation |
|
|
294 | (7) |
|
Running the Fedora Setup Agent |
|
|
301 | (1) |
|
|
|
302 | (1) |
|
|
|
303 | (24) |
|
|
|
304 | (3) |
|
|
|
304 | (1) |
|
Debian Package Management Tools |
|
|
305 | (2) |
|
|
|
307 | (1) |
|
|
|
307 | (1) |
|
Installing Debian GNU/Linux |
|
|
308 | (6) |
|
Hardware Requirements and Installation Planning |
|
|
308 | (1) |
|
|
|
309 | (1) |
|
|
|
309 | (1) |
|
|
|
309 | (5) |
|
Managing Your Debian System |
|
|
314 | (11) |
|
Configuring Network Connections |
|
|
314 | (1) |
|
IP Networks: Ethernet and Wireless |
|
|
315 | (1) |
|
|
|
316 | (1) |
|
|
|
317 | (1) |
|
Package Management Using APT |
|
|
317 | (1) |
|
Managing the List of Package Repositories |
|
|
318 | (1) |
|
Updating the APT Package Database |
|
|
318 | (1) |
|
Finding and Installing Packages |
|
|
319 | (1) |
|
|
|
320 | (1) |
|
|
|
320 | (1) |
|
Package Management Using dpkg |
|
|
321 | (1) |
|
Installing and Removing Packages |
|
|
321 | (1) |
|
Querying the Package Database |
|
|
321 | (1) |
|
|
|
322 | (1) |
|
Installing Package Sets (Tasks) with Tasksel |
|
|
323 | (1) |
|
Alternatives, Diversions, and Stat Overrides |
|
|
323 | (2) |
|
Managing Package Configuration with debconf |
|
|
325 | (1) |
|
|
|
325 | (2) |
|
Running SUSE and openSUSE Linux |
|
|
327 | (16) |
|
Understanding SUSE and openSUSE |
|
|
328 | (1) |
|
|
|
329 | (5) |
|
Installation and Configuration with YaST |
|
|
330 | (2) |
|
|
|
332 | (2) |
|
Automated Software Updates |
|
|
334 | (1) |
|
Managing Software with zypper |
|
|
334 | (1) |
|
Getting Support for SUSE and openSUSE |
|
|
334 | (1) |
|
|
|
335 | (6) |
|
|
|
335 | (1) |
|
|
|
336 | (1) |
|
|
|
337 | (2) |
|
|
|
339 | (2) |
|
|
|
341 | (1) |
|
|
|
341 | (2) |
|
|
|
343 | (22) |
|
|
|
343 | (1) |
|
|
|
344 | (6) |
|
|
|
344 | (1) |
|
|
|
344 | (2) |
|
What's Cool About KNOPPIX |
|
|
346 | (1) |
|
Examining Challenges with KNOPPIX |
|
|
347 | (1) |
|
Seeing Where KNOPPIX Comes From |
|
|
348 | (1) |
|
Exploring Uses for KNOPPIX |
|
|
349 | (1) |
|
|
|
350 | (6) |
|
|
|
350 | (1) |
|
|
|
351 | (1) |
|
|
|
351 | (3) |
|
|
|
354 | (1) |
|
Special Features and Workarounds |
|
|
355 | (1) |
|
|
|
356 | (7) |
|
|
|
357 | (1) |
|
Installing Software in KNOPPIX |
|
|
358 | (1) |
|
|
|
359 | (1) |
|
|
|
359 | (1) |
|
Creating a Persistent Home Directory |
|
|
360 | (1) |
|
Keeping Your KNOPPIX Configuration |
|
|
361 | (1) |
|
|
|
362 | (1) |
|
|
|
363 | (2) |
|
|
|
365 | (18) |
|
Understanding Yellow Dog Linux |
|
|
365 | (2) |
|
Going Forward with Yellow Dog |
|
|
367 | (1) |
|
|
|
368 | (1) |
|
Installing Yellow Dog Linux |
|
|
369 | (10) |
|
|
|
370 | (1) |
|
Planning Your Installation |
|
|
371 | (1) |
|
Installing Mac OS X and Yellow Dog Linux on One Hard Drive |
|
|
372 | (1) |
|
Installing Mac OS 9 or Earlier and Yellow Dog Linux on One Hard Drive |
|
|
372 | (1) |
|
Installing Mac OS 9 or Earlier, Mac OS X, and Yellow Dog Linux on Multiple Hard Drives |
|
|
373 | (1) |
|
Yellow Dog Linux 3.0.1 Special Considerations |
|
|
373 | (1) |
|
Beginning the Installation |
|
|
373 | (6) |
|
|
|
379 | (1) |
|
Updating Yellow Dog Linux |
|
|
379 | (2) |
|
Running Mac Applications with Mac-on-Linux |
|
|
381 | (1) |
|
|
|
381 | (1) |
|
|
|
382 | (1) |
|
|
|
383 | (20) |
|
|
|
383 | (4) |
|
Gentoo's Open Source Spirit |
|
|
384 | (1) |
|
|
|
385 | (1) |
|
Building, Tuning, and Tweaking Linux |
|
|
385 | (1) |
|
|
|
386 | (1) |
|
|
|
387 | (2) |
|
Managing Software with Portage |
|
|
388 | (1) |
|
Finding Software Packages |
|
|
388 | (1) |
|
|
|
389 | (1) |
|
|
|
389 | (13) |
|
|
|
389 | (1) |
|
|
|
390 | (1) |
|
Minimal/Universal Install CD |
|
|
390 | (1) |
|
Starting Gentoo Installation from a Live CD |
|
|
391 | (2) |
|
Starting Gentoo Installation from a Minimal CD |
|
|
393 | (8) |
|
Getting Software with emerge |
|
|
401 | (1) |
|
|
|
402 | (1) |
|
|
|
403 | (16) |
|
|
|
403 | (2) |
|
Characterizing the Slackware Community |
|
|
405 | (2) |
|
|
|
405 | (1) |
|
|
|
406 | (1) |
|
|
|
407 | (1) |
|
Challenges of Using Slackware |
|
|
407 | (1) |
|
Using Slackware as a Development Platform |
|
|
408 | (1) |
|
|
|
409 | (6) |
|
|
|
409 | (1) |
|
New Features in Slackware 12.0 |
|
|
409 | (1) |
|
|
|
410 | (1) |
|
|
|
410 | (5) |
|
|
|
415 | (2) |
|
|
|
417 | (2) |
|
Running Linspire and Freespire |
|
|
419 | (16) |
|
|
|
419 | (2) |
|
Which Version Is Right for You? |
|
|
421 | (4) |
|
Installing Software with Click-N-Run |
|
|
423 | (1) |
|
Other Installation Options |
|
|
424 | (1) |
|
Linspire and Freespire Support |
|
|
425 | (1) |
|
|
|
425 | (1) |
|
|
|
425 | (1) |
|
Installing Linspire or Freespire |
|
|
426 | (5) |
|
|
|
426 | (1) |
|
Installing Linspire or Freespire |
|
|
427 | (4) |
|
Securing Linspire and Freespire |
|
|
431 | (1) |
|
|
|
432 | (3) |
|
|
|
435 | (14) |
|
|
|
435 | (2) |
|
|
|
437 | (4) |
|
Mandriva Installer (DrakX) |
|
|
438 | (1) |
|
RPM Package Management with RPMDrake |
|
|
439 | (1) |
|
Mandriva Linux Control Center |
|
|
440 | (1) |
|
|
|
441 | (1) |
|
RPM Repository on Mandriva Club |
|
|
442 | (1) |
|
|
|
442 | (1) |
|
Installing Mandriva Limited Edition |
|
|
442 | (5) |
|
The Right Hardware for Mandriva |
|
|
443 | (1) |
|
Installing Mandriva with the DrakX Installer |
|
|
444 | (3) |
|
|
|
447 | (2) |
|
|
|
449 | (18) |
|
|
|
450 | (5) |
|
|
|
450 | (1) |
|
|
|
451 | (1) |
|
|
|
451 | (1) |
|
|
|
452 | (2) |
|
|
|
454 | (1) |
|
|
|
454 | (1) |
|
|
|
455 | (5) |
|
|
|
460 | (5) |
|
|
|
461 | (1) |
|
|
|
462 | (3) |
|
Getting More Information About Ubuntu |
|
|
465 | (1) |
|
|
|
466 | (1) |
|
Running a Linux Firewall/Router |
|
|
467 | (26) |
|
|
|
468 | (1) |
|
Protecting Desktops with Firewalls |
|
|
469 | (3) |
|
Starting Your Firewall in Fedora |
|
|
469 | (1) |
|
Configuring a Firewall in Mandriva |
|
|
470 | (2) |
|
Using Firewalls with iptables |
|
|
472 | (8) |
|
|
|
472 | (1) |
|
|
|
472 | (4) |
|
|
|
476 | (1) |
|
|
|
476 | (1) |
|
Using iptables to Do SNAT or IP Masquerading |
|
|
477 | (1) |
|
Adding Modules with iptables |
|
|
478 | (1) |
|
Using iptables as a Transparent Proxy |
|
|
479 | (1) |
|
Using iptables for Port Forwarding |
|
|
479 | (1) |
|
|
|
480 | (1) |
|
Finding Out More About iptables |
|
|
480 | (1) |
|
Making a Coyote Linux Bootable Floppy Firewall |
|
|
480 | (10) |
|
Creating a Coyote Linux Firewall |
|
|
481 | (1) |
|
Building the Coyote Linux Floppy |
|
|
482 | (6) |
|
Running the Coyote Linux Floppy Firewall |
|
|
488 | (1) |
|
Managing the Coyote Linux Floppy Firewall |
|
|
488 | (1) |
|
|
|
488 | (1) |
|
|
|
488 | (2) |
|
Using Other Firewall Distributions |
|
|
490 | (1) |
|
|
|
491 | (2) |
|
Running Bootable Linux Distributions |
|
|
493 | (20) |
|
Overview of Bootable Linux Distributions |
|
|
493 | (1) |
|
Choosing a Bootable Linux |
|
|
494 | (12) |
|
Security and Rescue Bootables |
|
|
495 | (1) |
|
BackTrack Network Security Suite |
|
|
496 | (1) |
|
|
|
497 | (1) |
|
KNOPPIX Security Tools Distribution |
|
|
498 | (1) |
|
The Inside Security Rescue Toolkit |
|
|
498 | (2) |
|
|
|
500 | (1) |
|
|
|
500 | (1) |
|
|
|
501 | (1) |
|
|
|
502 | (1) |
|
|
|
502 | (1) |
|
|
|
503 | (1) |
|
|
|
503 | (1) |
|
|
|
503 | (2) |
|
|
|
505 | (1) |
|
Special-Purpose Bootables |
|
|
506 | (2) |
|
Customizing a Bootable Linux |
|
|
508 | (2) |
|
|
|
510 | (3) |
|
Part IV: Running Applications |
|
|
|
|
|
513 | (36) |
|
Playing Digital Media and Obeying the Law |
|
|
514 | (4) |
|
Copyright Protection Issues |
|
|
514 | (2) |
|
|
|
516 | (2) |
|
|
|
518 | (13) |
|
|
|
518 | (2) |
|
Choosing an Audio CD Player |
|
|
520 | (1) |
|
Playing CDs with gnome-cd |
|
|
520 | (2) |
|
Playing Music with the Rhythmbox Audio Player |
|
|
522 | (2) |
|
Playing Music with the XMMS Multimedia Player |
|
|
524 | (4) |
|
|
|
528 | (1) |
|
Performing Audio File Conversion and Compression |
|
|
528 | (1) |
|
Converting Audio Files with SoX |
|
|
528 | (3) |
|
Compressing Music Files with oggenc |
|
|
531 | (1) |
|
Recording and Ripping Music |
|
|
531 | (5) |
|
Creating an Audio CD with cdrecord |
|
|
532 | (1) |
|
|
|
533 | (2) |
|
Creating CD Labels with cdlabelgen |
|
|
535 | (1) |
|
Working with TV, Video, and Digital Imaging |
|
|
536 | (4) |
|
|
|
536 | (1) |
|
Getting a Supported TV Card |
|
|
536 | (1) |
|
|
|
537 | (1) |
|
Video Conferencing with Ekiga |
|
|
538 | (1) |
|
Getting a Supported Webcam |
|
|
538 | (1) |
|
Opening Your Firewall for Ekiga |
|
|
539 | (1) |
|
|
|
539 | (1) |
|
Watching Movies and Video |
|
|
540 | (5) |
|
|
|
540 | (2) |
|
|
|
542 | (1) |
|
Creating Playlists with xine |
|
|
542 | (1) |
|
|
|
543 | (1) |
|
Using Helix Player and RealPlayer 10 |
|
|
544 | (1) |
|
Using a Digital Camera with gtkam and gPhoto2 |
|
|
545 | (2) |
|
Downloading Digital Photos with gtkam |
|
|
545 | (1) |
|
Using Your Camera as a Storage Device |
|
|
546 | (1) |
|
|
|
547 | (2) |
|
Working with Words and Images |
|
|
549 | (40) |
|
|
|
550 | (2) |
|
|
|
552 | (5) |
|
|
|
553 | (1) |
|
|
|
554 | (1) |
|
|
|
554 | (1) |
|
Getting Away from Windows |
|
|
555 | (2) |
|
Using Traditional Linux Publishing Tools |
|
|
557 | (1) |
|
Creating Documents in Groff or LaTeX |
|
|
558 | (20) |
|
Text Processing with Groff |
|
|
560 | (1) |
|
Formatting and Printing Documents with Groff |
|
|
561 | (1) |
|
Creating a Man Page with Groff |
|
|
561 | (3) |
|
Creating a Letter, Memo, or White Paper with Groff |
|
|
564 | (2) |
|
Adding Equations, Tables, and Pictures |
|
|
566 | (4) |
|
Text Processing with TeX/LaTeX |
|
|
570 | (1) |
|
Creating and Formatting a LaTeX Document |
|
|
570 | (1) |
|
Using the LyX LaTeX Editor |
|
|
571 | (1) |
|
|
|
572 | (1) |
|
|
|
573 | (1) |
|
Building Structured Documents |
|
|
574 | (1) |
|
Understanding SGML and XML |
|
|
574 | (1) |
|
|
|
575 | (3) |
|
Printing Documents in Linux |
|
|
578 | (3) |
|
Printing to the Default Printer |
|
|
579 | (1) |
|
|
|
579 | (1) |
|
Checking the Print Queues |
|
|
580 | (1) |
|
|
|
580 | (1) |
|
|
|
581 | (1) |
|
Displaying Documents with ghostscript and Acrobat |
|
|
581 | (2) |
|
Using the ghostscript and gv Commands |
|
|
581 | (1) |
|
Using Adobe Acrobat Reader |
|
|
582 | (1) |
|
|
|
583 | (3) |
|
Manipulating Images with GIMP |
|
|
583 | (2) |
|
Acquiring Screen Captures |
|
|
585 | (1) |
|
Modifying Images with KPaint |
|
|
585 | (1) |
|
Using Scanners Driven by SANE |
|
|
586 | (1) |
|
|
|
587 | (2) |
|
E-Mailing and Web Browsing |
|
|
589 | (34) |
|
|
|
589 | (18) |
|
Choosing an E-Mail Client |
|
|
589 | (2) |
|
Getting Here from Windows |
|
|
591 | (1) |
|
Getting Started with E-Mail |
|
|
592 | (1) |
|
|
|
593 | (1) |
|
Reading E-Mail with Thunderbird |
|
|
594 | (5) |
|
Connecting to the Mail Server |
|
|
599 | (1) |
|
|
|
599 | (1) |
|
Composing and Sending E-Mail |
|
|
600 | (1) |
|
Filtering E-Mail and Catching Spam |
|
|
601 | (1) |
|
Managing E-Mail in Evolution |
|
|
602 | (2) |
|
Receiving, Composing, and Sending E-Mail |
|
|
604 | (1) |
|
Managing E-Mail with Search Folders |
|
|
604 | (1) |
|
Filtering E-Mail Messages |
|
|
605 | (1) |
|
Reading E-Mail with Mozilla Mail |
|
|
606 | (1) |
|
Working with Text-Based E-Mail Readers |
|
|
606 | (1) |
|
|
|
606 | (1) |
|
|
|
607 | (1) |
|
|
|
607 | (1) |
|
|
|
607 | (1) |
|
Exploring the Mozilla Suite |
|
|
608 | (1) |
|
|
|
609 | (11) |
|
|
|
610 | (1) |
|
Setting Firefox Preferences |
|
|
610 | (2) |
|
|
|
612 | (1) |
|
|
|
613 | (1) |
|
|
|
614 | (2) |
|
|
|
616 | (1) |
|
|
|
616 | (1) |
|
Improving Firefox Browsing |
|
|
617 | (1) |
|
Adding a Preferences Toolbar |
|
|
617 | (1) |
|
|
|
618 | (1) |
|
Doing Cool Things with Firefox |
|
|
618 | (1) |
|
|
|
618 | (1) |
|
|
|
619 | (1) |
|
|
|
619 | (1) |
|
|
|
619 | (1) |
|
Using Text-Based Web Browsers |
|
|
620 | (1) |
|
|
|
621 | (2) |
|
|
|
623 | (26) |
|
|
|
623 | (1) |
|
Basic Linux Gaming Information |
|
|
624 | (4) |
|
Where to Get Information about Linux Gaming |
|
|
624 | (2) |
|
Choosing a Video Card for Gaming |
|
|
626 | (1) |
|
Binary-Only Video Card Drivers |
|
|
626 | (1) |
|
Open Source Video Drivers |
|
|
627 | (1) |
|
Running Open Source Linux Games |
|
|
628 | (10) |
|
|
|
628 | (1) |
|
|
|
629 | (2) |
|
|
|
631 | (1) |
|
|
|
632 | (5) |
|
PlanetPenguin Racer (TuxRacer) |
|
|
637 | (1) |
|
|
|
638 | (8) |
|
Getting Started with Commercial Games in Linux |
|
|
638 | (1) |
|
Playing Commercial Linux Games |
|
|
639 | (1) |
|
|
|
640 | (1) |
|
|
|
640 | (1) |
|
Return to Castle Wolfenstein |
|
|
641 | (1) |
|
Playing TransGaming and Cedega Games |
|
|
641 | (2) |
|
|
|
643 | (1) |
|
Civilization: Call to Power |
|
|
644 | (1) |
|
|
|
645 | (1) |
|
|
|
645 | (1) |
|
|
|
646 | (1) |
|
|
|
646 | (3) |
|
|
|
|
Running a Linux, Apache, MySQL, and PHP (LAMP) Server |
|
|
649 | (22) |
|
Components of a LAMP Server |
|
|
649 | (2) |
|
|
|
650 | (1) |
|
|
|
650 | (1) |
|
|
|
651 | (1) |
|
Setting Up Your LAMP Server |
|
|
651 | (4) |
|
|
|
652 | (1) |
|
|
|
652 | (2) |
|
|
|
654 | (1) |
|
Operating Your LAMP Server |
|
|
655 | (7) |
|
Editing Your Apache Configuration Files |
|
|
655 | (3) |
|
Adding a Virtual Host to Apache |
|
|
658 | (1) |
|
User Content and the userdir Setting |
|
|
659 | (1) |
|
Installing a Web Application: Coppermine Photo Gallery |
|
|
659 | (3) |
|
|
|
662 | (3) |
|
|
|
662 | (2) |
|
Access Forbidden and Server Internal Errors |
|
|
664 | (1) |
|
Securing Your Web Traffic with SSL/TLS |
|
|
665 | (5) |
|
|
|
667 | (1) |
|
Configuring Apache to Support SSL/TLS |
|
|
668 | (2) |
|
|
|
670 | (1) |
|
|
|
671 | (18) |
|
Internet E-Mail's Inner Workings |
|
|
671 | (2) |
|
About the System and the Software Used |
|
|
673 | (1) |
|
|
|
673 | (2) |
|
Configuring DNS for Direct Delivery |
|
|
674 | (1) |
|
Configuring for Retrieval from a Mail Host |
|
|
675 | (1) |
|
Installing and Configuring the Mail Server Software |
|
|
675 | (5) |
|
Installing Exim and Courier |
|
|
676 | (2) |
|
Installing ClamAV and SpamAssassin |
|
|
678 | (2) |
|
Testing and Troubleshooting |
|
|
680 | (4) |
|
|
|
680 | (1) |
|
Common Errors (and How to Fix Them) |
|
|
681 | (1) |
|
Messages Rejected by Exim |
|
|
681 | (2) |
|
Messages Not Delivered by Exim |
|
|
683 | (1) |
|
Login Failures When Connecting to Courier |
|
|
683 | (1) |
|
|
|
684 | (1) |
|
|
|
684 | (1) |
|
Configuring Web-Based Mail |
|
|
685 | (1) |
|
Securing Communications with SSL/TLS |
|
|
685 | (2) |
|
|
|
687 | (2) |
|
|
|
689 | (24) |
|
Common UNIX Printing Service |
|
|
690 | (1) |
|
|
|
691 | (10) |
|
Using Web-Based CUPS Administration |
|
|
691 | (3) |
|
Using the Red Hat Printer Configuration Window |
|
|
694 | (1) |
|
Configuring Local Printers in Fedora |
|
|
695 | (4) |
|
Configuring Remote Printers in Fedora |
|
|
699 | (1) |
|
Adding a Remote CUPS Printer |
|
|
699 | (1) |
|
Adding a Remote UNIX Printer |
|
|
700 | (1) |
|
Adding a Windows (SMB) Printer |
|
|
700 | (1) |
|
Working with CUPS Printing |
|
|
701 | (4) |
|
Configuring the CUPS Server (cupsd.conf) |
|
|
702 | (1) |
|
|
|
703 | (1) |
|
Configuring CUPS Printer Options Manually |
|
|
704 | (1) |
|
|
|
705 | (2) |
|
|
|
705 | (1) |
|
Listing Printer Status with Ipc |
|
|
706 | (1) |
|
Removing Print Jobs with Iprm |
|
|
706 | (1) |
|
Configuring Print Servers |
|
|
707 | (3) |
|
Configuring a Shared CUPS Printer |
|
|
707 | (2) |
|
Configuring a Shared Samba Printer |
|
|
709 | (1) |
|
Understanding smb.conf for Printing |
|
|
709 | (1) |
|
|
|
709 | (1) |
|
|
|
710 | (3) |
|
|
|
713 | (36) |
|
Setting Up an NFS File Server |
|
|
714 | (14) |
|
|
|
716 | (1) |
|
|
|
716 | (1) |
|
Configuring the/etc/exports File |
|
|
717 | (3) |
|
Exporting the Shared File Systems |
|
|
720 | (1) |
|
|
|
720 | (1) |
|
|
|
721 | (1) |
|
Manually Mounting an NFS File System |
|
|
721 | (2) |
|
Automatically Mounting an NFS File System |
|
|
723 | (2) |
|
Using autofs to Mount NFS File Systems on Demand |
|
|
725 | (1) |
|
Unmounting NFS File Systems |
|
|
726 | (1) |
|
Other Cool Things to Do with NFS |
|
|
727 | (1) |
|
Setting Up a Samba File Server |
|
|
728 | (17) |
|
Getting and Installing Samba |
|
|
729 | (1) |
|
Configuring Samba with SWAT |
|
|
730 | (1) |
|
Turning on the SWAT Service |
|
|
730 | (1) |
|
|
|
731 | (1) |
|
Creating Global Samba Settings in SWAT |
|
|
732 | (5) |
|
Configuring Shared Directories with SWAT |
|
|
737 | (2) |
|
Checking Your Samba Setup with SWAT |
|
|
739 | (1) |
|
Working with Samba Files and Commands |
|
|
739 | (1) |
|
Editing the smb.conf File |
|
|
739 | (1) |
|
|
|
740 | (1) |
|
Starting the Samba Service |
|
|
741 | (1) |
|
Testing Your Samba Permissions |
|
|
741 | (1) |
|
Checking the Status of Shared Directories |
|
|
742 | (1) |
|
Using Samba Shared Directories |
|
|
742 | (1) |
|
Using Samba from Nautilus |
|
|
742 | (1) |
|
Mounting Samba Directories in Linux |
|
|
743 | (1) |
|
Troubleshooting Your Samba Server |
|
|
743 | (1) |
|
Basic Networking in Place? |
|
|
743 | (1) |
|
|
|
744 | (1) |
|
|
|
744 | (1) |
|
|
|
745 | (1) |
|
|
|
745 | (4) |
|
Part VI: Programming in Linux |
|
|
|
Programming Environments and Interfaces |
|
|
749 | (30) |
|
Understanding Programming Environments |
|
|
749 | (1) |
|
Using Linux Programming Environment |
|
|
750 | (9) |
|
The Linux Development Environment |
|
|
751 | (1) |
|
|
|
752 | (1) |
|
CPU and Memory Protection |
|
|
753 | (1) |
|
|
|
754 | (1) |
|
|
|
755 | (1) |
|
|
|
756 | (1) |
|
Interprocess Communication |
|
|
757 | (1) |
|
The Building Blocks Philosophy |
|
|
757 | (2) |
|
Graphical Programming Environments |
|
|
759 | (6) |
|
Eclipse: The Universal Tool Platform |
|
|
759 | (2) |
|
|
|
761 | (1) |
|
|
|
762 | (2) |
|
The Command-Line Programming Environment |
|
|
764 | (1) |
|
Linux Programming Interfaces |
|
|
765 | (12) |
|
Creating Command-Line Interfaces |
|
|
765 | (1) |
|
Creating Text-Mode User Interfaces with ncurses |
|
|
766 | (3) |
|
Creating Text-Mode User Interfaces with S-Lang |
|
|
769 | (2) |
|
Creating Graphical Interfaces |
|
|
771 | (2) |
|
Application Programming Interfaces |
|
|
773 | (4) |
|
|
|
777 | (2) |
|
Programming Tools and Utilities |
|
|
779 | (30) |
|
|
|
779 | (1) |
|
|
|
780 | (6) |
|
Compiling Multiple Source Code Files |
|
|
782 | (2) |
|
|
|
784 | (2) |
|
Automating Builds with make |
|
|
786 | (2) |
|
|
|
788 | (5) |
|
|
|
789 | (1) |
|
|
|
790 | (1) |
|
|
|
791 | (1) |
|
|
|
792 | (1) |
|
Environment Variables and Configuration Files |
|
|
792 | (1) |
|
|
|
793 | (7) |
|
Source Code Control Using RCS |
|
|
793 | (1) |
|
Checking Files In and Out |
|
|
794 | (1) |
|
Making Changes to Repository Files |
|
|
795 | (1) |
|
Additional Command-Line Options |
|
|
795 | (1) |
|
Source Code Control with CVS |
|
|
796 | (4) |
|
Debugging with GNU Debugger |
|
|
800 | (8) |
|
|
|
801 | (2) |
|
Inspecting Code in the Debugger |
|
|
803 | (1) |
|
|
|
804 | (2) |
|
|
|
806 | (1) |
|
|
|
807 | (1) |
|
|
|
808 | (1) |
| Appendix A: Media |
|
809 | (10) |
| Appendix B: Entering the Linux Community |
|
819 | (6) |
| Index |
|
825 | |