Muutke küpsiste eelistusi

Ubuntu Unleashed 2012 Edition: Covering 11.10 and 12.04 (7th Edition) 7th edition [Multiple-component retail product]

  • Formaat: Multiple-component retail product, 864 pages, kõrgus x laius x paksus: 228x180x45 mm, kaal: 1306 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 19-Jan-2012
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672335786
  • ISBN-13: 9780672335785
Teised raamatud teemal:
  • Multiple-component retail product
  • Hind: 52,34 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Multiple-component retail product, 864 pages, kõrgus x laius x paksus: 228x180x45 mm, kaal: 1306 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 19-Jan-2012
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672335786
  • ISBN-13: 9780672335785
Teised raamatud teemal:
Ubuntu Unleashed is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly revised and updated by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 11.10 (Oneiric Ocelot) and the forthcoming Ubuntu 12.04.

 

Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 11.10/12.04 installation, configuration, productivity, multimedia, development, system administration, server operations, networking, virtualization, security, DevOps, and moreincluding intermediate-to-advanced techniques you wont find in any other book.

 

Helmke presents up-to-the-minute introductions to Ubuntus key productivity and Web development tools, programming languages, hardware support, and more. Youll find brand-new coverage of the new Unity desktop, new NoSQL database support and Android mobile development tools, and many other Ubuntu 11.10/12.04 innovations. Whether youre new to Ubuntu or already a power user, youll turn to this book constantly: for new techniques, new solutions, and new ways to do even more with Ubuntu!

 

Matthew Helmke served from 2006 to 2011 on the Ubuntu Forum Council, providing leadership and oversight of the Ubuntu Forums, and spent two years on the Ubuntu regional membership approval board for Europe, the Middle East, and Africa. He has written about Ubuntu for several magazines and websites, is a lead author of The Official Ubuntu Book. He works for The iPlant Collaborative, which is funded by the National Science Foundation and is building cyberinfrastructure for the biological sciences to support the growing use of massive amounts of data and computationally intensive forms of research.

 





Quickly install Ubuntu, configure it, and get your hardware running right Configure and customize the new Unity desktop (or alternatives such as GNOME)

Get started with multimedia and productivity applications, including LibreOffice Manage Linux services, users, and software packages Administer and use Ubuntu from the command line Automate tasks and use shell scripting Provide secure remote access Manage kernels and modules Administer file, print, email, proxy, LDAP, and database services (both SQL and NoSQL) Use both Apache and alternative HTTP servers Support and use virtualization Use Ubuntu in cloud environments Learn the basics about popular programming languages including Python, PHP, and Perl, and how to use Ubuntu to develop in them Learn how to get started developing Android mobile devices

 

Ubuntu 11.10 on DVD

DVD includes the full Ubuntu 11.10 distribution for Intel x86 computers as well as the complete LibreOffice office suite and hundreds of additional programs and utilities.

 

Free Upgrade!

