| Introduction |
|
1 | (1) |
| Why Use Linux? |
|
2 | (1) |
| Who This Book Is For |
|
3 | (1) |
| What This Book Contains |
|
3 | (2) |
| Conventions Used in This Book |
|
5 | (2) |
|
Part I Installation and Configuration |
|
|
7 | (62) |
|
|
|
9 | (14) |
|
|
|
9 | (5) |
|
|
|
10 | (2) |
|
|
|
12 | (1) |
|
The openSUSE Install Program |
|
|
13 | (1) |
|
|
|
13 | (1) |
|
|
|
14 | (1) |
|
Getting Help: Documentation and Other Sources |
|
|
14 | (7) |
|
Printed Documentation and the openSUSE Help Center |
|
|
14 | (1) |
|
Searching the Help Center |
|
|
15 | (1) |
|
|
|
16 | (1) |
|
|
|
17 | (1) |
|
The Linux Documentation Project |
|
|
17 | (1) |
|
The openSUSE Mailing Lists |
|
|
18 | (1) |
|
Filing a Bug in openSUSE's Bug Tracker |
|
|
19 | (1) |
|
|
|
20 | (1) |
|
|
|
21 | (2) |
|
Preparing to Install openSUSE |
|
|
23 | (12) |
|
Planning Your openSUSE Installation |
|
|
24 | (1) |
|
|
|
25 | (7) |
|
|
|
27 | (1) |
|
openSUSE and Legacy Hardware |
|
|
27 | (1) |
|
Avoiding Potential Hardware Problems |
|
|
28 | (1) |
|
Dual Booting, Partitioning, and Other Worries |
|
|
29 | (1) |
|
Dual Booting with Windows |
|
|
30 | (1) |
|
How to Partition Your Drive(s) |
|
|
31 | (1) |
|
|
|
32 | (3) |
|
|
|
35 | (14) |
|
Methods of Installing openSUSE |
|
|
35 | (1) |
|
Preparing to Install from a CD-ROM or DVD |
|
|
35 | (2) |
|
Installing openSUSE with YaST |
|
|
37 | (9) |
|
|
|
38 | (1) |
|
Selecting a Desktop Environment |
|
|
38 | (1) |
|
Initial Installation Settings |
|
|
38 | (1) |
|
|
|
38 | (1) |
|
Installing Software Packages |
|
|
39 | (1) |
|
|
|
40 | (1) |
|
Setting a Hostname and Domain Name |
|
|
41 | (1) |
|
Configuring Network and Internet Connections |
|
|
41 | (3) |
|
|
|
44 | (1) |
|
Configuring Hardware for the X Window System |
|
|
45 | (1) |
|
Logging In and Shutting Down the First Time |
|
|
46 | (1) |
|
|
|
47 | (2) |
|
Further Configuration with YaST and SaX2 |
|
|
49 | (20) |
|
Troubleshooting Installation Problems |
|
|
49 | (1) |
|
Configuring Hardware with YaST |
|
|
50 | (7) |
|
Gathering Information About Your Hardware |
|
|
50 | (1) |
|
Modifying Disk Controller Settings |
|
|
50 | (1) |
|
Configuring Your Sound and Video Cards |
|
|
51 | (3) |
|
|
|
54 | (1) |
|
Adjusting Your Keyboard Layout |
|
|
54 | (1) |
|
|
|
55 | (1) |
|
|
|
56 | (1) |
|
Configuring Your TV or Radio Card |
|
|
56 | (1) |
|
|
|
57 | (4) |
|
Using the Network Time Protocol (NTP) to Keep Accurate Time |
|
|
58 | (3) |
|
|
|
61 | (3) |
|
|
|
62 | (2) |
|
|
|
64 | (2) |
|
Power Management for Laptops |
|
|
64 | (1) |
|
Working with PCMCIA Cards |
|
|
64 | (1) |
|
Configuring Bluetooth Wireless Support |
|
|
64 | (1) |
|
Configuring Infrared Interface (IrDA) Mode |
|
|
65 | (1) |
|
Configuring CD, DVD, and Rewritable Drives |
|
|
66 | (1) |
|
Integrating CD and DVD Drives into Your System |
|
|
66 | (1) |
|
|
|
67 | (2) |
|
|
|
69 | (176) |
|
Getting Started with openSUSE |
|
|
71 | (26) |
|
|
|
72 | (1) |
|
Logging In from the Shell |
|
|
72 | (1) |
|
|
|
72 | (1) |
|
Working with the Linux File System |
|
|
72 | (2) |
|
Essential File System Commands from the /bin and /sbin Directories |
|
|
74 | (1) |
|
Using the /boot and /dev Directories |
|
|
74 | (1) |
|
Editing Configuration Files in the /etc Directory |
|
|
75 | (1) |
|
Where All the Good Stuff Goes: Your /home Directory |
|
|
76 | (1) |
|
Finding Desktop Programs in /opt |
|
|
76 | (1) |
|
Where Most of the Programs Go: The /usr Directory |
|
|
77 | (1) |
|
Variable Data: The/var Directory |
|
|
77 | (1) |
|
Changing User Information and the Finger Program |
|
|
77 | (1) |
|
Choosing and Using a Shell |
|
|
78 | (7) |
|
Cool Stuff That All Shells Have in Common |
|
|
78 | (1) |
|
|
|
79 | (2) |
|
|
|
81 | (1) |
|
|
|
82 | (1) |
|
Managing Files with Midnight Commander |
|
|
82 | (1) |
|
|
|
83 | (1) |
|
|
|
84 | (1) |
|
|
|
85 | (4) |
|
Working with vim and Its Clones |
|
|
86 | (1) |
|
Working with emacs and Its Clones |
|
|
87 | (1) |
|
|
|
88 | (1) |
|
Why Can't I Edit This File? How Permissions Work |
|
|
89 | (3) |
|
|
|
90 | (2) |
|
|
|
92 | (1) |
|
|
|
92 | (3) |
|
Creating and Deleting Users |
|
|
93 | (1) |
|
Shutting Down and Rebooting the System |
|
|
94 | (1) |
|
|
|
95 | (2) |
|
|
|
95 | (1) |
|
|
|
95 | (1) |
|
|
|
96 | (1) |
|
|
|
96 | (1) |
|
|
|
97 | (26) |
|
Understanding the X Window System |
|
|
98 | (2) |
|
Configuring X in openSUSE |
|
|
98 | (2) |
|
|
|
100 | (2) |
|
|
|
101 | (1) |
|
Configuring the Compiz Window Manager |
|
|
102 | (1) |
|
Choosing a Desktop Environment: KDE and GNOME |
|
|
102 | (5) |
|
KDE: The K Desktop Environment |
|
|
104 | (2) |
|
GNOME: The GNU Network Object Model Environment |
|
|
106 | (1) |
|
Managing Files from Your Desktop |
|
|
107 | (5) |
|
|
|
108 | (2) |
|
|
|
110 | (1) |
|
|
|
111 | (1) |
|
Configuring Your Desktop Environment |
|
|
112 | (4) |
|
|
|
112 | (2) |
|
|
|
114 | (2) |
|
What Is a Window Manager and Why Would I Want to Use It? |
|
|
116 | (4) |
|
Why Run a Window Manager? |
|
|
116 | (1) |
|
Starting Up with a Window Manager |
|
|
117 | (1) |
|
|
|
117 | (1) |
|
|
|
118 | (1) |
|
|
|
119 | (1) |
|
|
|
120 | (3) |
|
|
|
123 | (16) |
|
|
|
123 | (1) |
|
Common Unix Printing System (CUPS) |
|
|
124 | (1) |
|
Configuring Printers with YaST |
|
|
125 | (5) |
|
Configuring CUPS and Network Printers with KDEPrint |
|
|
130 | (2) |
|
|
|
132 | (1) |
|
Working with the Portable Document format (PDF) |
|
|
133 | (2) |
|
|
|
135 | (1) |
|
Using Basic Print Commands |
|
|
135 | (1) |
|
Avoiding Printing Problems |
|
|
136 | (1) |
|
Multifunction (Print/Fax/Scanner Devices |
|
|
136 | (1) |
|
USB and Older InkJet Printers |
|
|
136 | (1) |
|
|
|
137 | (2) |
|
Shaking Hands with Your Shell |
|
|
139 | (22) |
|
|
|
140 | (1) |
|
Using the Shell in openSUSE |
|
|
141 | (5) |
|
|
|
141 | (2) |
|
|
|
143 | (1) |
|
|
|
144 | (2) |
|
The Power of the Command Line |
|
|
146 | (4) |
|
Pattern Matching in the Shell |
|
|
147 | (2) |
|
Redirecting Input and Output |
|
|
149 | (1) |
|
|
|
149 | (1) |
|
|
|
150 | (1) |
|
|
|
150 | (5) |
|
|
|
150 | (1) |
|
|
|
151 | (1) |
|
|
|
152 | (1) |
|
|
|
153 | (1) |
|
|
|
154 | (1) |
|
Advanced Shell Programming |
|
|
155 | (4) |
|
|
|
155 | (1) |
|
|
|
156 | (3) |
|
|
|
159 | (2) |
|
Being Productive: Office Suites and Other Tools |
|
|
161 | (26) |
|
Comparing Linux Office Suites |
|
|
161 | (13) |
|
|
|
162 | (6) |
|
|
|
168 | (3) |
|
|
|
171 | (1) |
|
|
|
172 | (1) |
|
|
|
172 | (2) |
|
Connecting with PDAs and Smart Phones |
|
|
174 | (4) |
|
Command-Line PDA Software for openSUSE |
|
|
174 | (1) |
|
|
|
175 | (3) |
|
More Tools to Make You Productive |
|
|
178 | (7) |
|
Voice-over-IP (VoIP) with Skype and Ekiga |
|
|
178 | (2) |
|
Desktop Publishing with Scribus |
|
|
180 | (1) |
|
Diagramming and Flowcharting with Dia and Kivio |
|
|
181 | (1) |
|
|
|
182 | (1) |
|
Fax and Scanner Applications |
|
|
183 | (2) |
|
|
|
185 | (2) |
|
Sights, Sounds, and Other Fun Things |
|
|
187 | (40) |
|
Playing Music and Listening to the Radio |
|
|
187 | (13) |
|
|
|
187 | (2) |
|
|
|
189 | (1) |
|
|
|
190 | (4) |
|
|
|
194 | (2) |
|
|
|
196 | (1) |
|
|
|
197 | (1) |
|
|
|
198 | (2) |
|
Internet Radio and Other Streaming Media |
|
|
200 | (1) |
|
Creating Music with the Linux Multimedia Studio (LMMS) |
|
|
200 | (1) |
|
|
|
201 | (7) |
|
Creating CDs and DVDs from Your Desktop |
|
|
203 | (2) |
|
Creating a CD from the Shell |
|
|
205 | (1) |
|
Creating DVDs from the Shell |
|
|
206 | (2) |
|
|
|
208 | (3) |
|
|
|
209 | (1) |
|
|
|
210 | (1) |
|
Watching TV on Your Computer |
|
|
211 | (3) |
|
|
|
211 | (1) |
|
Building Your Own Personal Video Recorder |
|
|
212 | (2) |
|
Linux and Your Digital Camera |
|
|
214 | (2) |
|
|
|
215 | (1) |
|
|
|
216 | (6) |
|
Editing Photos with The GIMP |
|
|
216 | (2) |
|
|
|
218 | (2) |
|
|
|
220 | (2) |
|
|
|
222 | (2) |
|
Games with your Desktop Environment |
|
|
223 | (1) |
|
Freeciv: A Free Strategy Game |
|
|
223 | (1) |
|
|
|
224 | (3) |
|
|
|
227 | (18) |
|
Viewing Files from the Windows Side of Your Computer |
|
|
227 | (2) |
|
Emulating Other Operating Systems in Linux: An Overview |
|
|
229 | (1) |
|
A Few Misconceptions About Cross-Platform Tools |
|
|
229 | (1) |
|
Using Wine to Run Windows Applications |
|
|
229 | (5) |
|
Installing and Configuring Wine |
|
|
230 | (1) |
|
Installing Windows Applications Under Wine |
|
|
231 | (1) |
|
|
|
232 | (1) |
|
|
|
232 | (2) |
|
Running Windows Applications with Win4Lin |
|
|
234 | (2) |
|
|
|
234 | (1) |
|
|
|
235 | (1) |
|
Running Windows Applications with VMware |
|
|
236 | (2) |
|
|
|
236 | (1) |
|
Making Space for Your Virtual Machine |
|
|
236 | (2) |
|
|
|
238 | (1) |
|
Emulating a Mac with Basilisk II |
|
|
238 | (1) |
|
|
|
239 | (1) |
|
Xen: The Future of Virtualization? |
|
|
239 | (3) |
|
Installing the Xen Server |
|
|
240 | (1) |
|
Installing a Guest OS in Xen |
|
|
241 | (1) |
|
|
|
242 | (3) |
|
Part III Using the Internet |
|
|
245 | (126) |
|
Connecting to the Internet |
|
|
247 | (18) |
|
Basic Connectivity Information |
|
|
247 | (2) |
|
Starting with a localhost Interface |
|
|
249 | (1) |
|
Configuring localhost Manually |
|
|
249 | (1) |
|
Configuring Your Dial-up Internet Connection |
|
|
250 | (5) |
|
Using YaST to Set Up Your Dial-up Connection |
|
|
251 | (4) |
|
Configuring a Digital Subscriber Line (DSL) Connection |
|
|
255 | (4) |
|
Using YaST to Set Up Your DSL Connection |
|
|
255 | (4) |
|
Connecting Your Computer to a Wireless Network |
|
|
259 | (3) |
|
Getting Firmware and Drivers in Place |
|
|
259 | (1) |
|
|
|
260 | (1) |
|
Configuring Your Wireless Card |
|
|
261 | (1) |
|
When to Call Your Internet Service Provider |
|
|
262 | (1) |
|
|
|
263 | (2) |
|
Using the Internet: Browsing the Web and Writing Email |
|
|
265 | (24) |
|
|
|
265 | (8) |
|
Mozilla, Firefox, and SeaMonkey |
|
|
266 | (3) |
|
|
|
269 | (2) |
|
|
|
271 | (1) |
|
|
|
271 | (1) |
|
|
|
272 | (1) |
|
Choosing a Mail Client (Mail User Agent) |
|
|
273 | (10) |
|
|
|
274 | (4) |
|
KDE Personal Information Manager: Kmail/KOrganizer and Kontact |
|
|
278 | (2) |
|
SeaMonkey Mail and Thunderbird |
|
|
280 | (1) |
|
|
|
281 | (1) |
|
|
|
282 | (1) |
|
Managing Your Calendar (and Other Life Tasks) |
|
|
283 | (1) |
|
|
|
283 | (1) |
|
|
|
283 | (1) |
|
|
|
284 | (1) |
|
|
|
284 | (3) |
|
|
|
285 | (1) |
|
|
|
285 | (1) |
|
|
|
285 | (1) |
|
|
|
286 | (1) |
|
Using UUDeview to Decode a File Attachment |
|
|
286 | (1) |
|
|
|
287 | (2) |
|
|
|
289 | (22) |
|
Choosing a Web Development Tool |
|
|
289 | (7) |
|
|
|
289 | (4) |
|
Browser-Based Page Creators |
|
|
293 | (1) |
|
|
|
293 | (2) |
|
|
|
295 | (1) |
|
Practice: Building a Site with Quanta Plus |
|
|
296 | (6) |
|
|
|
302 | (7) |
|
|
|
304 | (1) |
|
|
|
305 | (1) |
|
|
|
306 | (2) |
|
|
|
308 | (1) |
|
|
|
308 | (1) |
|
|
|
309 | (2) |
|
|
|
311 | (22) |
|
|
|
311 | (9) |
|
|
|
313 | (2) |
|
|
|
315 | (2) |
|
|
|
317 | (3) |
|
Email Server Configuration |
|
|
320 | (5) |
|
|
|
320 | (1) |
|
|
|
320 | (2) |
|
|
|
322 | (3) |
|
Fighting Spam and Viruses |
|
|
325 | (7) |
|
|
|
326 | (4) |
|
|
|
330 | (1) |
|
|
|
331 | (1) |
|
|
|
332 | (1) |
|
Collaborating with Others |
|
|
333 | (24) |
|
Getting News from RSS WebFeeds |
|
|
334 | (5) |
|
|
|
334 | (2) |
|
|
|
336 | (2) |
|
|
|
338 | (1) |
|
|
|
339 | (2) |
|
Choosing a Usenet Newsreader |
|
|
341 | (4) |
|
|
|
341 | (1) |
|
Standalone GUI Newsreaders |
|
|
342 | (3) |
|
|
|
345 | (1) |
|
|
|
345 | (4) |
|
|
|
346 | (2) |
|
|
|
348 | (1) |
|
Hosting Electronic Mailing Lists |
|
|
349 | (2) |
|
|
|
350 | (1) |
|
|
|
350 | (1) |
|
Working with Instant Messengers and Internet Relay Chat |
|
|
351 | (3) |
|
Internet Relay Chat (IRC) |
|
|
351 | (2) |
|
|
|
353 | (1) |
|
|
|
354 | (3) |
|
|
|
357 | (14) |
|
Choosing a File Transfer Protocol (FTP) Client |
|
|
358 | (5) |
|
|
|
358 | (2) |
|
Using sftp for Secure File Transfers |
|
|
360 | (1) |
|
|
|
361 | (2) |
|
Peer-to-Peer File Transfer |
|
|
363 | (7) |
|
Napster-Style File Sharing |
|
|
364 | (3) |
|
|
|
367 | (3) |
|
|
|
370 | (1) |
|
Part IV Basic System Administration |
|
|
371 | (86) |
|
Managing Files, Volumes, and Drives |
|
|
373 | (30) |
|
|
|
374 | (3) |
|
Understanding the Physical Structure of a Disk |
|
|
374 | (1) |
|
|
|
375 | (1) |
|
The Extended File System (ext2, ext3) |
|
|
376 | (1) |
|
|
|
376 | (1) |
|
|
|
377 | (1) |
|
Creating and Managing File Systems with Partitioner |
|
|
377 | (6) |
|
|
|
378 | (5) |
|
|
|
383 | (3) |
|
|
|
384 | (1) |
|
|
|
384 | (1) |
|
Using /etc/fstab to Automatically Mount File Systems |
|
|
385 | (1) |
|
Logical Volume Management (LVM) |
|
|
386 | (1) |
|
|
|
387 | (8) |
|
|
|
387 | (1) |
|
|
|
388 | (1) |
|
|
|
389 | (1) |
|
|
|
390 | (1) |
|
|
|
391 | (1) |
|
|
|
391 | (4) |
|
|
|
395 | (4) |
|
Creating a File System for Testing |
|
|
396 | (1) |
|
Mounting a Read-Only Partition on a Running System |
|
|
397 | (1) |
|
Examining a Floppy Image File |
|
|
398 | (1) |
|
Managing Files for Character Devices, Block Devices, and Special Devices |
|
|
399 | (2) |
|
|
|
401 | (2) |
|
Managing Users, Managing Security |
|
|
403 | (16) |
|
User Accounts and Permissions |
|
|
403 | (5) |
|
Setting Up User Accounts in YaST |
|
|
404 | (3) |
|
|
|
407 | (1) |
|
RWX: Understanding Permissions |
|
|
407 | (1) |
|
Who Needs What? Managing Groups |
|
|
408 | (1) |
|
|
|
408 | (1) |
|
Passwords: The First Line of Security |
|
|
409 | (4) |
|
The passwd and shadow Files |
|
|
410 | (1) |
|
|
|
411 | (1) |
|
User Authentication Settings with Pluggable Authentication Modules (PAM) |
|
|
411 | (2) |
|
|
|
413 | (1) |
|
Shell Tools for Watching Users |
|
|
413 | (1) |
|
Letting Mortals Play at Wizardry: SuperUsers |
|
|
414 | (3) |
|
Changing User Identity with su |
|
|
415 | (1) |
|
Using sudo to Grant Root Privileges |
|
|
415 | (2) |
|
|
|
417 | (2) |
|
Managing Data: Backup, Restoring, and Recovery |
|
|
419 | (22) |
|
Preparing for Preventing Data Loss |
|
|
419 | (4) |
|
|
|
419 | (1) |
|
Assessing Your Needs and Resources |
|
|
420 | (1) |
|
Choosing a Backup Strategy |
|
|
421 | (2) |
|
Choosing Your Backup Medium |
|
|
423 | (2) |
|
|
|
423 | (1) |
|
|
|
423 | (1) |
|
|
|
424 | (1) |
|
|
|
425 | (1) |
|
Using the YaST System Backup |
|
|
425 | (3) |
|
|
|
428 | (4) |
|
|
|
429 | (1) |
|
|
|
430 | (1) |
|
|
|
431 | (1) |
|
Setting Up Mirror Disks and RAID Arrays |
|
|
432 | (4) |
|
|
|
436 | (3) |
|
Booting from the openSUSE DVD |
|
|
436 | (1) |
|
Booting from a Rescue Disk Set |
|
|
436 | (1) |
|
|
|
436 | (3) |
|
|
|
439 | (2) |
|
Keeping Your System Current: Package Management |
|
|
441 | (16) |
|
Installing Software with YaST |
|
|
441 | (7) |
|
Managing Software Installation Sources |
|
|
446 | (2) |
|
The Basics of the Red Hat Package Management System (RPM) |
|
|
448 | (3) |
|
Downloading RPM Packages Outside of YaST |
|
|
449 | (2) |
|
Updating Your System with openSUSE Updater |
|
|
451 | (2) |
|
Running the openSUSE Update System |
|
|
451 | (2) |
|
Using the Online Updater to Monitor Update Servers |
|
|
453 | (1) |
|
Updating Your System with Smart |
|
|
453 | (2) |
|
Compiling Software from Source |
|
|
455 | (1) |
|
|
|
456 | (1) |
|
Part V Advanced System Administration |
|
|
457 | (110) |
|
Managing the Boot Process and Other Services |
|
|
459 | (18) |
|
Understanding the Boot Process |
|
|
460 | (5) |
|
Starting to Boot: BIOS to Boot Manager |
|
|
460 | (1) |
|
Choosing a Boot Manager: GRUB Versus LILO |
|
|
460 | (4) |
|
|
|
464 | (1) |
|
System Services and Runlevels |
|
|
465 | (3) |
|
Controlling Services at Boot with the YaST Runlevel Editor |
|
|
468 | (3) |
|
Using the Runlevel Editor |
|
|
469 | (1) |
|
|
|
470 | (1) |
|
Manually Starting and Stopping Services |
|
|
471 | (1) |
|
|
|
471 | (4) |
|
|
|
471 | (2) |
|
|
|
473 | (1) |
|
|
|
473 | (2) |
|
|
|
475 | (2) |
|
|
|
477 | (16) |
|
Understanding Computer Attacks |
|
|
478 | (1) |
|
Assessing Your Vulnerability |
|
|
479 | (2) |
|
|
|
481 | (1) |
|
Securing a Wireless Network |
|
|
481 | (1) |
|
Another Word on Passwords and Physical Security |
|
|
482 | (1) |
|
Configuring the SUSE Firewall |
|
|
482 | (4) |
|
Protecting Applications with AppArmor |
|
|
486 | (2) |
|
Other Security Utilities to Consider |
|
|
488 | (1) |
|
What to Do if You've Been Hacked |
|
|
489 | (1) |
|
Keeping Up to Date on Linux Security Issues |
|
|
490 | (1) |
|
|
|
491 | (2) |
|
Kernel and Module Management |
|
|
493 | (14) |
|
Linus's Baby: The Linux Kernel |
|
|
494 | (1) |
|
|
|
494 | (1) |
|
|
|
494 | (1) |
|
|
|
495 | (1) |
|
|
|
496 | (1) |
|
|
|
497 | (1) |
|
Getting New Kernel Sources |
|
|
498 | (1) |
|
|
|
499 | (1) |
|
|
|
500 | (2) |
|
|
|
502 | (1) |
|
|
|
502 | (1) |
|
Runtime Errors, Bootloader Problems, and Kernel Oops |
|
|
503 | (1) |
|
Kernel Tuning with sysctl |
|
|
503 | (2) |
|
|
|
505 | (2) |
|
Setting Up Networks and Samba |
|
|
507 | (22) |
|
|
|
507 | (3) |
|
|
|
508 | (1) |
|
The Next Step: Internet Protocol, Version 6 (IPv6) Addressing |
|
|
509 | (1) |
|
|
|
510 | (1) |
|
|
|
510 | (2) |
|
|
|
510 | (1) |
|
|
|
511 | (1) |
|
Network Address Translation (NAT) |
|
|
511 | (1) |
|
Hardware Devices in Networking |
|
|
512 | (2) |
|
Network Interface Cards (NICs) |
|
|
512 | (1) |
|
|
|
513 | (1) |
|
|
|
513 | (1) |
|
|
|
513 | (1) |
|
|
|
514 | (1) |
|
|
|
514 | (1) |
|
Initializing New Network Hardware |
|
|
514 | (3) |
|
Using the Network File System |
|
|
517 | (1) |
|
Starting and Configuring the NFS Server |
|
|
517 | (1) |
|
Importing Directories with the NFS Client |
|
|
518 | (1) |
|
Playing Nice with Microsoft Windows using Samba |
|
|
518 | (7) |
|
|
|
518 | (2) |
|
|
|
520 | (5) |
|
Securing Network Services |
|
|
525 | (1) |
|
|
|
526 | (3) |
|
Managing Web and FTP Servers |
|
|
529 | (20) |
|
|
|
529 | (1) |
|
|
|
530 | (2) |
|
Building Apache from the Source Code |
|
|
531 | (1) |
|
Starting and Stopping Apache |
|
|
532 | (1) |
|
Runtime Server Configuration Settings |
|
|
533 | (2) |
|
Additional Settings in httpd.conf |
|
|
535 | (1) |
|
File System Authentication and Access Control |
|
|
535 | (4) |
|
Restricting Access with allow and deny |
|
|
536 | (1) |
|
|
|
536 | (3) |
|
|
|
539 | (1) |
|
|
|
540 | (2) |
|
Name-Based Virtual Hosting |
|
|
540 | (1) |
|
IP-Address-Based Virtual Hosting |
|
|
541 | (1) |
|
|
|
542 | (2) |
|
|
|
542 | (1) |
|
|
|
543 | (1) |
|
|
|
544 | (1) |
|
|
|
544 | (2) |
|
|
|
544 | (1) |
|
|
|
545 | (1) |
|
|
|
545 | (1) |
|
|
|
545 | (1) |
|
|
|
545 | (1) |
|
|
|
545 | (1) |
|
|
|
546 | (1) |
|
|
|
546 | (1) |
|
Configuring xinetd for Secure File Transfer |
|
|
546 | (1) |
|
Configuring Secure File Transfer Servers |
|
|
547 | (1) |
|
|
|
548 | (1) |
|
|
|
549 | (18) |
|
|
|
550 | (2) |
|
|
|
552 | (3) |
|
|
|
554 | (1) |
|
|
|
555 | (1) |
|
Configuring DNS with YaST2 |
|
|
555 | (3) |
|
|
|
558 | (1) |
|
|
|
558 | (2) |
|
Configuring Name Servers with BIND |
|
|
560 | (4) |
|
|
|
564 | (1) |
|
|
|
565 | (1) |
|
|
|
566 | (1) |
|
|
|
567 | (100) |
|
|
|
569 | (20) |
|
Basic Programming in C Under Linux |
|
|
570 | (1) |
|
|
|
570 | (1) |
|
Building Applications with Eclipse |
|
|
571 | (5) |
|
Installing and Updating Eclipse |
|
|
572 | (1) |
|
Using the Eclipse Workbench |
|
|
573 | (2) |
|
Creating a Small Java Application in Eclipse |
|
|
575 | (1) |
|
Using the KDevelop Integrated Development Environment |
|
|
576 | (3) |
|
Using Anjuta to Create GNOME Applications |
|
|
579 | (2) |
|
Using the GNU Compiler Collection |
|
|
581 | (2) |
|
Managing Collective Software Development with CVS and Subversion |
|
|
583 | (1) |
|
|
|
584 | (3) |
|
|
|
585 | (1) |
|
Listing Files and Generating Patches |
|
|
586 | (1) |
|
Building and Testing Your RPM Package |
|
|
587 | (1) |
|
Other Linux Programming Resources |
|
|
587 | (1) |
|
|
|
588 | (1) |
|
|
|
589 | (22) |
|
What Is a Relational Database? |
|
|
589 | (2) |
|
|
|
591 | (9) |
|
|
|
591 | (2) |
|
Completing MySQL Initial Configuration Tasks |
|
|
593 | (4) |
|
Creating Databases and Tables |
|
|
597 | (3) |
|
|
|
600 | (5) |
|
|
|
601 | (1) |
|
|
|
602 | (2) |
|
|
|
604 | (1) |
|
Using openSUSE Database Clients |
|
|
605 | (4) |
|
|
|
605 | (2) |
|
|
|
607 | (2) |
|
|
|
609 | (2) |
|
|
|
611 | (16) |
|
|
|
612 | (1) |
|
|
|
612 | (2) |
|
|
|
614 | (4) |
|
Perl Variables and Data Structures |
|
|
614 | (1) |
|
Operators and Other Statements |
|
|
615 | (1) |
|
|
|
616 | (1) |
|
Perl Command Line Arguments |
|
|
617 | (1) |
|
|
|
618 | (1) |
|
|
|
619 | (1) |
|
|
|
620 | (1) |
|
|
|
621 | (1) |
|
|
|
622 | (2) |
|
Python Variables and Data Structures |
|
|
622 | (1) |
|
|
|
622 | (1) |
|
Extreme Object Orientation |
|
|
623 | (1) |
|
Python Command Line Arguments |
|
|
623 | (1) |
|
|
|
624 | (1) |
|
Python IDEs and the Interactive Shell |
|
|
625 | (1) |
|
|
|
626 | (1) |
|
Creating Dynamic Websites |
|
|
627 | (14) |
|
|
|
627 | (6) |
|
|
|
628 | (1) |
|
|
|
629 | (2) |
|
Adding More Functions to PHP |
|
|
631 | (1) |
|
|
|
632 | (1) |
|
Setting Up an Interactive Site with Drupal |
|
|
633 | (1) |
|
|
|
633 | (1) |
|
Installing Drupal Modutes |
|
|
634 | (1) |
|
Setting Up a Web-Based Community Forum |
|
|
634 | (6) |
|
|
|
634 | (2) |
|
Configuring phpBB and Creating Forums |
|
|
636 | (4) |
|
|
|
640 | (1) |
|
|
|
641 | (10) |
|
|
|
642 | (2) |
|
|
|
644 | (5) |
|
Choosing the Best Hardware |
|
|
644 | (2) |
|
Tuning Hard Drive Parameters at Boot |
|
|
646 | (1) |
|
|
|
647 | (1) |
|
Disabling File Access Time |
|
|
648 | (1) |
|
|
|
648 | (1) |
|
|
|
649 | (2) |
|
Command-Line Master Class |
|
|
651 | (16) |
|
|
|
652 | (1) |
|
|
|
652 | (1) |
|
|
|
652 | (1) |
|
|
|
653 | (9) |
|
|
|
653 | (2) |
|
|
|
655 | (2) |
|
Changing File Permissions |
|
|
657 | (1) |
|
|
|
657 | (1) |
|
|
|
658 | (1) |
|
|
|
659 | (1) |
|
|
|
660 | (1) |
|
|
|
660 | (2) |
|
|
|
662 | (3) |
|
|
|
662 | (1) |
|
|
|
662 | (1) |
|
|
|
663 | (1) |
|
|
|
664 | (1) |
|
|
|
665 | (1) |
|
|
|
666 | (1) |
| Index |
|
667 | |