|
openSUSE Linux Unleashed Book/DVD Package
DVD Includes openSUSE 10.3
openSUSE Linux Unleashed presents comprehensive coverage of the community version of SUSE Linux, one of the most popular and most complete Linux distributions in the world.
This book provides detailed information on installing, using, and administering openSUSE. You??ll learn how to unleash the vast
array of software products included in openSUSE so that you can use it as a desktop computer, as a professional workstation, or as a powerful server.
openSUSE Linux Unleashed includes a broad range of coverage: from using software you need everyday??such as email clients, web browsers, and productivity software including the OpenOffice.org productivity suite??to configuring and administering a wide range of network and server products, such as the Apache web server, and MySQL database.
Additionally, this book provides details on openSUSE??s acclaimed YaST administration tools, web programming, networking, and choosing from a wide selection of graphical interfaces and desktop environments, including both KDE and GNOME.
* Plan your openSUSE installation based on your computing needs
* Configure and use the X Window System??the Linux graphical interface??and the two primary desktop environments for Linux??KDE and GNOME
* Run OpenOffice.org and other productivity tools
* Create your own websites and weblogs
* Manage the kernel and its modules
* Set up networks
* Run the Apache web server
* Use the LAMP web programming suite: Linux, Apache, MySQL, and the scripting languages Perl, Python, and PHP
* Play music, video, and games
* Preserve an existing Windows installation for dual-boot launching
DVD-ROM includes:
* The complete openSUSE 10.3 binary distribution??the equivalent of five CDs??packed with thousands of applications and utilities
* The latest Apache web server
* Samba for Windows-based file and printer sharing
* The OpenOffice.org office productivity suite
* Games for the desktop
* Hundreds of additional programs, utilities, and development tools
Register your book at www.samspublishing.com/register for convenient access to updates and other resources related to this book.
Michael McCallister has been making computing easier for the full spectrum of users for more than a decade. Currently a technical writing consultant with Compuware, he is also a senior member of the Society for Technical Communication and the National Writers Union. He has run a SUSE Linux installation since version 5.3 and knows firsthand how far the distribution has come over the years. Besides SUSE Linux Unleashed, he is the author of Computer Certification Handbook (Arco Press), and has had articles published in Linux Journal, SearchEnterpriseLinux.com, Java Developer??s Journal, Internet Voyager, and Isthmus.
Category: Operating Systems/Linux
Covers: openSUSE Linux 10.3
User Level: Intermediate??Advanced
$49.99 USA / $56.99 CAN / £35.99 Net UK (inc. of VAT)
CONTENTS:
Introduction 1
Why Use Linux?.................................................. 2
Who This Book Is For.......................................... 3
What This Book Contains.................................... 3
Conventions Used in This Book............................ 5
Part I Installation and Configuration 7
1 Welcome to openSUSE 9
What Is openSUSE?............................................ 9
openSUSE Linux..................................... 10
The openSUSE.org Wiki........................... 12
The openSUSE Install Program................ 13
File Systems in openSUSE....................... 13
64-Bit openSUSE.................................... 14
Getting Help: Documentation and Other Sources 14
Printed Documentation and the openSUSE Help Center 14
Searching the Help Center....................... 15
Man and Info Pages................................ 16
openSUSE Online Support....................... 17
The Linux Documentation Project............ 17
The openSUSE Mailing Lists..................... 18
Filing a Bug in openSUSE??s Bug Tracker.... 19
Linux User Groups.................................. 20
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Preparing to Install openSUSE 23
Planning Your openSUSE Installation................... 24
System Requirements....................................... 25
Linux on Laptops.................................... 27
openSUSE and Legacy Hardware............. 27
Avoiding Potential Hardware Problems..... 28
Dual Booting, Partitioning, and Other Worries 29
Dual Booting with Windows..................... 30
How to Partition Your Drive(s)................ 31
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Installing openSUSE 35
Methods of Installing openSUSE......................... 35
Preparing to Install from a CD-ROM or DVD........ 35
Installing openSUSE with YaST........................... 37
Setting Your Time Zone.......................... 38
Selecting a Desktop Environment............ 38
Initial Installation Settings........................ 38
Partitioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Installing Software Packages................... 39
Creating the Root User........................... 40
Setting a Hostname and Domain Name... 41
Configuring Network and Internet Connections 41
Creating a User...................................... 44
Configuring Hardware for the X Window System 45
Logging In and Shutting Down the First Time...... 46
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Further Configuration with YaST and SaX2 49
Troubleshooting Installation Problems................ 49
Configuring Hardware with YaST........................ 50
Gathering Information About Your Hardware 50
Modifying Disk Controller Settings............ 50
Configuring Your Sound and Video Cards. 51
Configuring a Joystick............................. 54
Adjusting Your Keyboard Layout.............. 54
Configuring Your Mouse.......................... 55
Configuring Your Scanner........................ 56
Configuring Your TV or Radio Card........... 56
Setting Date and Time....................................... 57
Using the Network Time Protocol (NTP) to Keep Accurate Time 58
Power Management.......................................... 61
YaST Power Management....................... 62
Portable PC Issues............................................ 64
Power Management for Laptops.............. 64
Working with PCMCIA Cards.................... 64
Configuring Bluetooth Wireless Support... 64
Configuring Infrared Interface (IrDA) Mode 65
Configuring CD, DVD, and Rewritable Drives....... 66
Integrating CD and DVD Drives into Your System 66
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Part II Using openSUSE 69
5 Getting Started with openSUSE 71
Logging In to openSUSE.................................... 72
Logging In from the Shell........................ 72
Logging Out of the Shell.......................... 72
Working with the Linux File System.................... 72
Essential File System Commands from the /bin and /sbin Directories 74
Using the /boot and /dev Directories.................. 74
Editing Configuration Files in the /etc Directory... 75
Where All the Good Stuff Goes: Your /home Directory 76
Finding Desktop Programs in /opt...................... 76
Where Most of the Programs Go: The /usr Directory 77
Variable Data: The /var Directory....................... 77
Changing User Information and the Finger Program 77
Choosing and Using a Shell................................ 78
Cool Stuff That All Shells Have in Common 78
Running bash.......................................... 79
Running tcsh........................................... 81
Running zsh............................................ 82
Managing Files with Midnight Commander 82
ksh and ash............................................ 83
Choosing a Shell..................................... 84
Editing Text....................................................... 85
Working with vim and Its Clones............. 86
Working with emacs and Its Clones......... 87
Some of the Others................................ 88
Why Can??t I Edit This File? How Permissions Work 89
Changing Permissions............................. 90
Directory Permissions............................. 92
Working as Root............................................... 92
Creating and Deleting Users.................... 93
Shutting Down and Rebooting the System 94
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
File System............................................ 95
Shells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Editors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Working as Root..................................... 96
6 Launching Your Desktop 97
Understanding the X Window System................. 98
Configuring X in openSUSE...................... 98
3D Video with Xgl............................................ 100
Enabling Xgl.......................................... 101
Configuring the Compiz Window Manager 102
Choosing a Desktop Environment: KDE and GNOME 102
KDE: The K Desktop Environment......... 104
GNOME: The GNU Network Object Model Environment 106
Managing Files from Your Desktop................... 107
Using Konqueror in KDE........................ 108
Using Krusader in KDE........................... 110
Using Nautilus in GNOME....................... 111
Configuring Your Desktop Environment............ 112
KDE Control Center.............................. 112
Customizing GNOME............................. 114
What Is a Window Manager and Why Would I Want to Use It? 116
Why Run a Window Manager?............... 116
Starting Up with a Window Manager...... 117
Running FVWM..................................... 117
Running WindowMaker.......................... 118
Running IceWM..................................... 119
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7 Printing with openSUSE 123
Printing: An Overview...................................... 123
Common Unix Printing System (CUPS)............ 124
Configuring Printers with YaST......................... 125
Configuring CUPS and Network Printers with KDEPrint 130
Printing with CUPS........................................... 132
Working with the Portable Document Format (PDF) 133
Console Print Control...................................... 135
Using Basic Print Commands................. 135
Avoiding Printing Problems............................... 136
Multifunction (Print/Fax/Scanner) Devices 136
USB and Older Inkjet Printers................ 136
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8 Shaking Hands with Your Shell 139
What Is the Shell?........................................... 140
Using the Shell in openSUSE............................ 141
Getting to the Shell............................... 141
Creating Scripts.................................... 143
Running Scripts..................................... 144
The Power of the Command Line..................... 146
Pattern Matching in the Shell................. 147
Redirecting Input and Output................. 149
Piping Data........................................... 149
Background Processing......................... 150
Basic Shell Programming................................. 150
Displaying Messages............................. 150
Using System Variables......................... 151
Creating User Variables......................... 152
The Backtick......................................... 153
Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Advanced Shell Programming........................... 155
User Input............................................ 155
Flow Control........................................ 156
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9 Being Productive: Office Suites and Other Tools 161
Comparing Linux Office Suites.......................... 161
Running OpenOffice.org......................... 162
Running KOffice.................................... 168
Running GNOME Office.......................... 171
Running Softmaker Office...................... 172
Other Commercial Suites...................... 172
Connecting with PDAs and Smart Phones......... 174
Command-Line PDA Software for openSUSE 174
Managing Your Finances........................ 175
More Tools to Make You Productive................. 178
Voice-over-IP (VoIP) with Skype and Ekiga 178
Desktop Publishing with Scribus............. 180
Diagramming and Flowcharting with Dia and Kivio 181
Mindmapping with VYM......................... 182
Fax and Scanner Applications................ 183
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10 Sights, Sounds, and Other Fun Things 187
Playing Music and Listening to the Radio........... 187
Sound Formats.................................... 187
Audio Player Overview.......................... 189
Amarok. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Banshee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
JuK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Rhythmbox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
XMMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Internet Radio and Other Streaming Media 200
Creating Music with the Linux Multimedia Studio (LMMS) 200
Burning CDs and DVDs.................................... 201
Creating CDs and DVDs from Your Desktop 203
Creating a CD from the Shell................. 205
Creating DVDs from the Shell................ 206
Watching Video............................................... 208
Totem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Kaffeine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Watching TV on Your Computer....................... 211
TV and Video Hardware......................... 211
Building Your Own Personal Video Recorder 212
Linux and Your Digital Camera......................... 214
Webcams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Editing Images................................................ 216
Editing Photos with The GIMP................ 216
Drawing Pictures................................... 218
Graphics Formats................................. 220
Gaming on Linux............................................. 222
Games with your Desktop Environment. 223
Freeciv: A Free Strategy Game................. 223
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
11 Going Cross-Platform 227
Viewing Files from the Windows Side of Your Computer 227
Emulating Other Operating Systems in Linux: An Overview 229
A Few Misconceptions About Cross-Platform Tools 229
Using Wine to Run Windows Applications.......... 229
Installing and Configuring Wine.............. 230
Installing Windows Applications Under Wine 231
Running Wine........................................ 232
Crossover Linux................................... 232
Running Windows Applications with Win4Lin...... 234
Installing Win4Lin Pro............................ 234
Running Win4Lin................................... 235
Running Windows Applications with VMware..... 236
Installing VMware.................................. 236
Making Space for Your Virtual Machine... 236
Running VMware................................... 238
Emulating a Mac with Basilisk II........................ 238
Using dosemu and DOSBox............................. 239
Xen: The Future of Virtualization?.................... 239
Installing the Xen Server....................... 240
Installing a Guest OS in Xen................... 241
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Part III Using the Internet 245
12 Connecting to the Internet 247
Basic Connectivity Information........................ 247
Starting with a localhost Interface.................... 249
Configuring localhost Manually............... 249
Configuring Your Dial-up Internet Connection.... 250
Using YaST to Set Up Your Dial-up Connection 251
Configuring a Digital Subscriber Line (DSL) Connection 255
Using YaST to Set Up Your DSL Connection 255
Connecting Your Computer to a Wireless Network 259
Getting Firmware and Drivers in Place.... 259
Finding an Access Point......................... 260
Configuring Your Wireless Card.............. 261
When to Call Your Internet Service Provider..... 262
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
13 Using the Internet: Browsing the Web and Writing Email 265
Choosing a Web Browser................................ 265
Mozilla, Firefox, and SeaMonkey........... 266
Konqueror. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Epiphany. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Opera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Flock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Choosing a Mail Client (Mail User Agent)........... 273
Evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
KDE Personal Information Manager: Kmail/KOrganizer and 0Kontact...................................................................... 278
SeaMonkey Mail and Thunderbird........... 280
Claws-Mail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
mutt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Managing Your Calendar (and Other Life Tasks) 283
Evolution Calendar................................ 283
KOrganizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Mozilla Sunbird..................................... 284
Sending File Attachments................................ 284
BinHex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
yEnc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
UUEncode/UUDecode. . . . . . . . . . . . . . . . . . . . . . . . . . . 285
MIME/Base64. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Using UUDeview to Decode a File Attachment 286
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14 Creating Basic Websites 289
Choosing a Web Development Tool................. 289
For the Beginner................................... 289
Browser-Based Page Creators.............. 293
Specialized Web Tools........................... 293
?bergeek Web Page Tools.................... 295
Practice: Building a Site with Quanta Plus.......... 296
Weblogging with openSUSE......................... 302
Blogging with Blosxom.......................... 304
Movable Type and Typepad................... 305
Blogging with WordPress....................... 306
Popular Blog Services............................ 308
Syndicating Your Blog........................... 308
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
15 Managing Email Servers 311
How Email Works............................................ 311
Mail Transfer Agent............................... 313
Mail Delivery Agent............................... 315
Mail User Agent.................................... 317
Email Server Configuration.............................. 320
General Settings................................... 320
Outgoing Mail....................................... 320
Incoming Mail....................................... 322
Fighting Spam and Viruses............................... 325
procmail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Antispam Tools..................................... 330
Antivirus Tools...................................... 331
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
16 Collaborating with Others 333
Getting News from RSS WebFeeds.................. 334
Aggregators in Browsers....................... 334
Standalone Aggregators........................ 336
Online Aggregators............................... 338
Usenet News Today........................................ 339
Choosing a Usenet Newsreader....................... 341
Mail/News Clients................................. 341
Standalone GUI Newsreaders................ 342
Text-Based Newsreaders...................... 345
Collaborating with Wikis................................... 345
A Personal Wiki: Zim............................. 346
MediaWiki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Hosting Electronic Mailing Lists......................... 349
Installing Mailman................................. 350
Running a Mailman List.......................... 350
Working with Instant Messengers and Internet Relay Chat 351
Internet Relay Chat (IRC)...................... 351
Linux Instant Messaging........................ 353
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
17 Secure File Transfer 357
Choosing a File Transfer Protocol (FTP) Client.. 358
Text-Based FTP Clients......................... 358
Using sftp for Secure File Transfers........ 360
GUI FTP Clients..................................... 361
Peer-to-Peer File Transfer................................ 363
Napster-Style File Sharing..................... 364
Wrangling the BitTorrent........................... 367
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Part IV Basic System Administration 371
18 Managing Files, Volumes, and Drives 373
Choosing a File System................................... 374
Understanding the Physical Structure of a Disk 374
Working with ReiserFS.......................... 375
The Extended File System (ext2, ext3).. 376
JFS and XFS......................................... 376
Choosing a File System......................... 377
Creating and Managing File Systems with Partitioner 377
Using Expert Partitioner......................... 378
Mounting a File System................................... 383
The mount Command........................... 384
The umount Command......................... 384
Using /etc/fstab to Automatically Mount File Systems 385
Logical Volume Management (LVM)................. 386
Finding Files.................................................... 387
Using find............................................. 387
Using locate......................................... 388
Using which.......................................... 389
Using whereis....................................... 390
Using kfind........................................... 391
Using Beagle......................................... 391
File System Manipulation................................. 395
Creating a File System for Testing......... 396
Mounting a Read-Only Partition on a Running System 397
Examining a Floppy Image File............... 398
Managing Files for Character Devices, Block Devices, and Special Devices 399
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
19 Managing Users, Managing Security 403
User Accounts and Permissions....................... 403
Setting Up User Accounts in YaST.......... 404
System Users....................................... 407
RWX: Understanding Permissions.......... 407
Who Needs What? Managing Groups................ 408
Adding Groups...................................... 408
Passwords: The First Line of Security............... 409
The passwd and shadow Files............... 410
Selecting Passwords............................. 411
User Authentication Settings with Pluggable Authentication Modules (PAM)...................................................................... 411
Monitoring User Activity................................... 413
Shell Tools for Watching Users.............. 413
Letting Mortals Play at Wizardry: SuperUsers... 414
Changing User Identity with su.............. 415
Using sudo to Grant Root Privileges....... 415
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
20 Managing Data: Backup, Restoring, and Recovery 419
Preparing for Preventing Data Loss.................. 419
How to Lose Data................................ 419
Assessing Your Needs and Resources.... 420
Choosing a Backup Strategy................. 421
Choosing Your Backup Medium........................ 423
Mirrors and RAID Arrays........................ 423
Removable Storage Media.................... 423
Network Storage.................................. 424
Tape Drive Backup................................ 425
Using the YaST System Backup....................... 425
Backup Software............................................ 428
Backups with tar................................... 429
Using Ark............................................. 430
Using GNOME File Roller........................ 431
Setting Up Mirror Disks and RAID Arrays........... 432
Rescuing a Broken System.............................. 436
Booting from the openSUSE DVD.......... 436
Booting from a Rescue Disk Set............ 436
Using System Restoration..................... 436
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
21 Keeping Your System Current: Package Management 441
Installing Software with YaST........................... 441
Managing Software Installation Sources. 446
The Basics of the Red Hat Package Management System (RPM) 448
Downloading RPM Packages Outside of YaST 449
Updating Your System with openSUSE Updater 451
Running the openSUSE Update System.. 451
Using the Online Updater to Monitor Update Servers 453
Updating Your System with Smart................... 453
Compiling Software from Source..................... 455
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Part V Advanced System Administration 457
22 Managing the Boot Process and Other Services 459
Understanding the Boot Process...................... 460
Starting to Boot: BIOS to Boot Manager 460
Choosing a Boot Manager: GRUB Versus LILO 460
Loading the Kernel................................ 464
System Services and Runlevels........................ 465
Controlling Services at Boot with the YaST Runlevel Editor 468
Using the Runlevel Editor....................... 469
Expert Mode......................................... 470
Manually Starting and Stopping Services........... 471
System Monitoring Tools................................. 471
KSysGuard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
KDiskFree and KwikDisk........................ 473
GKrellM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
23 Securing Your Machines 477
Understanding Computer Attacks.................... 478
Assessing Your Vulnerability............................. 479
Protecting Your Machine.................................. 481
Securing a Wireless Network................. 481
Another Word on Passwords and Physical Security 482
Configuring the SUSE Firewall.......................... 482
Protecting Applications with AppArmor............. 486
Other Security Utilities to Consider................... 488
What to Do if You??ve Been Hacked................... 489
Keeping Up to Date on Linux Security Issues.... 490
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
24 Kernel and Module Management 493
Linus??s Baby: The Linux Kernel......................... 494
The Linux Source Tree.......................... 494
Types of Kernels................................... 494
Managing Modules........................................... 495
When to Recompile......................................... 496
Kernel Versions............................................... 497
Getting New Kernel Sources............................ 498
Patching the Kernel......................................... 499
Compiling the Kernel....................................... 500
Troubleshooting Problems............................... 502
Errors During Compile........................... 502
Runtime Errors, Bootloader Problems, and Kernel Oops 503
Kernel Tuning with sysctl................................. 503
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
25 Setting Up Networks and Samba 507
Networking with TCP/IP................................... 507
TCP/IP Addressing................................ 508
The Next Step: Internet Protocol, Version 6 (IPv6) Addressing 509
Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Network Organization..................................... 510
Subnetting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Netmasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Network Address Translation (NAT)....... 511
Hardware Devices in Networking...................... 512
Network Interface Cards (NICs)............ 512
Network Cable..................................... 513
Hubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Routers and Bridges.............................. 513
Switches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Wireless Access Points.......................... 514
Initializing New Network Hardware................... 514
Using the Network File System........................ 517
Starting and Configuring the NFS Server 517
Importing Directories with the NFS Client 518
Playing Nice with Microsoft Windows using Samba 518
Samba Client........................................ 518
Samba Server...................................... 520
Securing Network Services.............................. 525
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
26 Managing Web and FTP Servers 529
What Is Apache?............................................. 529
Installing Apache......................................... 530
Building Apache from the Source Code.. 531
Starting and Stopping Apache.......................... 532
Runtime Server Configuration Settings............. 533
Additional Settings in httpd.conf............. 535
File System Authentication and Access Control. 535
Restricting Access with allow and deny.. 536
Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Apache Modules.............................................. 539
Virtual Hosting................................................ 540
Name-Based Virtual Hosting.................. 540
IP-Address??Based Virtual Hosting.......... 541
Dynamic Content............................................ 542
CGI Programs...................................... 542
Server-Side Includes............................. 543
Active Content Modules........................ 544
Other Web Servers......................................... 544
thttpd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Caudium WebServer............................. 545
Xitami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Zope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
ColdFusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
TomCat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
JBoss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Building an FTP Server..................................... 546
Configuring xinetd for Secure File Transfer........ 546
Configuring Secure File Transfer Servers........... 547
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
27 Managing Domain Names 549
Essential DNS Concepts................................... 550
DNS Hierarchy................................................ 552
Zones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Configuring DNS with YaST2............................ 555
Hosts File....................................................... 558
Basic DNS Tools.............................................. 558
Configuring Name Servers with BIND............... 560
Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Part VI Programming 567
28 Programming Tools 569
Basic Programming in C Under Linux................ 570
A Simple C Program.............................. 570
Building Applications with Eclipse...................... 571
Installing and Updating Eclipse............... 572
Using the Eclipse Workbench................. 573
Creating a Small Java Application in Eclipse 575
Using the KDevelop Integrated Development Environment 576
Using Anjuta to Create GNOME Applications..... 579
Using the GNU Compiler Collection................... 581
Managing Collective Software Development with CVS and Subversion 583
Creating RPM Packages................................... 584
Making a Spec File................................ 585
Listing Files and Generating Patches....... 586
Building and Testing Your RPM Package.. 587
Other Linux Programming Resources............... 587
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
29 Managing Databases 589
What Is a Relational Database?........................ 589
Implementing MySQL...................................... 591
Installing MySQL................................... 591
Completing MySQL Initial Configuration Tasks 593
Creating Databases and Tables.............. 597
Implementing PostgreSQL............................... 600
Installing PostgreSQL............................ 601
Accessing PostgreSQL........................... 602
Creating Tables..................................... 604
Using openSUSE Database Clients.................... 605
OpenOffice.org Base............................. 605
Rekall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
30 Using Perl and Python 611
What Is Perl?.................................................. 612
Working with Perl............................................ 612
Perl Programming........................................... 614
Perl Variables and Data Structures......... 614
Operators and Other Statements.......... 615
Regular Expressions.............................. 616
Perl Command Line Arguments............. 617
Perl Modules and CPAN.................................... 618
The Future of Perl........................................... 619
What Is Python?............................................. 620
Working with Python....................................... 621
Programming in Python................................... 622
Python Variables and Data Structures.... 622
Indentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Extreme Object Orientation................... 623
Python Command Line Arguments........ 623
Python Modules.............................................. 624
Python IDEs and the Interactive Shell............... 625
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
31 Creating Dynamic Websites 627
Using PHP....................................................... 627
Installing PHP........................................ 628
Writing PHP Scripts............................... 629
Adding More Functions to PHP............... 631
PHP 5 vs. v4........................................ 632
Setting Up an Interactive Site with Drupal......... 633
Installing Drupal.................................... 633
Installing Drupal Modules....................... 634
Setting Up a Web-Based Community Forum.... 634
Installing phpBB.................................... 634
Configuring phpBB and Creating Forums 636
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
32 Performance Tuning 641
Optimizing Services......................................... 642
Tuning Hard Disk Drives................................... 644
Choosing the Best Hardware................. 644
Tuning Hard Drive Parameters at Boot... 646
The hdparm Utility................................ 647
Disabling File Access Time..................... 648
Spreading Out the Load........................ 648
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
33 Command-Line Master Class 651
Command Line Basics..................................... 652
Command Format................................ 652
The man Pages..................................... 652
File Management Commands.......................... 653
Viewing File Information........................ 653
Managing Directories............................. 655
Changing File Permissions..................... 657
Listing File Contents.............................. 657
Searching Inside Files............................ 658
Copying and Moving Files...................... 659
Deleting Files........................................ 660
Locating Files........................................ 660
System Management...................................... 662
Disk Usage........................................... 662
Disk Free Space.................................... 662
Running Processes................................ 663
Finding System Hogs............................ 664
Combining Commands.................................... 665
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
067232945X, TOC, 10/8/07
|