Purchase this book anytime in 2012 and receive a free Ubuntu 12.04 Upgrade Kit by mail (U.S. or Canada only) after Ubuntu 12.04 is released. See inside back cover for details.
Part I Installation and Configuration
1 Installing Ubuntu
7(12)
Before You Begin the Installation
7(4)
Researching Your Hardware Specifications
8(1)
Installation Options
8(2)
Planning Partition Strategies
10(1)
The Boot Loader
11(1)
Installing from CD or DVD or USB Drive
11(1)
Step-by-Step Installation
11(6)
Installing
12(4)
First Update
16(1)
Wubi: The Easy Installer for Windows
16(1)
Shutting Down
17(1)
References
18(1)
2 Post-Installation Configuration
19(16)
Troubleshooting Post-Installation Configuration Problems
19(2)
The sudo Command
21(1)
Finding Programs and Files
21(1)
Software Update
22(3)
Configuring Software Repositories
25(3)
System Settings
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)
References
34(1)
Part II Desktop Ubuntu
3 Working with Unity
35(18)
Foundations and the X Server
35(9)
Basic X Concepts
36(1)
Using X
37(1)
Elements of the xorg.conf File
38(5)
Starting X
43(1)
Using a Display Manager
43(1)
Changing Window Managers
44(1)
Using Unity, a Primer
44(6)
The Desktop
45(5)
Customizing and Configuring Unity
50(1)
Power Shortcuts
50(1)
References
51(2)
4 On the Internet
53(14)
Getting Started with Firefox
54(1)
Checking Out Google Chrome and Chromium
55(1)
Choosing an Email Client
56(4)
Evolution
57(2)
Mozilla Thunderbird
59(1)
Other Mail Clients
59(1)
RSS Readers
60(1)
Firefox
60(1)
Liferea
60(1)
Instant Messaging and Video Conferencing with Empathy
61(1)
Internet Relay Chat
61(3)
Usenet Newsgroups
64(2)
Ubuntu One Cloud Storage
66(1)
References
66(1)
5 Productivity Applications
67(10)
Introducing LibreOffice
69(2)
Other Office Suites for Ubuntu
71(2)
Working with GNOME Office
71(1)
Working with KOffice
72(1)
Other Useful Productivity Software
73(3)
Working with PDF
73(1)
Working with XML and DocBook
74(1)
Working with LaTeX
75(1)
Productivity Applications Written for Microsoft Windows
76(1)
References
76(1)
6 Multimedia Applications
77(24)
Sound and Music
77(8)
Sound Cards
78(1)
Adjusting Volume
79(1)
Sound Formats
79(2)
Listening to Music
81(2)
Buying Music in the Ubuntu One Music Store
83(2)
Graphics Manipulation
85(5)
The GNU Image Manipulation Program
85(2)
Using Scanners in Ubuntu
87(1)
Working with Graphics Formats
87(2)
Capturing Screen Images
89(1)
Using Digital Cameras with Ubuntu
90(1)
Handheld Digital Cameras
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)
Viewing Video
96(4)
TV and Video Hardware
96(1)
Video Formats
97(1)
Viewing Video in Linux
98(1)
Personal Video Recorders
99(1)
Video Editing
99(1)
References
100(1)
7 Other Ubuntu Desktops
101(8)
Desktop Environment
101(1)
KDE and Kubuntu
102(2)
Xfce and Xubuntu
104(1)
LXDE and Lubuntu
105(1)
GNOME
106(1)
References
107(2)
8 Games
109(10)
Ubuntu Gaming
109(3)
Emulators
109(1)
Installing Proprietary Video Drivers
110(2)
Installing Games in Ubuntu
112(5)
Warsow
112(1)
Scorched 3D
112(1)
Frozen Bubble
113(1)
SuperTux
114(1)
Battle for Wesnoth
114(2)
Frets on Fire
116(1)
Games for Kids
116(1)
Commercial Games
116(1)
Playing Windows Games
117(1)
References
117(2)
Part III System Administration
9 Managing Software
119(14)
Ubuntu Software Center
119(1)
Using Synaptic for Software Management
120(2)
Staying Up-to-Date
122(1)
Working on the Command Line
123(5)
Day-to-Day Usage
124(3)
Finding Software
127(1)
Compiling Software from Source
128(2)
Compiling from a Tarball
128(1)
Compiling from Source from the Ubuntu Repositories
129(1)
Server/Configuration Management
130(2)
Puppet
131(1)
Chef
131(1)
Juju
131(1)
Landscape
131(1)
dotdee
131(1)
References
132(1)
10 Command-Line Quickstart
133(32)
What Is the Command Line?
134(1)
Accessing the Command Line
135(3)
Text-Based Console Login
136(1)
Logging Out
137(1)
Logging In and Out from a Remote Computer
137(1)
User Accounts
138(2)
Understanding the Linux File System Hierarchy
140(5)
Essential Commands in /bin and /sbin
141(1)
Configuration Files in /etc
141(1)
User Directories: /home
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)
Working with Permissions
148(5)
Assigning Permissions
148(2)
Directory Permissions
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)
Working with Files
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)
Copying a File with cp
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)
Working as Root
158(4)
Creating Users
159(1)
Deleting Users
160(1)
Shutting Down the System
161(1)
Rebooting the System
162(1)
Reading Documentation
162(2)
Using apropros
162(1)
Using Man Pages
163(1)
References
164(1)
11 Command-Line Master Class
165(38)
Why Use the Command Line?
166(1)
Using Basic Commands
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)
Copying Files with cp
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)
Moving Files with mv
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)
Combining Commands
189(2)
Using Environment Variables
191(3)
Using Common Text Editors
194(5)
Working with nano
195(1)
Working with vi
196(1)
Working with emacs
197(2)
Working with Compressed Files
199(1)
Using Multiple Terminals with byobu
200(1)
References
201(2)
12 Managing Users
203(28)
User Accounts
203(4)
The Super User/Root User
204(2)
User IDs and Group IDs
206(1)
File Permissions
206(1)
Managing Groups
207(3)
Group Listing
207(1)
Group Management Tools
208(2)
Managing Users
210(7)
User Management Tools
210(2)
Adding New Users
212(4)
Monitoring User Activity on the System
216(1)
Managing Passwords
217(4)
System Password Policy
217(1)
The Password File
217(1)
Shadow Passwords
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)
Disk Quotas
226(2)
Implementing Quotas
227(1)
Manually Configuring Quotas
228(1)
Related Ubuntu Commands
228(1)
References
229(2)
13 Automating Tasks and Shell Scripting
231(44)
Scheduling Tasks
231(5)
Using at and batch to Schedule Tasks for Later
231(3)
Using cron to Run Jobs Repeatedly
234(2)
Basic Shell Control
236(6)
The Shell Command Line
237(2)
Shell Pattern-Matching Support
239(1)
Redirecting Input and Output
240(1)
Piping Data
241(1)
Background Processing
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)
Positional Parameters
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)
Built-In Variables
251(1)
Special Characters
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)
The for Statement
264(2)
The while Statement
266(2)
The until Statement
268(1)
The repeat Statement (tcsh)
268(1)
The select Statement (pdksh)
269(1)
The shift Statement
269(1)
The if Statement
270(1)
The case Statement
271(2)
The break and exit Statements
273(1)
Using Functions in Shell Scripts
273(1)
References
274(1)
14 The Boot Process
275(10)
Running Services at Boot
275(1)
Beginning the Boot Loading Process
276(7)
Loading the Linux Kernel
277(1)
System Services and Runlevels
278(1)
Runlevel Definitions
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)
Changing Runlevels
281(1)
Troubleshooting Runlevel Problems
282(1)
Starting and Stopping Services Manually
283(1)
Using Upstart
283(1)
References
284(1)
15 System-Monitoring Tools
285(16)
Console-Based Monitoring
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)
Disk Space
291(1)
Disk Quotas
291(1)
Graphical Process and System Management Tools
292(7)
System Monitor
292(2)
Conky
294(4)
Other
298(1)
KDE Process- and System-Monitoring Tools
299(1)
Enterprise Server Monitoring
299(1)
Landscape
299(1)
Other
299(1)
References
300(1)
16 Backing Up
301(28)
Choosing a Backup Strategy
301(7)
Why Data Loss Occurs
302(1)
Assessing Your Backup Needs and Resources
303(2)
Evaluating Backup Strategies
305(2)
Making the Choice
307(1)
Choosing Backup Hardware and Media
308(2)
Removable Storage Media
308(1)
CD-RW and DVD+RW/-RW Drives
308(1)
Network Storage
309(1)
Tape Drive Backup
309(1)
Cloud Storage
310(1)
Using Backup Software
310(9)
Tar: The Most Basic Backup Tool
310(2)
The GNOME File Roller
312(1)
The KDE ark Archiving Tool
313(1)
Deja Dup
313(2)
Back In Time
315(2)
Unison
317(1)
Using the Amanda Backup Application
318(1)
Alternative Backup Software
319(1)
Copying Files
319(4)
Copying Files Using tar
319(1)
Compressing, Encrypting, and Sending tar Streams
320(1)
Copying Files Using cp
321(1)
Copying Files Using mc
321(1)
Using rsync
322(1)
Version Control for Configuration Files
323(3)
System Rescue
326(2)
The Ubuntu Rescue Disc
326(1)
Restoring the GRUB2 Boot Loader
326(1)
Saving Files from a Nonbooting Hard Drive
327(1)
References
328(1)
17 Networking
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)
Networking with TCP/IP
333(4)
TCP/IP Addressing
334(2)
Using IP Masquerading in Ubuntu
336(1)
Ports
336(1)
Network Organization
337(2)
Subnetting
337(1)
Subnet Masks
338(1)
Broadcast, Unicast, and Multicast Addressing
338(1)
Hardware Devices for Networking
339(7)
Network Interface Cards
339(2)
Network Cable
341(1)
Hubs and Switches
342(1)
Routers and Bridges
343(1)
Initializing New Network Hardware
344(2)
Using Network Configuration Tools
346(9)
Command-Line Network Interface Configuration
346(4)
/bin/netstat
350(1)
Network Configuration Files
351(2)
Using Graphical Configuration Tools
353(2)
Dynamic Host Configuration Protocol
355(6)
How DHCP Works
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)
Other Uses for DHCP
361(1)
Wireless Networking
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)
References
370(3)
18 Remote Access with SSH and Telnet
373(10)
Setting Up a Telnet Server
373(2)
Telnet Versus SSH
375(1)
Setting Up an SSH Server
375(1)
SSH Tools
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)
References
382(1)
19 Securing Your Machines
383(16)
Understanding Computer Attacks
383(2)
Assessing Your Vulnerability
385(1)
Protecting Your Machine
386(3)
Securing a Wireless Network
387(1)
Passwords and Physical Security
387(1)
Configuring and Using Tripwire
388(1)
Devices
389(1)
Viruses
389(1)
Configuring Uncomplicated Firewall
390(2)
AppArmor
392(3)
Forming a Disaster Recovery Plan
395(1)
References
396(3)
20 Performance Tuning
399(12)
Hard Disk
399(5)
Using the BIOS and Kernel to Tune the Disk Drives
400(1)
The hdparm Command
401(1)
File System Tuning
402(1)
The tune2fs Command
402(1)
The e2fsck Command
403(1)
The badblocks Command
403(1)
Disabling File Access Time
403(1)
Kernel
404(1)
Apache
405(1)
MySQL
406(4)
Measuring Key Buffer Usage
406(2)
Using the Query Cache
408(1)
Miscellaneous Tweaks
409(1)
Query Optimization
410(1)
References
410(1)
21 Kernel and Module Management
411(22)
The Linux Kernel
412(4)
The Linux Source Tree
413(2)
Types of Kernels
415(1)
Managing Modules
416(2)
When to Recompile
418(1)
Kernel Versions
419(1)
Obtaining the Kernel Sources
420(1)
Patching the Kernel
421(1)
Compiling the Kernel
422(7)
Using xconfig to Configure the Kernel
425(4)
Creating an Initial RAM Disk Image
429(1)
When Something Goes Wrong
429(2)
Errors During Compile
429(1)
Runtime Errors, Boot Loader Problems, and Kernel Oops
430(1)
References
431(2)
Part IV Ubuntu as a Server
22 File and Print
433(22)
Using the Network File System
434(3)
Installing and Starting or Stopping NFS
434(1)
NFS Server Configuration
434(2)
NFS Client Configuration
436(1)
Putting Samba to Work
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)
Mounting Samba Shares
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)
References
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)
Editing apache2.conf
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)
Authentication
471(2)
Final Words on Access Control
473(1)
Apache Modules
474(6)
mod_access
475(1)
mod_alias
475(1)
mod_asis
475(1)
mod_auth
476(1)
mod_auth_anon
476(1)
mod_auth_dbm
476(1)
mod_auth_digest
476(1)
mod_autoindex
477(1)
mod_cgi
477(1)
mod_dir and mod_env
477(1)
mod_expires
477(1)
mod_headers
477(1)
mod_include
478(1)
mod_info and mod_log_config
478(1)
mod_mime and mod_mime_magic
478(1)
mod_negotiation
478(1)
mod_proxy
478(1)
mod_rewrite
478(1)
mod_setenvif
479(1)
mod_speling
479(1)
mod_status
479(1)
mod_ssl
479(1)
mod_unique_id
479(1)
mod_userdir
479(1)
mod_usertrack
479(1)
mod_vhost_alias
479(1)
Virtual Hosting
480(2)
Address-Based Virtual Hosts
480(1)
Name-Based Virtual Hosts
481(1)
Logging
482(2)
References
484(1)
24 Other HTTP Servers
485(6)
Nginx
485(2)
lighttpd
487(1)
Yaws
488(1)
Cherokee
488(1)
Jetty
489(1)
thttpd
489(1)
Apache Tomcat
490(1)
References
490(1)
25 Remote File Serving with FTP
491(10)
Choosing an FTP Server
491(2)
Choosing an Authenticated or Anonymous Server
492(1)
Ubuntu FTP Server Packages
492(1)
Other FTP Servers
492(1)
Installing FTP Software
493(1)
The FTP User
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)
References
500(1)
26 Handling Email
501(20)
How Email Is Sent and Received
501(5)
The Mail Transport Agent
502(2)
Choosing an MTA
504(1)
The Mail Delivery Agent
504(1)
The Mail User Agent
505(1)
Basic Postfix Configuration and Operation
506(5)
Configuring Masquerading
508(1)
Using Smart Hosts
509(1)
Setting Message Delivery Intervals
509(1)
Mail Relaying
510(1)
Forwarding Email with Aliases
510(1)
Using Fetchmail to Retrieve Mail
511(4)
Installing Fetchmail
511(1)
Configuring Fetchmail
511(4)
Choosing a Mail Delivery Agent
515(1)
Procmail
515(1)
Spamassassin
515(1)
Squirrelmail
516(1)
Virus Scanners
516(1)
Autoresponders
516(1)
Alternatives to Microsoft Exchange Server
516(3)
Microsoft Exchange Server/Outlook Client
517(1)
CommuniGate Pro
517(1)
Oracle Beehive
517(1)
Bynari
518(1)
Open-Xchange
518(1)
phpgroupware
518(1)
PHProjekt
518(1)
Horde
518(1)
References
519(2)
27 Proxying and Reverse Proxying
521(10)
What Is a Proxy Server?
521(1)
Installing Squid
522(1)
Configuring Clients
522(1)
Access Control Lists
523(4)
Specifying Client IP Addresses
527(1)
Sample Configurations
528(2)
References
530(1)
28 Administering Relational Database Services
531(26)
A Brief Review of Database Basics
532(8)
How Relational Databases Work
533(3)
Understanding SQL Basics
536(1)
Creating Tables
536(1)
Inserting Data into Tables
537(1)
Retrieving Data from a Database
538(2)
Choosing a Database: MySQL Versus PostgreSQL
540(3)
Speed
540(1)
Data Locking
541(1)
ACID Compliance in Transaction Processing to Protect Data Integrity
542(1)
SQL Subqueries
542(1)
Procedural Languages and Triggers
542(1)
Configuring MySQL
543(3)
Setting a Password for the MySQL Root User
544(1)
Creating a Database in MySQL
544(2)
Configuring PostgreSQL
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)
Database Clients
550(6)
SSH Access to a Database
550(1)
Local GUI Client Access to a Database
551(1)
Web Access to a Database
552(1)
The MySQL Command-Line Client
553(2)
The PostgreSQL Command-Line Client
555(1)
Graphical Clients
555(1)
References
556(1)
29 NoSQL Databases
557(10)
Key/Value Stores
559(3)
Berkeley DB
560(1)
Cassandra
560(1)
Memcached and MemcacheDB
561(1)
Redis
561(1)
Document Stores
562(2)
CouchDB
562(1)
MongoDB
563(1)
BaseX
564(1)
Wide Column Stores
564(1)
BigTable
565(1)
HBase
565(1)
References
565(2)
30 Lightweight Directory Access Protocol (LDAP)
567(8)
Configuring the Server
568(4)
Creating Your Schema
568(2)
Populating Your Directory
570(2)
Configuring Clients
572(1)
Evolution
572(1)
Thunderbird
572(1)
Administration
572(2)
References
574(1)
31 Linux Terminal Server Project (LTSP)
575(8)
Requirements
576(3)
Installation
579(1)
Using LTSP
580(1)
References
581(2)
32 Virtualization on Ubuntu
583(10)
KVM
585(4)
VirtualBox
589(2)
VMware
591(1)
Xen
591(1)
References
591(2)
33 Ubuntu in the Cloud
593(30)
Why a Cloud?
594(1)
Ubuntu Cloud and Eucalyptus
595(8)
Deploy/Install Basics: Public or Private?
596(1)
Public
597(1)
Private
598(3)
A euca2ools Primer
601(2)
Ubuntu Cloud and OpenStack
603(16)
Compute Infrastructure (Nova)
603(1)
Storage Infrastructure (Swift)
604(1)
Imaging Service (Glance)
604(1)
Installation
604(10)
Creating an Image
614(3)
Instance Management
617(1)
Storage Management
617(1)
Network Management
618(1)
An OpenStack Commands Primer
618(1)
Learning More
618(1)
Landscape
619(1)
Juju
619(1)
Orchestra
620(1)
References
620(3)
Part V Programming Linux
34 Opportunistic Development
623(20)
Version Control Systems
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)
Launchpad
629(2)
Quickly
631(4)
Ground Control
635(3)
Bikeshed and Other Tools
638(3)
References
641(2)
35 Helping with Ubuntu Testing and QA
643(6)
Community Teams
643(2)
Ubuntu Testing Team
644(1)
QA Team
645(1)
Bug Squad
645(1)
Test Drive
645(3)
References
648(1)
36 Using Perl
649(22)
Using Perl with Linux
649(3)
Perl Versions
650(1)
A Simple Perl Program
650(2)
Perl Variables and Data Structures
652(2)
Perl Variable Types
653(1)
Special Variables
653(1)
Operators
654(3)
Comparison Operators
654(1)
Compound Operators
655(1)
Arithmetic Operators
655(1)
Other Operators
656(1)
Special String Constants
657(1)
Conditional Statements: if/else and unless
657(1)
if
657(1)
unless
658(1)
Looping
658(3)
for
659(1)
foreach
659(1)
while
660(1)
until
660(1)
Last and Next
660(1)
Do ... while and do ... until
661(1)
Regular Expressions
661(1)
Access to the Shell
662(1)
Modules and CPAN
663(1)
Code Examples
664(5)
Sending Mail
664(2)
Purging Logs
666(1)
Posting to Usenet
667(1)
One-Liners
668(1)
Command-Line Processing
668(1)
References
669(2)
37 Using PHP
671(34)
Introduction to PHP
672(16)
Entering and Exiting PHP Mode
672(1)
Variables
673(1)
Arrays
674(2)
Constants
676(1)
References
676(1)
Comments
677(1)
Escape Sequences
677(2)
Variable Substitution
679(1)
Operators
679(2)
Conditional Statements
681(2)
Special Operators
683(1)
Switching
683(2)
Loops
685(2)
Including Other Files
687(1)
Basic Functions
688(11)
Strings
688(4)
Arrays
692(1)
Files
693(3)
Miscellaneous
696(3)
Handling HTML Forms
699(1)
Databases
700(2)
References
702(3)
38 Using Python
705(20)
Python on Linux
706(1)
The Basics of Python
707(10)
Numbers
707(2)
More on Strings
709(3)
Lists
712(2)
Dictionaries
714(1)
Conditionals and Looping
715(2)
Functions
717(1)
Object Orientation
718(4)
Class and Object Variables
719(1)
Constructors and Destructors
720(1)
Class Inheritance
721(1)
The Standard Library and the Python Package Index
722(1)
References
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)
Using Makefiles
727(2)
Using the autoconf Utility to Configure Code
729(1)
Debugging Tools
730(1)
Using the GNU C Compiler
731(1)
Graphical Development Tools
732(2)
Using the KDevelop Client
732(1)
The Glade Client for Developing in GNOME
733(1)
References
734(3)
40 Using Mono
737(12)
Why Use Mono?
738(1)
MonoDevelop
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)
Creating a GUI with Gtk#
745(1)
References
746(3)
41 Using Other Popular Programming Languages
749(10)
Ada
750(1)
Clojure
750(1)
COBOL
751(1)
Erlang
752(1)
Forth
752(1)
Fortran
753(1)
Groovy
753(1)
Haskell
754(1)
Java
754(1)
JavaScript
755(1)
Lisp
755(1)
Lua
756(1)
Ruby
756(1)
Scala
756(1)
Vala
757(1)
References
757(2)
42 Beginning Mobile Development for Android
759(8)
Introduction to Android
760(1)
Hardware
760(1)
Linux Kernel
760(1)
Libraries
760(1)
Android Runtime
760(1)
Application Framework
761(1)
Applications
761(1)
Installing the Android SDK
761(3)
Install Java
761(1)
Install Eclipse
761(1)
Install the SDK
762(1)
Install the ADT Eclipse Plug-In
762(1)
Install Other Components
762(1)
Install Virtual Devices
763(1)
Create Your First Application
764(1)
References
765(2)
Part VI Appendices
A Ubuntu Under the Hood
767(10)
What Is Linux?
767(2)
Why Use Linux?
769(1)
What Is Ubuntu?
770(1)
Ubuntu for Busines
771(2)
Ubuntu in Your Home
773(1)
64-Bit Ubuntu
773(1)
Getting the Most from Ubuntu and Linux Documentation
773(2)
Ubuntu Developers and Documentation
775(1)
References
775(2)
B Ubuntu and Linux Internet Resources
777(10)
Websites and Search Engines
778(5)
Web Search Tips
778(1)
Google Is Your Friend
779(1)
Ubuntu Package Listings
779(1)
Certification
779(1)
Commercial Support
780(1)
Documentation
780(1)
Linux Guides
781(1)
Ubuntu
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)
The X Window System
783(1)
Usenet Newsgroups
783(1)
Mailing Lists
784(1)
Ubuntu Project Mailing Lists
785(1)
Internet Relay Chat
785(2)
Index 787
Matthew Helmke is an active member of the Ubuntu community. He served from 2006 to 2011 on the Ubuntu Forum Council, providing leadership and oversight of the Ubuntu Forums (www.ubuntuforums.org), and spent two years on the Ubuntu regional membership approval board for Europe, the Middle East, and Africa. He has written about Ubuntu for several magazines and websites, is a lead author of The Official Ubuntu Book, and coauthored The VMware Cookbook. He works for The iPlant Collaborative (www.iplantcollaborative.org), which is funded by the National Science Foundation and is building the worlds first cyberinfrastructure for the biological sciences. Matthew first used Unix in 1987 while studying LISP on a Vax at the university. He has run a business using only free and open source software, has consulted, and has recently completed a masters degree in Information Resources and Library Science from the University of Arizona. You can find out more about Matthew at matthewhelmke.com or drop him a line with errata or suggestions at [email protected].

 

Andrew Hudson is a freelance journalist who specializes in writing about Linux. He has significant experience in Red Hat and Debian-based Linux distributions and deployments and can often be found sitting at his keyboard tweaking various settings and config files just for the hell of it. He lives in Wiltshire, which is a county of England, along with his wife, Bernice, and their son, John. Andrew does not like Emacs. He can be reached at [email protected].

 

Paul Hudson is a recognized expert in open-source technologies. He is also a professional developer and full-time journalist for Future Publishing. His articles have appeared in MacFormat, PC Answers, PC Format, PC Plus, and Linux Format. Paul is passionate about free software in all its forms and uses a mix of Linux and BSD to power his desktops and servers. Paul likes Emacs. Paul can be contacted through http://hudzilla.org.