|
Part I Installation and Configuration |
|
|
|
|
|
7 | (12) |
|
Before You Begin the Installation |
|
|
7 | (4) |
|
Researching Your Hardware Specifications |
|
|
8 | (1) |
|
|
|
8 | (2) |
|
Planning Partition Strategies |
|
|
10 | (1) |
|
|
|
11 | (1) |
|
Installing from CD or DVD or USB Drive |
|
|
11 | (1) |
|
Step-by-Step Installation |
|
|
11 | (6) |
|
|
|
12 | (4) |
|
|
|
16 | (1) |
|
Wubi: The Easy Installer for Windows |
|
|
16 | (1) |
|
|
|
17 | (1) |
|
|
|
18 | (1) |
|
2 Post-Installation Configuration |
|
|
19 | (16) |
|
Troubleshooting Post-Installation Configuration Problems |
|
|
19 | (2) |
|
|
|
21 | (1) |
|
Finding Programs and Files |
|
|
21 | (1) |
|
|
|
22 | (3) |
|
Configuring Software Repositories |
|
|
25 | (3) |
|
|
|
28 | (5) |
|
Installing Additional Drivers |
|
|
28 | (2) |
|
Detecting and Configuring a Printer |
|
|
30 | (1) |
|
Configuring Power Management in Ubuntu |
|
|
30 | (1) |
|
Setting the Date and Time |
|
|
31 | (2) |
|
Configuring Wireless Networks |
|
|
33 | (1) |
|
|
|
34 | (1) |
|
|
|
|
|
|
35 | (18) |
|
Foundations and the X Server |
|
|
35 | (9) |
|
|
|
36 | (1) |
|
|
|
37 | (1) |
|
Elements of the xorg.conf File |
|
|
38 | (5) |
|
|
|
43 | (1) |
|
|
|
43 | (1) |
|
|
|
44 | (1) |
|
|
|
44 | (6) |
|
|
|
45 | (5) |
|
Customizing and Configuring Unity |
|
|
50 | (1) |
|
|
|
50 | (1) |
|
|
|
51 | (2) |
|
|
|
53 | (14) |
|
Getting Started with Firefox |
|
|
54 | (1) |
|
Checking Out Google Chrome and Chromium |
|
|
55 | (1) |
|
|
|
56 | (4) |
|
|
|
57 | (2) |
|
|
|
59 | (1) |
|
|
|
59 | (1) |
|
|
|
60 | (1) |
|
|
|
60 | (1) |
|
|
|
60 | (1) |
|
Instant Messaging and Video Conferencing with Empathy |
|
|
61 | (1) |
|
|
|
61 | (3) |
|
|
|
64 | (2) |
|
|
|
66 | (1) |
|
|
|
66 | (1) |
|
5 Productivity Applications |
|
|
67 | (10) |
|
|
|
69 | (2) |
|
Other Office Suites for Ubuntu |
|
|
71 | (2) |
|
Working with GNOME Office |
|
|
71 | (1) |
|
|
|
72 | (1) |
|
Other Useful Productivity Software |
|
|
73 | (3) |
|
|
|
73 | (1) |
|
Working with XML and DocBook |
|
|
74 | (1) |
|
|
|
75 | (1) |
|
Productivity Applications Written for Microsoft Windows |
|
|
76 | (1) |
|
|
|
76 | (1) |
|
6 Multimedia Applications |
|
|
77 | (24) |
|
|
|
77 | (8) |
|
|
|
78 | (1) |
|
|
|
79 | (1) |
|
|
|
79 | (2) |
|
|
|
81 | (2) |
|
Buying Music in the Ubuntu One Music Store |
|
|
83 | (2) |
|
|
|
85 | (5) |
|
The GNU Image Manipulation Program |
|
|
85 | (2) |
|
|
|
87 | (1) |
|
Working with Graphics Formats |
|
|
87 | (2) |
|
|
|
89 | (1) |
|
Using Digital Cameras with Ubuntu |
|
|
90 | (1) |
|
|
|
90 | (1) |
|
Using Shotwell Photo Manager |
|
|
90 | (1) |
|
Burning CDs and DVDs in Ubuntu |
|
|
90 | (1) |
|
Creating CDs and DVDs with Brasero |
|
|
91 | (5) |
|
Creating CDs from the Command Line |
|
|
92 | (2) |
|
Creating DVDs from the Command Line |
|
|
94 | (2) |
|
|
|
96 | (4) |
|
|
|
96 | (1) |
|
|
|
97 | (1) |
|
|
|
98 | (1) |
|
|
|
99 | (1) |
|
|
|
99 | (1) |
|
|
|
100 | (1) |
|
|
|
101 | (8) |
|
|
|
101 | (1) |
|
|
|
102 | (2) |
|
|
|
104 | (1) |
|
|
|
105 | (1) |
|
|
|
106 | (1) |
|
|
|
107 | (2) |
|
|
|
109 | (10) |
|
|
|
109 | (3) |
|
|
|
109 | (1) |
|
Installing Proprietary Video Drivers |
|
|
110 | (2) |
|
Installing Games in Ubuntu |
|
|
112 | (5) |
|
|
|
112 | (1) |
|
|
|
112 | (1) |
|
|
|
113 | (1) |
|
|
|
114 | (1) |
|
|
|
114 | (2) |
|
|
|
116 | (1) |
|
|
|
116 | (1) |
|
|
|
116 | (1) |
|
|
|
117 | (1) |
|
|
|
117 | (2) |
|
Part III System Administration |
|
|
|
|
|
119 | (14) |
|
|
|
119 | (1) |
|
Using Synaptic for Software Management |
|
|
120 | (2) |
|
|
|
122 | (1) |
|
Working on the Command Line |
|
|
123 | (5) |
|
|
|
124 | (3) |
|
|
|
127 | (1) |
|
Compiling Software from Source |
|
|
128 | (2) |
|
|
|
128 | (1) |
|
Compiling from Source from the Ubuntu Repositories |
|
|
129 | (1) |
|
Server/Configuration Management |
|
|
130 | (2) |
|
|
|
131 | (1) |
|
|
|
131 | (1) |
|
|
|
131 | (1) |
|
|
|
131 | (1) |
|
|
|
131 | (1) |
|
|
|
132 | (1) |
|
10 Command-Line Quickstart |
|
|
133 | (32) |
|
What Is the Command Line? |
|
|
134 | (1) |
|
Accessing the Command Line |
|
|
135 | (3) |
|
|
|
136 | (1) |
|
|
|
137 | (1) |
|
Logging In and Out from a Remote Computer |
|
|
137 | (1) |
|
|
|
138 | (2) |
|
Understanding the Linux File System Hierarchy |
|
|
140 | (5) |
|
Essential Commands in /bin and /sbin |
|
|
141 | (1) |
|
Configuration Files in /etc |
|
|
141 | (1) |
|
|
|
142 | (1) |
|
Using the Contents of the /proc Directory to Interact with the Kernel |
|
|
142 | (2) |
|
Working with Shared Data in the /usr Directory |
|
|
144 | (1) |
|
Temporary File Storage in the /tmp Directory |
|
|
144 | (1) |
|
Accessing Variable Data Files in the /var Directory |
|
|
144 | (1) |
|
Navigating the Linux File System |
|
|
145 | (3) |
|
Listing the Contents of a Directory with Is |
|
|
145 | (2) |
|
Changing Directories with cd |
|
|
147 | (1) |
|
Finding Your Current Directory with pwd |
|
|
147 | (1) |
|
|
|
148 | (5) |
|
|
|
148 | (2) |
|
|
|
150 | (1) |
|
Altering File Permissions with chmod |
|
|
150 | (2) |
|
File Permissions with chgrp |
|
|
152 | (1) |
|
Changing File Permissions with chown |
|
|
152 | (1) |
|
Understanding Set User ID and Set Group ID Permissions |
|
|
152 | (1) |
|
|
|
153 | (5) |
|
Creating a File with touch |
|
|
153 | (1) |
|
Creating a Directory with mkdir |
|
|
154 | (1) |
|
Deleting a Directory with rmdir |
|
|
154 | (1) |
|
Deleting a File or Directory with rm |
|
|
155 | (1) |
|
Moving or Renaming a File with mv |
|
|
156 | (1) |
|
|
|
157 | (1) |
|
Displaying the Contents of a File with cat |
|
|
157 | (1) |
|
Displaying the Contents of a File with less |
|
|
157 | (1) |
|
Using Wildcards and Regular Expressions |
|
|
158 | (1) |
|
|
|
158 | (4) |
|
|
|
159 | (1) |
|
|
|
160 | (1) |
|
|
|
161 | (1) |
|
|
|
162 | (1) |
|
|
|
162 | (2) |
|
|
|
162 | (1) |
|
|
|
163 | (1) |
|
|
|
164 | (1) |
|
11 Command-Line Master Class |
|
|
165 | (38) |
|
Why Use the Command Line? |
|
|
166 | (1) |
|
|
|
167 | (20) |
|
Printing the Contents of a File with cat |
|
|
168 | (1) |
|
Changing Directories with cd |
|
|
169 | (2) |
|
Changing File Access Permissions with chmod |
|
|
171 | (1) |
|
|
|
171 | (1) |
|
Printing Disk Usage with du |
|
|
172 | (1) |
|
Finding Files by Searching with find |
|
|
173 | (2) |
|
Searches for a String in Input with grep |
|
|
175 | (1) |
|
Paging Through Output with less |
|
|
176 | (2) |
|
Creating Links Between Files with In |
|
|
178 | (2) |
|
Finding Files from an Index with locate |
|
|
180 | (1) |
|
Listing Files in the Current Directory with Is |
|
|
180 | (2) |
|
Reading Manual Pages with man |
|
|
182 | (1) |
|
Making Directories with mkdir |
|
|
183 | (1) |
|
|
|
183 | (1) |
|
Listing Processes with ps |
|
|
184 | (1) |
|
Deleting Files and Directories with rm |
|
|
184 | (1) |
|
Printing the Last Lines of a File with tail |
|
|
185 | (1) |
|
Printing Resource Usage with top |
|
|
186 | (1) |
|
Printing the Location of a Command with which |
|
|
187 | (1) |
|
Redirecting Output and Input |
|
|
187 | (2) |
|
|
|
189 | (2) |
|
Using Environment Variables |
|
|
191 | (3) |
|
Using Common Text Editors |
|
|
194 | (5) |
|
|
|
195 | (1) |
|
|
|
196 | (1) |
|
|
|
197 | (2) |
|
Working with Compressed Files |
|
|
199 | (1) |
|
Using Multiple Terminals with byobu |
|
|
200 | (1) |
|
|
|
201 | (2) |
|
|
|
203 | (28) |
|
|
|
203 | (4) |
|
|
|
204 | (2) |
|
|
|
206 | (1) |
|
|
|
206 | (1) |
|
|
|
207 | (3) |
|
|
|
207 | (1) |
|
|
|
208 | (2) |
|
|
|
210 | (7) |
|
|
|
210 | (2) |
|
|
|
212 | (4) |
|
Monitoring User Activity on the System |
|
|
216 | (1) |
|
|
|
217 | (4) |
|
|
|
217 | (1) |
|
|
|
217 | (1) |
|
|
|
218 | (3) |
|
Managing Password Security for Users |
|
|
221 | (1) |
|
Changing Passwords in a Batch |
|
|
221 | (1) |
|
Granting System Administrator Privileges to Regular Users |
|
|
221 | (5) |
|
Temporarily Changing User Identity with the su Command |
|
|
222 | (2) |
|
Granting Root Privileges on Occasion: The sudo Command |
|
|
224 | (2) |
|
|
|
226 | (2) |
|
|
|
227 | (1) |
|
Manually Configuring Quotas |
|
|
228 | (1) |
|
|
|
228 | (1) |
|
|
|
229 | (2) |
|
13 Automating Tasks and Shell Scripting |
|
|
231 | (44) |
|
|
|
231 | (5) |
|
Using at and batch to Schedule Tasks for Later |
|
|
231 | (3) |
|
Using cron to Run Jobs Repeatedly |
|
|
234 | (2) |
|
|
|
236 | (6) |
|
|
|
237 | (2) |
|
Shell Pattern-Matching Support |
|
|
239 | (1) |
|
Redirecting Input and Output |
|
|
240 | (1) |
|
|
|
241 | (1) |
|
|
|
241 | (1) |
|
Writing and Executing a Shell Script |
|
|
242 | (32) |
|
Running the New Shell Program |
|
|
243 | (1) |
|
Storing Shell Scripts for Systemwide Access |
|
|
244 | (1) |
|
Interpreting Shell Scripts Through Specific Shells |
|
|
245 | (1) |
|
Using Variables in Shell Scripts |
|
|
246 | (1) |
|
Assigning a Value to a Variable |
|
|
246 | (1) |
|
Accessing Variable Values |
|
|
247 | (1) |
|
|
|
247 | (1) |
|
A Simple Example of a Positional Parameter |
|
|
248 | (1) |
|
Using Positional Parameters to Access and Retrieve Variables from the Command Line |
|
|
248 | (1) |
|
Using a Simple Script to Automate Tasks |
|
|
249 | (2) |
|
|
|
251 | (1) |
|
|
|
252 | (1) |
|
Using Double Quotes to Resolve Variables in Strings with Embedded Spaces |
|
|
253 | (1) |
|
Using Single Quotes to Maintain Unexpanded Variables |
|
|
253 | (1) |
|
Using the Backslash as an Escape Character |
|
|
254 | (1) |
|
Using the Backtick to Replace a String with Output |
|
|
255 | (1) |
|
Comparison of Expressions in pdksh and bash |
|
|
255 | (5) |
|
Comparing Expressions with tcsh |
|
|
260 | (4) |
|
|
|
264 | (2) |
|
|
|
266 | (2) |
|
|
|
268 | (1) |
|
The repeat Statement (tcsh) |
|
|
268 | (1) |
|
The select Statement (pdksh) |
|
|
269 | (1) |
|
|
|
269 | (1) |
|
|
|
270 | (1) |
|
|
|
271 | (2) |
|
The break and exit Statements |
|
|
273 | (1) |
|
Using Functions in Shell Scripts |
|
|
273 | (1) |
|
|
|
274 | (1) |
|
|
|
275 | (10) |
|
|
|
275 | (1) |
|
Beginning the Boot Loading Process |
|
|
276 | (7) |
|
|
|
277 | (1) |
|
System Services and Runlevels |
|
|
278 | (1) |
|
|
|
278 | (1) |
|
Booting into the Default Runlevel |
|
|
279 | (1) |
|
Understanding init Scripts and the Final Stage of Initialization |
|
|
279 | (1) |
|
Controlling Services at Boot with Administrative Tools |
|
|
280 | (1) |
|
|
|
281 | (1) |
|
Troubleshooting Runlevel Problems |
|
|
282 | (1) |
|
Starting and Stopping Services Manually |
|
|
283 | (1) |
|
|
|
283 | (1) |
|
|
|
284 | (1) |
|
15 System-Monitoring Tools |
|
|
285 | (16) |
|
|
|
285 | (7) |
|
Using the kill Command to Control Processes |
|
|
287 | (1) |
|
Using Priority Scheduling and Control |
|
|
288 | (2) |
|
Displaying Free and Used Memory with free |
|
|
290 | (1) |
|
|
|
291 | (1) |
|
|
|
291 | (1) |
|
Graphical Process and System Management Tools |
|
|
292 | (7) |
|
|
|
292 | (2) |
|
|
|
294 | (4) |
|
|
|
298 | (1) |
|
KDE Process- and System-Monitoring Tools |
|
|
299 | (1) |
|
Enterprise Server Monitoring |
|
|
299 | (1) |
|
|
|
299 | (1) |
|
|
|
299 | (1) |
|
|
|
300 | (1) |
|
|
|
301 | (28) |
|
Choosing a Backup Strategy |
|
|
301 | (7) |
|
|
|
302 | (1) |
|
Assessing Your Backup Needs and Resources |
|
|
303 | (2) |
|
Evaluating Backup Strategies |
|
|
305 | (2) |
|
|
|
307 | (1) |
|
Choosing Backup Hardware and Media |
|
|
308 | (2) |
|
|
|
308 | (1) |
|
CD-RW and DVD+RW/-RW Drives |
|
|
308 | (1) |
|
|
|
309 | (1) |
|
|
|
309 | (1) |
|
|
|
310 | (1) |
|
|
|
310 | (9) |
|
Tar: The Most Basic Backup Tool |
|
|
310 | (2) |
|
|
|
312 | (1) |
|
The KDE ark Archiving Tool |
|
|
313 | (1) |
|
|
|
313 | (2) |
|
|
|
315 | (2) |
|
|
|
317 | (1) |
|
Using the Amanda Backup Application |
|
|
318 | (1) |
|
Alternative Backup Software |
|
|
319 | (1) |
|
|
|
319 | (4) |
|
|
|
319 | (1) |
|
Compressing, Encrypting, and Sending tar Streams |
|
|
320 | (1) |
|
|
|
321 | (1) |
|
|
|
321 | (1) |
|
|
|
322 | (1) |
|
Version Control for Configuration Files |
|
|
323 | (3) |
|
|
|
326 | (2) |
|
|
|
326 | (1) |
|
Restoring the GRUB2 Boot Loader |
|
|
326 | (1) |
|
Saving Files from a Nonbooting Hard Drive |
|
|
327 | (1) |
|
|
|
328 | (1) |
|
|
|
329 | (44) |
|
Laying the Foundation: The localhost Interface |
|
|
330 | (3) |
|
Checking for the Availability of the Loopback Interface |
|
|
330 | (1) |
|
Configuring the Loopback Interface Manually |
|
|
330 | (3) |
|
|
|
333 | (4) |
|
|
|
334 | (2) |
|
Using IP Masquerading in Ubuntu |
|
|
336 | (1) |
|
|
|
336 | (1) |
|
|
|
337 | (2) |
|
|
|
337 | (1) |
|
|
|
338 | (1) |
|
Broadcast, Unicast, and Multicast Addressing |
|
|
338 | (1) |
|
Hardware Devices for Networking |
|
|
339 | (7) |
|
|
|
339 | (2) |
|
|
|
341 | (1) |
|
|
|
342 | (1) |
|
|
|
343 | (1) |
|
Initializing New Network Hardware |
|
|
344 | (2) |
|
Using Network Configuration Tools |
|
|
346 | (9) |
|
Command-Line Network Interface Configuration |
|
|
346 | (4) |
|
|
|
350 | (1) |
|
Network Configuration Files |
|
|
351 | (2) |
|
Using Graphical Configuration Tools |
|
|
353 | (2) |
|
Dynamic Host Configuration Protocol |
|
|
355 | (6) |
|
|
|
355 | (1) |
|
Activating DHCP at Installation and Boot Time |
|
|
356 | (1) |
|
DHCP Software Installation and Configuration |
|
|
357 | (2) |
|
Using DHCP to Configure Network Hosts |
|
|
359 | (2) |
|
|
|
361 | (1) |
|
|
|
361 | (3) |
|
Support for Wireless Networking in Ubuntu |
|
|
361 | (2) |
|
Advantages of Wireless Networking |
|
|
363 | (1) |
|
Choosing from Among Available Wireless Protocols |
|
|
363 | (1) |
|
Beyond the Network and onto the Internet |
|
|
364 | (1) |
|
Common Configuration Information |
|
|
364 | (2) |
|
Configuring Digital Subscriber Line Access |
|
|
366 | (2) |
|
Understanding PPP over Ethernet |
|
|
366 | (1) |
|
Configuring a PPPoE Connection Manually |
|
|
367 | (1) |
|
Configuring Dial-Up Internet Access |
|
|
368 | (2) |
|
Troubleshooting Connection Problems |
|
|
369 | (1) |
|
|
|
370 | (3) |
|
18 Remote Access with SSH and Telnet |
|
|
373 | (10) |
|
Setting Up a Telnet Server |
|
|
373 | (2) |
|
|
|
375 | (1) |
|
|
|
375 | (1) |
|
|
|
375 | (4) |
|
Using scp to Copy Individual Files Between Machines |
|
|
376 | (1) |
|
Using sftp to Copy Many Files Between Machines |
|
|
377 | (1) |
|
Using ssh-keygen to Enable Key-Based Logins |
|
|
377 | (2) |
|
Virtual Network Computing |
|
|
379 | (3) |
|
|
|
382 | (1) |
|
19 Securing Your Machines |
|
|
383 | (16) |
|
Understanding Computer Attacks |
|
|
383 | (2) |
|
Assessing Your Vulnerability |
|
|
385 | (1) |
|
|
|
386 | (3) |
|
Securing a Wireless Network |
|
|
387 | (1) |
|
Passwords and Physical Security |
|
|
387 | (1) |
|
Configuring and Using Tripwire |
|
|
388 | (1) |
|
|
|
389 | (1) |
|
|
|
389 | (1) |
|
Configuring Uncomplicated Firewall |
|
|
390 | (2) |
|
|
|
392 | (3) |
|
Forming a Disaster Recovery Plan |
|
|
395 | (1) |
|
|
|
396 | (3) |
|
|
|
399 | (12) |
|
|
|
399 | (5) |
|
Using the BIOS and Kernel to Tune the Disk Drives |
|
|
400 | (1) |
|
|
|
401 | (1) |
|
|
|
402 | (1) |
|
|
|
402 | (1) |
|
|
|
403 | (1) |
|
|
|
403 | (1) |
|
Disabling File Access Time |
|
|
403 | (1) |
|
|
|
404 | (1) |
|
|
|
405 | (1) |
|
|
|
406 | (4) |
|
Measuring Key Buffer Usage |
|
|
406 | (2) |
|
|
|
408 | (1) |
|
|
|
409 | (1) |
|
|
|
410 | (1) |
|
|
|
410 | (1) |
|
21 Kernel and Module Management |
|
|
411 | (22) |
|
|
|
412 | (4) |
|
|
|
413 | (2) |
|
|
|
415 | (1) |
|
|
|
416 | (2) |
|
|
|
418 | (1) |
|
|
|
419 | (1) |
|
Obtaining the Kernel Sources |
|
|
420 | (1) |
|
|
|
421 | (1) |
|
|
|
422 | (7) |
|
Using xconfig to Configure the Kernel |
|
|
425 | (4) |
|
Creating an Initial RAM Disk Image |
|
|
429 | (1) |
|
When Something Goes Wrong |
|
|
429 | (2) |
|
|
|
429 | (1) |
|
Runtime Errors, Boot Loader Problems, and Kernel Oops |
|
|
430 | (1) |
|
|
|
431 | (2) |
|
Part IV Ubuntu as a Server |
|
|
|
|
|
433 | (22) |
|
Using the Network File System |
|
|
434 | (3) |
|
Installing and Starting or Stopping NFS |
|
|
434 | (1) |
|
|
|
434 | (2) |
|
|
|
436 | (1) |
|
|
|
437 | (11) |
|
Manually Configuring Samba with /etc/samba/smb.conf |
|
|
438 | (4) |
|
Testing Samba with the testparm Command |
|
|
442 | (1) |
|
Starting, Stopping, and Restarting the smbd Daemon |
|
|
442 | (1) |
|
|
|
443 | (1) |
|
Configuring Samba Using SWAT |
|
|
444 | (4) |
|
Network and Remote Printing with Ubuntu |
|
|
448 | (6) |
|
Creating Network Printers |
|
|
448 | (2) |
|
Using the Common UNIX Printing System GUI |
|
|
450 | (3) |
|
Avoiding Printer Support Problems |
|
|
453 | (1) |
|
|
|
454 | (1) |
|
23 Apache Web Server Management |
|
|
455 | (30) |
|
About the Apache Web Server |
|
|
455 | (2) |
|
Installing the Apache Server |
|
|
457 | (3) |
|
Installing from the Ubuntu Repositories |
|
|
457 | (1) |
|
Building the Source Yourself |
|
|
458 | (2) |
|
Starting and Stopping Apache |
|
|
460 | (3) |
|
Starting the Apache Server Manually |
|
|
461 | (1) |
|
Using /etc/init.d/apache2 |
|
|
462 | (1) |
|
Runtime Server Configuration Settings |
|
|
463 | (6) |
|
Runtime Configuration Directives |
|
|
464 | (1) |
|
|
|
464 | (3) |
|
Apache Multiprocessing Modules |
|
|
467 | (1) |
|
Using .htaccess Configuration Files |
|
|
467 | (2) |
|
File System Authentication and Access Control |
|
|
469 | (5) |
|
Restricting Access with allow and deny |
|
|
470 | (1) |
|
|
|
471 | (2) |
|
Final Words on Access Control |
|
|
473 | (1) |
|
|
|
474 | (6) |
|
|
|
475 | (1) |
|
|
|
475 | (1) |
|
|
|
475 | (1) |
|
|
|
476 | (1) |
|
|
|
476 | (1) |
|
|
|
476 | (1) |
|
|
|
476 | (1) |
|
|
|
477 | (1) |
|
|
|
477 | (1) |
|
|
|
477 | (1) |
|
|
|
477 | (1) |
|
|
|
477 | (1) |
|
|
|
478 | (1) |
|
mod_info and mod_log_config |
|
|
478 | (1) |
|
mod_mime and mod_mime_magic |
|
|
478 | (1) |
|
|
|
478 | (1) |
|
|
|
478 | (1) |
|
|
|
478 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
479 | (1) |
|
|
|
480 | (2) |
|
Address-Based Virtual Hosts |
|
|
480 | (1) |
|
|
|
481 | (1) |
|
|
|
482 | (2) |
|
|
|
484 | (1) |
|
|
|
485 | (6) |
|
|
|
485 | (2) |
|
|
|
487 | (1) |
|
|
|
488 | (1) |
|
|
|
488 | (1) |
|
|
|
489 | (1) |
|
|
|
489 | (1) |
|
|
|
490 | (1) |
|
|
|
490 | (1) |
|
25 Remote File Serving with FTP |
|
|
491 | (10) |
|
|
|
491 | (2) |
|
Choosing an Authenticated or Anonymous Server |
|
|
492 | (1) |
|
Ubuntu FTP Server Packages |
|
|
492 | (1) |
|
|
|
492 | (1) |
|
|
|
493 | (1) |
|
|
|
494 | (2) |
|
Configuring the Very Secure FTP Server |
|
|
496 | (3) |
|
Controlling Anonymous Access |
|
|
497 | (1) |
|
Other vsftpd Server Configuration Files |
|
|
498 | (1) |
|
Using the ftphosts File to Allow or Deny FTP Server Connection |
|
|
499 | (1) |
|
|
|
500 | (1) |
|
|
|
501 | (20) |
|
How Email Is Sent and Received |
|
|
501 | (5) |
|
|
|
502 | (2) |
|
|
|
504 | (1) |
|
|
|
504 | (1) |
|
|
|
505 | (1) |
|
Basic Postfix Configuration and Operation |
|
|
506 | (5) |
|
|
|
508 | (1) |
|
|
|
509 | (1) |
|
Setting Message Delivery Intervals |
|
|
509 | (1) |
|
|
|
510 | (1) |
|
Forwarding Email with Aliases |
|
|
510 | (1) |
|
Using Fetchmail to Retrieve Mail |
|
|
511 | (4) |
|
|
|
511 | (1) |
|
|
|
511 | (4) |
|
Choosing a Mail Delivery Agent |
|
|
515 | (1) |
|
|
|
515 | (1) |
|
|
|
515 | (1) |
|
|
|
516 | (1) |
|
|
|
516 | (1) |
|
|
|
516 | (1) |
|
Alternatives to Microsoft Exchange Server |
|
|
516 | (3) |
|
Microsoft Exchange Server/Outlook Client |
|
|
517 | (1) |
|
|
|
517 | (1) |
|
|
|
517 | (1) |
|
|
|
518 | (1) |
|
|
|
518 | (1) |
|
|
|
518 | (1) |
|
|
|
518 | (1) |
|
|
|
518 | (1) |
|
|
|
519 | (2) |
|
27 Proxying and Reverse Proxying |
|
|
521 | (10) |
|
|
|
521 | (1) |
|
|
|
522 | (1) |
|
|
|
522 | (1) |
|
|
|
523 | (4) |
|
Specifying Client IP Addresses |
|
|
527 | (1) |
|
|
|
528 | (2) |
|
|
|
530 | (1) |
|
28 Administering Relational Database Services |
|
|
531 | (26) |
|
A Brief Review of Database Basics |
|
|
532 | (8) |
|
How Relational Databases Work |
|
|
533 | (3) |
|
|
|
536 | (1) |
|
|
|
536 | (1) |
|
Inserting Data into Tables |
|
|
537 | (1) |
|
Retrieving Data from a Database |
|
|
538 | (2) |
|
Choosing a Database: MySQL Versus PostgreSQL |
|
|
540 | (3) |
|
|
|
540 | (1) |
|
|
|
541 | (1) |
|
ACID Compliance in Transaction Processing to Protect Data Integrity |
|
|
542 | (1) |
|
|
|
542 | (1) |
|
Procedural Languages and Triggers |
|
|
542 | (1) |
|
|
|
543 | (3) |
|
Setting a Password for the MySQL Root User |
|
|
544 | (1) |
|
Creating a Database in MySQL |
|
|
544 | (2) |
|
|
|
546 | (4) |
|
Initializing the Data Directory in PostgreSQL |
|
|
547 | (1) |
|
Creating a Database in PostgreSQL |
|
|
547 | (1) |
|
Creating Database Users in PostgreSQL |
|
|
548 | (1) |
|
Deleting Database Users in PostgreSQL |
|
|
548 | (1) |
|
Granting and Revoking Privileges in PostgreSQL |
|
|
549 | (1) |
|
|
|
550 | (6) |
|
|
|
550 | (1) |
|
Local GUI Client Access to a Database |
|
|
551 | (1) |
|
|
|
552 | (1) |
|
The MySQL Command-Line Client |
|
|
553 | (2) |
|
The PostgreSQL Command-Line Client |
|
|
555 | (1) |
|
|
|
555 | (1) |
|
|
|
556 | (1) |
|
|
|
557 | (10) |
|
|
|
559 | (3) |
|
|
|
560 | (1) |
|
|
|
560 | (1) |
|
|
|
561 | (1) |
|
|
|
561 | (1) |
|
|
|
562 | (2) |
|
|
|
562 | (1) |
|
|
|
563 | (1) |
|
|
|
564 | (1) |
|
|
|
564 | (1) |
|
|
|
565 | (1) |
|
|
|
565 | (1) |
|
|
|
565 | (2) |
|
30 Lightweight Directory Access Protocol (LDAP) |
|
|
567 | (8) |
|
|
|
568 | (4) |
|
|
|
568 | (2) |
|
Populating Your Directory |
|
|
570 | (2) |
|
|
|
572 | (1) |
|
|
|
572 | (1) |
|
|
|
572 | (1) |
|
|
|
572 | (2) |
|
|
|
574 | (1) |
|
31 Linux Terminal Server Project (LTSP) |
|
|
575 | (8) |
|
|
|
576 | (3) |
|
|
|
579 | (1) |
|
|
|
580 | (1) |
|
|
|
581 | (2) |
|
32 Virtualization on Ubuntu |
|
|
583 | (10) |
|
|
|
585 | (4) |
|
|
|
589 | (2) |
|
|
|
591 | (1) |
|
|
|
591 | (1) |
|
|
|
591 | (2) |
|
|
|
593 | (30) |
|
|
|
594 | (1) |
|
Ubuntu Cloud and Eucalyptus |
|
|
595 | (8) |
|
Deploy/Install Basics: Public or Private? |
|
|
596 | (1) |
|
|
|
597 | (1) |
|
|
|
598 | (3) |
|
|
|
601 | (2) |
|
Ubuntu Cloud and OpenStack |
|
|
603 | (16) |
|
Compute Infrastructure (Nova) |
|
|
603 | (1) |
|
Storage Infrastructure (Swift) |
|
|
604 | (1) |
|
|
|
604 | (1) |
|
|
|
604 | (10) |
|
|
|
614 | (3) |
|
|
|
617 | (1) |
|
|
|
617 | (1) |
|
|
|
618 | (1) |
|
An OpenStack Commands Primer |
|
|
618 | (1) |
|
|
|
618 | (1) |
|
|
|
619 | (1) |
|
|
|
619 | (1) |
|
|
|
620 | (1) |
|
|
|
620 | (3) |
|
|
|
|
34 Opportunistic Development |
|
|
623 | (20) |
|
|
|
624 | (4) |
|
Managing Software Projects with Subversion |
|
|
624 | (1) |
|
Managing Software Projects with Bazaar |
|
|
625 | (1) |
|
Managing Software Projects with Mercurial |
|
|
626 | (1) |
|
Managing Software Projects with Git |
|
|
627 | (1) |
|
Introduction to Opportunistic Development |
|
|
628 | (1) |
|
|
|
629 | (2) |
|
|
|
631 | (4) |
|
|
|
635 | (3) |
|
|
|
638 | (3) |
|
|
|
641 | (2) |
|
35 Helping with Ubuntu Testing and QA |
|
|
643 | (6) |
|
|
|
643 | (2) |
|
|
|
644 | (1) |
|
|
|
645 | (1) |
|
|
|
645 | (1) |
|
|
|
645 | (3) |
|
|
|
648 | (1) |
|
|
|
649 | (22) |
|
|
|
649 | (3) |
|
|
|
650 | (1) |
|
|
|
650 | (2) |
|
Perl Variables and Data Structures |
|
|
652 | (2) |
|
|
|
653 | (1) |
|
|
|
653 | (1) |
|
|
|
654 | (3) |
|
|
|
654 | (1) |
|
|
|
655 | (1) |
|
|
|
655 | (1) |
|
|
|
656 | (1) |
|
|
|
657 | (1) |
|
Conditional Statements: if/else and unless |
|
|
657 | (1) |
|
|
|
657 | (1) |
|
|
|
658 | (1) |
|
|
|
658 | (3) |
|
|
|
659 | (1) |
|
|
|
659 | (1) |
|
|
|
660 | (1) |
|
|
|
660 | (1) |
|
|
|
660 | (1) |
|
Do ... while and do ... until |
|
|
661 | (1) |
|
|
|
661 | (1) |
|
|
|
662 | (1) |
|
|
|
663 | (1) |
|
|
|
664 | (5) |
|
|
|
664 | (2) |
|
|
|
666 | (1) |
|
|
|
667 | (1) |
|
|
|
668 | (1) |
|
|
|
668 | (1) |
|
|
|
669 | (2) |
|
|
|
671 | (34) |
|
|
|
672 | (16) |
|
Entering and Exiting PHP Mode |
|
|
672 | (1) |
|
|
|
673 | (1) |
|
|
|
674 | (2) |
|
|
|
676 | (1) |
|
|
|
676 | (1) |
|
|
|
677 | (1) |
|
|
|
677 | (2) |
|
|
|
679 | (1) |
|
|
|
679 | (2) |
|
|
|
681 | (2) |
|
|
|
683 | (1) |
|
|
|
683 | (2) |
|
|
|
685 | (2) |
|
|
|
687 | (1) |
|
|
|
688 | (11) |
|
|
|
688 | (4) |
|
|
|
692 | (1) |
|
|
|
693 | (3) |
|
|
|
696 | (3) |
|
|
|
699 | (1) |
|
|
|
700 | (2) |
|
|
|
702 | (3) |
|
|
|
705 | (20) |
|
|
|
706 | (1) |
|
|
|
707 | (10) |
|
|
|
707 | (2) |
|
|
|
709 | (3) |
|
|
|
712 | (2) |
|
|
|
714 | (1) |
|
|
|
715 | (2) |
|
|
|
717 | (1) |
|
|
|
718 | (4) |
|
Class and Object Variables |
|
|
719 | (1) |
|
Constructors and Destructors |
|
|
720 | (1) |
|
|
|
721 | (1) |
|
The Standard Library and the Python Package Index |
|
|
722 | (1) |
|
|
|
723 | (2) |
|
39 C/C++ Programming Tools for Ubuntu |
|
|
725 | (12) |
|
Programming in C with Linux |
|
|
726 | (1) |
|
Using the C Programming Project Management Tools Provided with Ubuntu |
|
|
727 | (4) |
|
Building Programs with make |
|
|
727 | (1) |
|
|
|
727 | (2) |
|
Using the autoconf Utility to Configure Code |
|
|
729 | (1) |
|
|
|
730 | (1) |
|
|
|
731 | (1) |
|
Graphical Development Tools |
|
|
732 | (2) |
|
Using the KDevelop Client |
|
|
732 | (1) |
|
The Glade Client for Developing in GNOME |
|
|
733 | (1) |
|
|
|
734 | (3) |
|
|
|
737 | (12) |
|
|
|
738 | (1) |
|
|
|
739 | (6) |
|
The Structure of a C# Program |
|
|
741 | (2) |
|
Printing Out the Parameters |
|
|
743 | (1) |
|
Creating Your Own Variables |
|
|
743 | (1) |
|
Adding Some Error Checking |
|
|
744 | (1) |
|
Building on Mono's Libraries |
|
|
745 | (1) |
|
|
|
745 | (1) |
|
|
|
746 | (3) |
|
41 Using Other Popular Programming Languages |
|
|
749 | (10) |
|
|
|
750 | (1) |
|
|
|
750 | (1) |
|
|
|
751 | (1) |
|
|
|
752 | (1) |
|
|
|
752 | (1) |
|
|
|
753 | (1) |
|
|
|
753 | (1) |
|
|
|
754 | (1) |
|
|
|
754 | (1) |
|
|
|
755 | (1) |
|
|
|
755 | (1) |
|
|
|
756 | (1) |
|
|
|
756 | (1) |
|
|
|
756 | (1) |
|
|
|
757 | (1) |
|
|
|
757 | (2) |
|
42 Beginning Mobile Development for Android |
|
|
759 | (8) |
|
|
|
760 | (1) |
|
|
|
760 | (1) |
|
|
|
760 | (1) |
|
|
|
760 | (1) |
|
|
|
760 | (1) |
|
|
|
761 | (1) |
|
|
|
761 | (1) |
|
Installing the Android SDK |
|
|
761 | (3) |
|
|
|
761 | (1) |
|
|
|
761 | (1) |
|
|
|
762 | (1) |
|
Install the ADT Eclipse Plug-In |
|
|
762 | (1) |
|
|
|
762 | (1) |
|
|
|
763 | (1) |
|
Create Your First Application |
|
|
764 | (1) |
|
|
|
765 | (2) |
|
|
|
|
|
|
767 | (10) |
|
|
|
767 | (2) |
|
|
|
769 | (1) |
|
|
|
770 | (1) |
|
|
|
771 | (2) |
|
|
|
773 | (1) |
|
|
|
773 | (1) |
|
Getting the Most from Ubuntu and Linux Documentation |
|
|
773 | (2) |
|
Ubuntu Developers and Documentation |
|
|
775 | (1) |
|
|
|
775 | (2) |
|
B Ubuntu and Linux Internet Resources |
|
|
777 | (10) |
|
Websites and Search Engines |
|
|
778 | (5) |
|
|
|
778 | (1) |
|
|
|
779 | (1) |
|
|
|
779 | (1) |
|
|
|
779 | (1) |
|
|
|
780 | (1) |
|
|
|
780 | (1) |
|
|
|
781 | (1) |
|
|
|
781 | (1) |
|
Mini-CD Linux Distributions |
|
|
781 | (1) |
|
Various Intel-Based Linux Distributions |
|
|
782 | (1) |
|
PowerPC-Based Linux Distributions |
|
|
782 | (1) |
|
Linux on Laptops and PDAs |
|
|
783 | (1) |
|
|
|
783 | (1) |
|
|
|
783 | (1) |
|
|
|
784 | (1) |
|
Ubuntu Project Mailing Lists |
|
|
785 | (1) |
|
|
|
785 | (2) |
| Index |
|
787 | |