| Introduction |
|
1 | (10) |
|
Part I Installation and Configuration |
|
|
|
|
|
11 | (14) |
|
Before You Begin the Installation |
|
|
11 | (2) |
|
Researching Your Hardware Specifications |
|
|
12 | (1) |
|
|
|
12 | (1) |
|
Planning Partition Strategies |
|
|
12 | (1) |
|
|
|
13 | (1) |
|
Installing from CD or DVD |
|
|
13 | (1) |
|
Step-by-Step Installation |
|
|
13 | (11) |
|
|
|
14 | (6) |
|
|
|
20 | (2) |
|
Wubi-The Easy Installer for Windows |
|
|
22 | (2) |
|
|
|
24 | (1) |
|
|
|
24 | (1) |
|
Post-Installation Configuration |
|
|
25 | (26) |
|
Troubleshooting Post-Installation Configuration Problems |
|
|
26 | (1) |
|
|
|
27 | (1) |
|
|
|
28 | (2) |
|
Configuring Software Repositories |
|
|
30 | (3) |
|
Installing Graphics Drivers |
|
|
33 | (1) |
|
Changing Ubuntu's Look and Feel |
|
|
34 | (3) |
|
Changing the Desktop Background |
|
|
34 | (1) |
|
|
|
35 | (1) |
|
|
|
36 | (1) |
|
|
|
36 | (1) |
|
|
|
37 | (1) |
|
|
|
37 | (2) |
|
|
|
37 | (2) |
|
Removable Drives and Media |
|
|
39 | (1) |
|
|
|
39 | (3) |
|
|
|
40 | (1) |
|
|
|
40 | (1) |
|
|
|
41 | (1) |
|
Detecting and Configuring a Modem |
|
|
42 | (1) |
|
Configuring a Serial-Port Modem |
|
|
42 | (1) |
|
Configuring WinModems for Laptops |
|
|
42 | (1) |
|
Configuring Power Management in Ubuntu |
|
|
43 | (1) |
|
Setting the Date and Time |
|
|
44 | (2) |
|
|
|
45 | (1) |
|
Using the hwclock Command |
|
|
45 | (1) |
|
Changing the Time and Date |
|
|
46 | (1) |
|
Configuring and Using CD, DVD, and CD-RW Drives |
|
|
46 | (2) |
|
Checking Drive Assignment |
|
|
47 | (1) |
|
Configuring Wireless Networks |
|
|
48 | (1) |
|
|
|
49 | (2) |
|
|
|
51 | (28) |
|
The Gnome Desktop Environment |
|
|
52 | (2) |
|
Gnome: The GNU Network Object Model Environment |
|
|
52 | (2) |
|
|
|
54 | (1) |
|
|
|
55 | (1) |
|
|
|
56 | (8) |
|
Elements of the xorg.conf File |
|
|
57 | (5) |
|
|
|
62 | (2) |
|
|
|
64 | (13) |
|
|
|
65 | (8) |
|
|
|
73 | (4) |
|
KDE---The Other Environment |
|
|
77 | (1) |
|
|
|
78 | (1) |
|
|
|
78 | (1) |
|
|
|
79 | (34) |
|
What Is the Command Line? |
|
|
79 | (11) |
|
Navigating Through the File System |
|
|
83 | (2) |
|
Managing Files with the Shell |
|
|
85 | (1) |
|
Working With Compressed Files |
|
|
86 | (1) |
|
Use Essential Commands from the /bin and/sbin Directories |
|
|
87 | (1) |
|
Use and Edit Files in the /etc Directory |
|
|
87 | (1) |
|
Protect the Contents of User Directories---/home |
|
|
87 | (1) |
|
Use the Contents of the /proc Directory to Interact with the Kernel |
|
|
87 | (2) |
|
Work with Shared Data in the /usr Directory |
|
|
89 | (1) |
|
Temporary File Storage in the /tmp Directory |
|
|
89 | (1) |
|
Access Variable Data Files in the /var Directory |
|
|
89 | (1) |
|
Logging In to and Working with Linux |
|
|
90 | (5) |
|
|
|
90 | (1) |
|
|
|
90 | (1) |
|
Logging In and Out from a Remote Computer |
|
|
91 | (1) |
|
Using Environment Variables |
|
|
92 | (3) |
|
|
|
95 | (4) |
|
|
|
96 | (1) |
|
|
|
97 | (2) |
|
|
|
99 | (5) |
|
|
|
100 | (1) |
|
|
|
101 | (2) |
|
Understanding Set User ID and Set Group ID Permissions |
|
|
103 | (1) |
|
|
|
104 | (4) |
|
|
|
105 | (1) |
|
|
|
106 | (1) |
|
|
|
106 | (1) |
|
|
|
107 | (1) |
|
|
|
108 | (2) |
|
|
|
108 | (2) |
|
|
|
110 | (3) |
|
|
|
|
|
|
113 | (20) |
|
Getting Started with Firefox |
|
|
114 | (1) |
|
|
|
115 | (5) |
|
|
|
116 | (2) |
|
|
|
118 | (2) |
|
|
|
120 | (1) |
|
|
|
120 | (1) |
|
|
|
120 | (3) |
|
|
|
122 | (1) |
|
|
|
122 | (1) |
|
Instant Messaging with Pidgin |
|
|
123 | (1) |
|
|
|
124 | (3) |
|
Usenet Network Newsgroups |
|
|
127 | (1) |
|
The Pan News Client Newsreader |
|
|
128 | (2) |
|
Videoconferencing with Ekiga |
|
|
130 | (2) |
|
|
|
132 | (1) |
|
Productivity Applications |
|
|
133 | (20) |
|
Introducing Open Office. org |
|
|
134 | (10) |
|
Configuring OpenOffice.org |
|
|
136 | (1) |
|
Working with OpenOffice.org Writer |
|
|
137 | (3) |
|
Working with OpenOffice.org Calc |
|
|
140 | (4) |
|
|
|
144 | (6) |
|
Working with Gnome Office |
|
|
146 | (3) |
|
|
|
149 | (1) |
|
Productivity Applications Written for Microsoft Windows |
|
|
150 | (2) |
|
|
|
152 | (1) |
|
|
|
153 | (32) |
|
|
|
153 | (10) |
|
|
|
154 | (1) |
|
|
|
155 | (1) |
|
|
|
156 | (1) |
|
|
|
157 | (6) |
|
|
|
163 | (5) |
|
The GNU Image Manipulation Program |
|
|
163 | (1) |
|
|
|
164 | (2) |
|
Working with Graphics Formats |
|
|
166 | (2) |
|
|
|
168 | (1) |
|
Using Digital Cameras with Ubuntu |
|
|
168 | (2) |
|
|
|
168 | (1) |
|
|
|
169 | (1) |
|
Burning CDs and DVDs in Ubuntu |
|
|
170 | (8) |
|
Creating CDs and DVDs with Ubuntu's Graphical Clients |
|
|
172 | (2) |
|
Creating CDs from the Command Line |
|
|
174 | (2) |
|
Creating DVDs from the Command Line |
|
|
176 | (2) |
|
|
|
178 | (4) |
|
|
|
178 | (2) |
|
|
|
180 | (1) |
|
|
|
181 | (1) |
|
|
|
181 | (1) |
|
|
|
182 | (1) |
|
|
|
182 | (3) |
|
|
|
185 | (12) |
|
Overview of Ubuntu Printing |
|
|
185 | (2) |
|
Configuring and Managing Print Services |
|
|
187 | (2) |
|
GUI-Based Printer Configuration Quickstart |
|
|
187 | (1) |
|
Managing Printing Services |
|
|
188 | (1) |
|
Creating and Configuring Local Printers |
|
|
189 | (6) |
|
|
|
190 | (2) |
|
|
|
192 | (3) |
|
|
|
195 | (2) |
|
|
|
197 | (12) |
|
|
|
197 | (2) |
|
Installing Proprietary Video Drivers |
|
|
198 | (1) |
|
Installing Games in Ubuntu |
|
|
199 | (5) |
|
|
|
200 | (1) |
|
|
|
201 | (1) |
|
|
|
202 | (1) |
|
Wolfenstein: Enemy Territory |
|
|
203 | (1) |
|
|
|
204 | (1) |
|
Playing Windows Games with Cedega |
|
|
204 | (1) |
|
|
|
205 | (4) |
|
Part III System Administration |
|
|
|
|
|
209 | (24) |
|
|
|
209 | (4) |
|
|
|
210 | (2) |
|
|
|
212 | (1) |
|
|
|
212 | (1) |
|
|
|
213 | (3) |
|
|
|
214 | (2) |
|
|
|
216 | (4) |
|
|
|
216 | (2) |
|
|
|
218 | (1) |
|
Monitoring User Activity on the System |
|
|
219 | (1) |
|
|
|
220 | (4) |
|
|
|
220 | (1) |
|
|
|
220 | (1) |
|
|
|
221 | (2) |
|
Managing Password Security for Users |
|
|
223 | (1) |
|
Changing Passwords in a Batch |
|
|
224 | (1) |
|
Granting System Administrator Privileges to Regular Users |
|
|
224 | (5) |
|
Temporarily Changing User Identity with the su Command |
|
|
225 | (2) |
|
Granting Root Privileges on Occasion---The sudo Command |
|
|
227 | (2) |
|
|
|
229 | (3) |
|
|
|
230 | (1) |
|
Manually Configuring Quotas |
|
|
230 | (2) |
|
|
|
232 | (1) |
|
|
|
233 | (56) |
|
Running Services at Bootup |
|
|
234 | (1) |
|
Beginning the Boot Loading Process |
|
|
234 | (7) |
|
|
|
235 | (1) |
|
System Services and Runlevels |
|
|
236 | (1) |
|
|
|
236 | (1) |
|
Booting into the Default Runlevel |
|
|
237 | (1) |
|
Booting to a Non-Default Runlevel with GRUB |
|
|
237 | (1) |
|
Understanding init Scripts and the Final Stage of Initialization |
|
|
238 | (1) |
|
Controlling Services at Boot with Administrative Tools |
|
|
239 | (1) |
|
|
|
240 | (1) |
|
Troubleshooting Runlevel Problems |
|
|
240 | (1) |
|
Starting and Stopping Services Manually |
|
|
241 | (1) |
|
|
|
242 | (6) |
|
Using at and batch to Schedule Tasks for Later |
|
|
242 | (3) |
|
Using cron to run Jobs Repeatedly |
|
|
245 | (3) |
|
|
|
248 | (5) |
|
|
|
248 | (2) |
|
Shell Pattern-Matching Support |
|
|
250 | (1) |
|
Redirecting Input and Output |
|
|
251 | (1) |
|
|
|
252 | (1) |
|
|
|
252 | (1) |
|
Writing and Executing a Shell Scripts |
|
|
253 | (34) |
|
Running the New Shell Program |
|
|
254 | (1) |
|
Storing Shell Scripts for Systemwide Access |
|
|
255 | (1) |
|
Interpreting Shell Scripts Through Specific Shells |
|
|
256 | (2) |
|
Using Variables in Shell Scripts |
|
|
258 | (1) |
|
Assigning a Value to a Variable |
|
|
258 | (1) |
|
Accessing Variable Values |
|
|
259 | (1) |
|
|
|
259 | (1) |
|
A Simple Example of a Positional Parameter |
|
|
259 | (1) |
|
Using Positional Parameters to Access and Retrieve Variables from the Command Line |
|
|
260 | (1) |
|
Using a Simple Script to Automate Tasks |
|
|
261 | (2) |
|
|
|
263 | (1) |
|
|
|
263 | (1) |
|
Use Double Quotes to Resolve Variables in Strings with Embedded Spaces |
|
|
264 | (1) |
|
Using Single Quotes to Maintain Unexpanded Variables |
|
|
265 | (1) |
|
Using the Backslash as an Escape Character |
|
|
266 | (1) |
|
Using the Backtick to Replace a String with Output |
|
|
266 | (1) |
|
Comparison of Expressions in pdksh and bash |
|
|
267 | (5) |
|
Comparing Expressions with tcsh |
|
|
272 | (4) |
|
|
|
276 | (1) |
|
|
|
277 | (2) |
|
|
|
279 | (1) |
|
The repeat Statement (tcsh) |
|
|
280 | (1) |
|
The select Statement (pdksh) |
|
|
280 | (1) |
|
|
|
281 | (1) |
|
|
|
281 | (2) |
|
|
|
283 | (2) |
|
The break and exit Statements |
|
|
285 | (1) |
|
Using Functions in shell Scripts |
|
|
285 | (2) |
|
|
|
287 | (2) |
|
|
|
289 | (12) |
|
|
|
289 | (7) |
|
Using the Kill Command to Control Processes |
|
|
291 | (1) |
|
Using Priority Scheduling and Control |
|
|
292 | (2) |
|
Displaying Free and Used Memory with free |
|
|
294 | (1) |
|
|
|
295 | (1) |
|
|
|
296 | (1) |
|
Graphical Process and System Management Tools |
|
|
296 | (2) |
|
KDE Process-and System-Monitoring Tools |
|
|
298 | (1) |
|
|
|
299 | (2) |
|
|
|
301 | (24) |
|
Choosing a Backup Strategy |
|
|
301 | (6) |
|
|
|
302 | (1) |
|
Assessing Your Backup Needs and Resources |
|
|
303 | (1) |
|
Evaluating Backup Strategies |
|
|
304 | (3) |
|
|
|
307 | (1) |
|
Choosing Backup Hardware and Media |
|
|
307 | (3) |
|
|
|
308 | (1) |
|
|
|
309 | (1) |
|
|
|
309 | (1) |
|
|
|
310 | (6) |
|
The Most Basic Backup Tool |
|
|
310 | (2) |
|
|
|
312 | (3) |
|
Using the Amanda Backup Application |
|
|
315 | (1) |
|
Alternative Backup Software |
|
|
316 | (1) |
|
|
|
316 | (3) |
|
|
|
317 | (1) |
|
Compressing, Encrypting, and Sending tar Streams |
|
|
317 | (1) |
|
|
|
318 | (1) |
|
|
|
318 | (1) |
|
|
|
319 | (3) |
|
|
|
320 | (1) |
|
Backing Up and Restoring the Master Boot Record |
|
|
320 | (1) |
|
Booting the System from a Generic Boot Floppy |
|
|
320 | (1) |
|
|
|
321 | (1) |
|
Using the Recovery Facility |
|
|
322 | (1) |
|
|
|
322 | (3) |
|
|
|
325 | (46) |
|
Laying the Foundation: The localhost Interface |
|
|
326 | (2) |
|
Checking for the Availability of the Loopback Interface |
|
|
326 | (1) |
|
Configuring the Loopback Interface Manually |
|
|
326 | (2) |
|
|
|
328 | (5) |
|
|
|
329 | (2) |
|
Using IP Masquerading in Ubuntu |
|
|
331 | (1) |
|
|
|
332 | (1) |
|
|
|
333 | (2) |
|
|
|
333 | (1) |
|
|
|
334 | (1) |
|
Broadcast, Unicast, and Multicast Addressing |
|
|
334 | (1) |
|
Hardware Devices for Networking |
|
|
335 | (7) |
|
|
|
335 | (2) |
|
|
|
337 | (1) |
|
|
|
338 | (1) |
|
|
|
339 | (1) |
|
Initializing New Network Hardware |
|
|
339 | (3) |
|
Using Network Configuration Tools |
|
|
342 | (9) |
|
Command-Line Network Interface Configuration |
|
|
342 | (5) |
|
Network Configuration Files |
|
|
347 | (2) |
|
Using Graphical Configuration Tools |
|
|
349 | (2) |
|
Dynamic Host Configuration Protocol |
|
|
351 | (6) |
|
|
|
351 | (1) |
|
Activating DHCP at Installation and Boot Time |
|
|
352 | (1) |
|
DHCP Software Installation and Configuration |
|
|
353 | (1) |
|
Using DHCP to Configure Network Hosts |
|
|
354 | (3) |
|
|
|
357 | (1) |
|
|
|
357 | (3) |
|
Support for Wireless Networking in Ubuntu |
|
|
357 | (1) |
|
Advantages of Wireless Networking |
|
|
358 | (1) |
|
Choosing from Among Available Wireless Protocols |
|
|
359 | (1) |
|
Beyond the Network and onto the Internet |
|
|
360 | (1) |
|
Common Configuration Information |
|
|
360 | (2) |
|
Configuring Digital Subscriber Line Access |
|
|
362 | (3) |
|
Understanding Point-to-Point Protocol over Ethernet |
|
|
363 | (1) |
|
Configuring a PPPoE Connection Manually |
|
|
363 | (2) |
|
Configuring Dial-Up Internet Access |
|
|
365 | (3) |
|
Configuring a Dial-Up Connection Manually |
|
|
365 | (3) |
|
Troubleshooting Connection Problems |
|
|
368 | (1) |
|
|
|
369 | (2) |
|
Remote Access with SSH and Telnet |
|
|
371 | (10) |
|
Setting Up a Telnet Server |
|
|
371 | (1) |
|
|
|
372 | (1) |
|
|
|
372 | (1) |
|
|
|
373 | (4) |
|
Using Scp to Copy Individual Files Between Machines |
|
|
374 | (1) |
|
Using sftp to Copy Many Files Between Machines |
|
|
374 | (1) |
|
Using ssh-keygen to Enable Key-based Logins |
|
|
375 | (2) |
|
|
|
377 | (1) |
|
|
|
377 | (1) |
|
|
|
378 | (1) |
|
|
|
378 | (3) |
|
Part IV Ubuntu as a Server |
|
|
|
|
|
381 | (26) |
|
Using the Network File System |
|
|
382 | (3) |
|
Installing and Starting or Stopping NFS |
|
|
382 | (1) |
|
|
|
383 | (1) |
|
|
|
384 | (1) |
|
|
|
385 | (12) |
|
Manually Configuring Samba with /etc/samba/smb.conf |
|
|
387 | (3) |
|
Testing Samba with the testparm Command |
|
|
390 | (1) |
|
|
|
390 | (1) |
|
|
|
391 | (1) |
|
Configuring Samba Using SWAT |
|
|
392 | (5) |
|
Network and Remote Printing with Ubuntu |
|
|
397 | (1) |
|
Creating Network Printers |
|
|
397 | (2) |
|
Enabling Network Printing on a LAN |
|
|
397 | (1) |
|
Session Message Block Printing |
|
|
398 | (1) |
|
Using the Common UNIX Printing System GUI |
|
|
399 | (4) |
|
Creating a CUPS Printer Entry |
|
|
400 | (3) |
|
Avoiding Printer Support Problems |
|
|
403 | (2) |
|
All-in-One (Print/Fax/Scan) Devices |
|
|
403 | (2) |
|
Using USB and Legacy Printers |
|
|
405 | (1) |
|
|
|
405 | (2) |
|
Apache Web Server Management |
|
|
407 | (32) |
|
About the Apache Web Server |
|
|
407 | (2) |
|
Installing the Apache Server |
|
|
409 | (4) |
|
|
|
409 | (1) |
|
Building the Source Yourself |
|
|
410 | (3) |
|
Starting and Stopping Apache |
|
|
413 | (3) |
|
Starting the Apache Server Manually |
|
|
413 | (1) |
|
Using /etc/init.d/apache2 |
|
|
414 | (2) |
|
Runtime Server Configuration Settings |
|
|
416 | (6) |
|
Runtime Configuration Directives |
|
|
416 | (1) |
|
|
|
417 | (2) |
|
Apache Multiprocessing Modules |
|
|
419 | (1) |
|
Using htaccess Configuration Files |
|
|
420 | (2) |
|
File System Authentication and Access Control |
|
|
422 | (4) |
|
Restricting Access with allow and deny |
|
|
422 | (1) |
|
|
|
423 | (2) |
|
Final Words on Access Control |
|
|
425 | (1) |
|
|
|
426 | (6) |
|
|
|
427 | (1) |
|
|
|
427 | (1) |
|
|
|
427 | (1) |
|
|
|
428 | (1) |
|
|
|
428 | (1) |
|
|
|
428 | (1) |
|
|
|
428 | (1) |
|
|
|
429 | (1) |
|
|
|
429 | (1) |
|
|
|
429 | (1) |
|
|
|
429 | (1) |
|
|
|
429 | (1) |
|
|
|
429 | (1) |
|
mod_info and mod_log_config |
|
|
430 | (1) |
|
mod_mime and mod_mime_magic |
|
|
430 | (1) |
|
|
|
430 | (1) |
|
|
|
430 | (1) |
|
|
|
430 | (1) |
|
|
|
430 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
431 | (1) |
|
|
|
432 | (2) |
|
Address-Based Virtual Hosts |
|
|
432 | (1) |
|
|
|
432 | (2) |
|
|
|
434 | (1) |
|
Other Web Servers for Use with Ubuntu |
|
|
435 | (2) |
|
|
|
436 | (1) |
|
|
|
436 | (1) |
|
|
|
436 | (1) |
|
|
|
437 | (2) |
|
Remote File Serving with FTP |
|
|
439 | (32) |
|
|
|
439 | (2) |
|
Choosing an Authenticated or Anonymous Server |
|
|
440 | (1) |
|
Ubuntu FTP Server Packages |
|
|
440 | (1) |
|
|
|
440 | (1) |
|
|
|
441 | (1) |
|
|
|
442 | (2) |
|
Inetd Configuration for wu-ftpd |
|
|
444 | (1) |
|
Starting the Very Secure FTP Server (vsftpd) Package |
|
|
445 | (1) |
|
Configuring the Very Secure FTP Server |
|
|
445 | (3) |
|
Controlling Anonymous Access |
|
|
445 | (1) |
|
Other vsftpd Server Configuration Files |
|
|
446 | (2) |
|
|
|
448 | (1) |
|
Using Commands in the ftpaccess File to Configure wu-ftpd |
|
|
448 | (12) |
|
|
|
449 | (3) |
|
Configure User Information |
|
|
452 | (4) |
|
|
|
456 | (1) |
|
Configure Permission Control |
|
|
457 | (2) |
|
Configure Commands Directed Toward the cdpath |
|
|
459 | (1) |
|
Structure of the shutdown File |
|
|
460 | (1) |
|
Configuring FTP Server File-Conversion Actions |
|
|
460 | (3) |
|
|
|
461 | (1) |
|
|
|
461 | (1) |
|
|
|
461 | (1) |
|
|
|
461 | (1) |
|
|
|
461 | (1) |
|
An Example of Conversions in Action |
|
|
462 | (1) |
|
Using the ftphosts File to Allow or Deny FTP Server Connection |
|
|
463 | (1) |
|
Using Commands for Server Administration |
|
|
464 | (6) |
|
Display Information About Connected Users |
|
|
464 | (1) |
|
Count the Number of Connections |
|
|
465 | (1) |
|
Use /usr/sbin/ftpshut to Schedule FTP Server Downtime |
|
|
466 | (1) |
|
Use /var/log/xferlog to view a Log of Server Transactions |
|
|
467 | (3) |
|
|
|
470 | (1) |
|
|
|
471 | (18) |
|
How Email is Sent and Received |
|
|
471 | (5) |
|
|
|
472 | (2) |
|
|
|
474 | (1) |
|
|
|
474 | (1) |
|
|
|
475 | (1) |
|
Basic Postfix Configuration and Operation |
|
|
476 | (3) |
|
|
|
477 | (1) |
|
|
|
477 | (1) |
|
Setting Message Delivery Intervals |
|
|
477 | (1) |
|
|
|
478 | (1) |
|
Forwarding Email with Aliases |
|
|
478 | (1) |
|
Using Fetchmail to Retrieve Mail |
|
|
479 | (4) |
|
|
|
479 | (1) |
|
|
|
480 | (3) |
|
Choosing a Mail Delivery Agent |
|
|
483 | (2) |
|
|
|
483 | (1) |
|
|
|
484 | (1) |
|
|
|
484 | (1) |
|
|
|
484 | (1) |
|
|
|
485 | (1) |
|
Alternatives to Microsoft Exchange Server |
|
|
485 | (3) |
|
Microsoft Exchange Server/Outlook Client |
|
|
486 | (1) |
|
|
|
486 | (1) |
|
Oracle Collaboration Suite |
|
|
486 | (1) |
|
|
|
486 | (1) |
|
|
|
486 | (1) |
|
|
|
487 | (1) |
|
|
|
487 | (1) |
|
|
|
487 | (1) |
|
|
|
488 | (1) |
|
Proxying and Reverse Proxying |
|
|
489 | (10) |
|
|
|
489 | (1) |
|
|
|
490 | (1) |
|
|
|
490 | (1) |
|
|
|
490 | (1) |
|
Specifying Client IP Addresses |
|
|
491 | (5) |
|
|
|
496 | (2) |
|
|
|
498 | (1) |
|
Administering Database Services |
|
|
499 | (26) |
|
A Brief Review of Database Basics |
|
|
500 | (7) |
|
How Relational Databases Work |
|
|
501 | (2) |
|
|
|
503 | (1) |
|
|
|
503 | (1) |
|
Inserting Data into Tables |
|
|
504 | (1) |
|
Retrieving Data from a Database |
|
|
505 | (2) |
|
Choosing a Database: MySQL Versus PostgreSQL |
|
|
507 | (3) |
|
|
|
507 | (1) |
|
|
|
508 | (1) |
|
ACID Compliance in Transaction Processing to Protect Data Integrity |
|
|
509 | (1) |
|
|
|
509 | (1) |
|
Procedural Languages and Triggers |
|
|
510 | (1) |
|
|
|
510 | (3) |
|
Setting a Password for the MySQL Root User |
|
|
511 | (1) |
|
Creating a Database in MySQL |
|
|
511 | (1) |
|
Granting and Revoking Privileges in MySQL |
|
|
512 | (1) |
|
|
|
513 | (5) |
|
Initializing the Data Directory in PostgreSQL |
|
|
514 | (1) |
|
Creating a Database in PostgreSQL |
|
|
515 | (1) |
|
Creating Database Users in PostgreSQL |
|
|
516 | (1) |
|
Deleting Database Users in PostgreSQL |
|
|
517 | (1) |
|
Granting and Revoking Privileges in PostgreSQL |
|
|
517 | (1) |
|
|
|
518 | (6) |
|
|
|
518 | (2) |
|
Local GUI Client Access to a Database |
|
|
520 | (1) |
|
|
|
520 | (1) |
|
The MySQL Command-Line Client |
|
|
521 | (2) |
|
The PostgresSQL Command-Line Client |
|
|
523 | (1) |
|
|
|
523 | (1) |
|
|
|
524 | (1) |
|
|
|
525 | (12) |
|
|
|
526 | (4) |
|
Populating Your Directory |
|
|
528 | (2) |
|
|
|
530 | (2) |
|
|
|
531 | (1) |
|
|
|
532 | (1) |
|
|
|
532 | (1) |
|
|
|
533 | (4) |
|
|
|
|
|
|
537 | (24) |
|
|
|
537 | (3) |
|
|
|
538 | (1) |
|
|
|
538 | (2) |
|
Perl Variables and Data Structures |
|
|
540 | (2) |
|
|
|
540 | (1) |
|
|
|
541 | (1) |
|
|
|
542 | (3) |
|
|
|
542 | (1) |
|
|
|
543 | (1) |
|
|
|
544 | (1) |
|
|
|
544 | (1) |
|
|
|
545 | (1) |
|
Conditional Statements: if/else and unless |
|
|
545 | (2) |
|
|
|
546 | (1) |
|
|
|
546 | (1) |
|
|
|
547 | (2) |
|
|
|
547 | (1) |
|
|
|
547 | (1) |
|
|
|
548 | (1) |
|
|
|
548 | (1) |
|
|
|
548 | (1) |
|
do... while and do...until |
|
|
549 | (1) |
|
|
|
549 | (1) |
|
|
|
550 | (1) |
|
|
|
551 | (1) |
|
|
|
552 | (5) |
|
|
|
552 | (2) |
|
|
|
554 | (1) |
|
|
|
555 | (1) |
|
|
|
556 | (1) |
|
|
|
556 | (1) |
|
|
|
557 | (4) |
|
|
|
561 | (18) |
|
|
|
561 | (2) |
|
|
|
562 | (1) |
|
|
|
563 | (9) |
|
|
|
563 | (1) |
|
|
|
564 | (3) |
|
|
|
567 | (2) |
|
|
|
569 | (1) |
|
|
|
570 | (2) |
|
|
|
572 | (1) |
|
|
|
573 | (4) |
|
Class and Object Variables |
|
|
574 | (1) |
|
Constructors and Destructors |
|
|
575 | (1) |
|
|
|
575 | (2) |
|
The Standard Library and the Vaults of Parnassus |
|
|
577 | (1) |
|
|
|
577 | (2) |
|
|
|
579 | (34) |
|
|
|
580 | (16) |
|
Entering and Exiting PHP Mode |
|
|
580 | (1) |
|
|
|
580 | (2) |
|
|
|
582 | (2) |
|
|
|
584 | (1) |
|
|
|
584 | (1) |
|
|
|
585 | (1) |
|
|
|
585 | (2) |
|
|
|
587 | (1) |
|
|
|
587 | (2) |
|
|
|
589 | (2) |
|
|
|
591 | (1) |
|
|
|
592 | (1) |
|
|
|
593 | (3) |
|
|
|
596 | (1) |
|
|
|
596 | (11) |
|
|
|
596 | (4) |
|
|
|
600 | (2) |
|
|
|
602 | (2) |
|
|
|
604 | (3) |
|
|
|
607 | (1) |
|
|
|
608 | (2) |
|
|
|
608 | (2) |
|
|
|
610 | (3) |
|
C/C++ Programming Tools for Ubuntu |
|
|
613 | (12) |
|
Programming in C with Linux |
|
|
613 | (1) |
|
Using the C Programming Project Management Tools Provided with Ubuntu |
|
|
614 | (5) |
|
Building Programs with make |
|
|
615 | (1) |
|
|
|
615 | (2) |
|
Using the autoconf Utility to Configure Code |
|
|
617 | (1) |
|
Managing Software Projects with Subversion |
|
|
617 | (1) |
|
|
|
618 | (1) |
|
|
|
619 | (1) |
|
Graphical Development Tools |
|
|
620 | (3) |
|
Using the KDevelop Client |
|
|
620 | (1) |
|
The Glade Client for Developing in GNOME |
|
|
621 | (2) |
|
|
|
623 | (2) |
|
|
|
625 | (14) |
|
|
|
625 | (1) |
|
|
|
626 | (5) |
|
The Structure of a C# Program |
|
|
628 | (1) |
|
Printing Out the Parameters |
|
|
629 | (1) |
|
Creating Your Own Variables |
|
|
629 | (1) |
|
Adding Some Error Checking |
|
|
630 | (1) |
|
Building on Mono's Libaries |
|
|
631 | (5) |
|
|
|
631 | (3) |
|
|
|
634 | (2) |
|
|
|
636 | (3) |
|
Part VI Ubuntu Housekeeping |
|
|
|
|
|
639 | (12) |
|
Understanding Computer Attacks |
|
|
639 | (2) |
|
Assessing Your Vulnerability |
|
|
641 | (1) |
|
|
|
642 | (3) |
|
Securing a Wireless Network |
|
|
642 | (1) |
|
Passwords and Physical Security |
|
|
643 | (1) |
|
Configuring and Using Tripwire |
|
|
644 | (1) |
|
|
|
645 | (1) |
|
|
|
645 | (1) |
|
Configuring Your Firewall |
|
|
646 | (1) |
|
Forming a Disaster Recovery Plan |
|
|
647 | (1) |
|
Keeping Up-to-Date on Linux Security Issues |
|
|
648 | (1) |
|
|
|
649 | (2) |
|
|
|
651 | (12) |
|
|
|
651 | (4) |
|
Using the BIOS and Kernel to Tune the Disk Drives |
|
|
652 | (1) |
|
|
|
653 | (1) |
|
|
|
654 | (1) |
|
|
|
654 | (1) |
|
|
|
655 | (1) |
|
|
|
655 | (1) |
|
Disabling File Access Time |
|
|
655 | (1) |
|
|
|
655 | (1) |
|
|
|
656 | (2) |
|
|
|
658 | (4) |
|
Measuring Key Buffer Usage |
|
|
658 | (2) |
|
|
|
660 | (1) |
|
|
|
661 | (1) |
|
|
|
661 | (1) |
|
|
|
662 | (1) |
|
|
|
663 | (26) |
|
|
|
664 | (1) |
|
|
|
665 | (19) |
|
Printing the Contents of a File with cat |
|
|
666 | (1) |
|
Changing Directories with cd |
|
|
667 | (1) |
|
Changing File Access Permissions with chmod |
|
|
668 | (1) |
|
|
|
669 | (1) |
|
Printing Disk Usage with du |
|
|
669 | (1) |
|
Finding Files by Searching with find |
|
|
670 | (3) |
|
Searches for a String in Input with grep |
|
|
673 | (1) |
|
Paging Through Output with less |
|
|
674 | (2) |
|
Creating Links Between Files with In |
|
|
676 | (1) |
|
Finding Files from an Index with locate |
|
|
677 | (1) |
|
Listing Files in the Current Directory with Is |
|
|
678 | (1) |
|
Reading Manual Pages with man |
|
|
679 | (1) |
|
Making Directories with mkdir |
|
|
680 | (1) |
|
|
|
680 | (1) |
|
Listing Processes with ps |
|
|
680 | (1) |
|
Deleting Files and Directories with rm |
|
|
681 | (1) |
|
Printing the Last Lines of a File with tail |
|
|
682 | (1) |
|
Printing Resource Usage with top |
|
|
682 | (2) |
|
Printing the Location of a Command with which |
|
|
684 | (1) |
|
|
|
684 | (2) |
|
|
|
686 | (1) |
|
|
|
687 | (2) |
|
|
|
689 | (12) |
|
Using Add/Remove Applications for Software Management |
|
|
689 | (2) |
|
Using Synaptic for Software Management |
|
|
691 | (2) |
|
|
|
693 | (1) |
|
Working on the Command Line |
|
|
694 | (4) |
|
|
|
694 | (3) |
|
|
|
697 | (1) |
|
Compiling Software from Source |
|
|
698 | (1) |
|
|
|
699 | (2) |
|
Kernel and Module Management |
|
|
701 | (68) |
|
|
|
702 | (4) |
|
|
|
702 | (2) |
|
|
|
704 | (2) |
|
|
|
706 | (2) |
|
|
|
708 | (1) |
|
|
|
708 | (1) |
|
Obtaining the Kernel Sources |
|
|
709 | (1) |
|
|
|
710 | (2) |
|
|
|
712 | (9) |
|
Using xconfig to Configure the Kernel |
|
|
717 | (3) |
|
Creating an Initial RAM Disk Image |
|
|
720 | (1) |
|
When Something Goes Wrong |
|
|
721 | (2) |
|
|
|
721 | (1) |
|
Runtime Errors, Boot Loader Problems, and Kernel Oops |
|
|
722 | (1) |
|
|
|
723 | (4) |
|
|
|
|
|
|
727 | (10) |
|
|
|
727 | (2) |
|
|
|
729 | (1) |
|
|
|
730 | (1) |
|
|
|
730 | (1) |
|
|
|
731 | (1) |
|
|
|
732 | (1) |
|
|
|
733 | (1) |
|
Ubuntu on the PPC Platform |
|
|
733 | (1) |
|
Getting the Most from Ubuntu and Linux Documentation |
|
|
733 | (2) |
|
Ubuntu Developers and Documentation |
|
|
735 | (1) |
|
|
|
735 | (2) |
|
|
|
737 | (22) |
|
Planning Your Ubuntu Deployment |
|
|
738 | (1) |
|
|
|
738 | (3) |
|
|
|
741 | (1) |
|
|
|
742 | (1) |
|
A Predeployment Planning Checklist |
|
|
742 | (1) |
|
Planning the Installation |
|
|
742 | (1) |
|
|
|
743 | (1) |
|
Meeting the Minimum Ubuntu Hardware Requirements |
|
|
743 | (1) |
|
|
|
744 | (1) |
|
Planning for Hard Drive Storage for Your Ubuntu Installation |
|
|
744 | (1) |
|
Checking Hardware Compatibility |
|
|
745 | (1) |
|
Preparing for Potential Hardware Problems |
|
|
746 | (3) |
|
Preparing and Using a Hardware Inventory |
|
|
749 | (1) |
|
Preparing for the Install Process |
|
|
750 | (3) |
|
Preparing to Install from a CD-ROM |
|
|
753 | (1) |
|
Partitioning Before and During Installation |
|
|
754 | (2) |
|
Choosing a Partitioning Scheme |
|
|
756 | (1) |
|
Hosting Parts of the Linux File System on Separate Partitions |
|
|
756 | (1) |
|
|
|
757 | (2) |
|
Ubuntu and Linux Internet Resources |
|
|
759 | (10) |
|
Websites and Search Engines |
|
|
760 | (1) |
|
|
|
760 | (1) |
|
|
|
761 | (1) |
|
|
|
761 | (1) |
|
|
|
761 | (1) |
|
|
|
762 | (1) |
|
|
|
762 | (1) |
|
|
|
763 | (1) |
|
|
|
763 | (1) |
|
Mini-CD Linux Distributions |
|
|
763 | (1) |
|
Various Intel-Based Linux Distributions |
|
|
764 | (1) |
|
PowerPC-Based Linux Distributions |
|
|
764 | (1) |
|
Linux on Laptops and PDAs |
|
|
765 | (1) |
|
|
|
765 | (1) |
|
|
|
765 | (2) |
|
|
|
767 | (1) |
|
Ubuntu Project Mailing Lists |
|
|
767 | (1) |
|
|
|
767 | (2) |
| Index |
|
769 | |