Muutke küpsiste eelistusi

Ubuntu Unleashed 2013 Edition: Covering 12.10 and 13.04 8th edition [Multiple-component retail product]

  • Formaat: Multiple-component retail product, 888 pages, kõrgus x laius x paksus: 100x100x100 mm, kaal: 100 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 17-Dec-2012
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672336243
  • ISBN-13: 9780672336249
Teised raamatud teemal:
  • Multiple-component retail product
  • Hind: 51,01 €*
  • * 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, 888 pages, kõrgus x laius x paksus: 100x100x100 mm, kaal: 100 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 17-Dec-2012
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672336243
  • ISBN-13: 9780672336249
Teised raamatud teemal:
Ubuntu Unleashed 2013 Edition 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 12.10 (Quantal Quetzal) and the forthcoming Ubuntu 13.04.

Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 12.10/13.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 new or improved coverage of navigation via Unity Dash, wireless networking, VPNs, software repositories, new NoSQL database options, virtualization and cloud services, new programming languages and development tools, monitoring, troubleshooting, and more.





Configure and customize the Unity desktop and make the most of the Dash Get started with multimedia and productivity applications, including LibreOffice Manage Linux services, users, and software packages Administer and run Ubuntu from the command line (with added coverage of stdin, stdout, sdterr, redirection, and file comparison) Automate tasks and use shell scripting Provide secure remote access and configure a secure VPN Manage kernels and modules Administer file, print, email, proxy, LDAP, and HTTP servers (Apache or alternatives) Learn about new options for managing large numbers of servers Work with databases (both SQL and the newest NoSQL alternatives) Get started with virtualization Build a private cloud with Juju and Charms Learn the basics about popular programming languages including Python, PHP, Perl, and new alternatives such as Go and Rust
Introduction 1(6)
Licensing
2(1)
Who This Book Is For
3(1)
Those Wanting to Become Intermediate or Advanced Users
3(1)
Sysadmins, Programmers, and DevOps
4(1)
What This Book Contains
5(1)
Conventions Used in This Book
5(2)
Part I Installation and Configuration
1 Installing Ubuntu and Post-Installation Configuration
7(26)
Before You Begin the Installation
7(1)
Researching Your Hardware Specifications
8(1)
Installation Options
8(2)
Planning Partition Strategies
10(1)
The Boot Loader
10(1)
Installing from DVD or USB Drive
11(1)
Step-by-Step Installation
11(1)
Installing
12(4)
First Update
16(1)
Wubi: The Easy Installer for Windows
16(2)
Shutting Down
18(1)
Finding Programs and Files
19(1)
Software Updater
19(3)
The sudo Command
22(1)
Configuring Software Repositories
23(3)
System Settings
26(1)
Detecting and Configuring a Printer
26(1)
Configuring Power Management in Ubuntu
27(1)
Setting the Time and Date
27(2)
Configuring Wireless Networks
29(2)
Troubleshooting Post-Installation Configuration Problems
31(2)
References
32(1)
Part II Desktop Ubuntu
2 Working with Unity
33(18)
Foundations and the X Server
33(1)
Basic X Concepts
34(1)
Using X
35(1)
Elements of the xorg.conf File
36(5)
Starting X
41(1)
Using a Display Manager
41(1)
Changing Window Managers
42(1)
Using Unity, a Primer
42(1)
The Desktop
43(5)
Customizing and Configuring Unity
48(1)
Power Shortcuts
49(2)
References
50(1)
3 On the Internet
51(14)
Getting Started with Firefox
52(1)
Checking Out Google Chrome and Chromium
53(2)
Choosing an Email Client
55(1)
Mozilla Thunderbird
56(1)
Evolution
56(1)
Other Mail Clients
57(1)
RSS Readers
58(1)
Firefox
58(1)
Liferea
58(1)
Instant Messaging and Video Conferencing with Empathy
59(1)
Internet Relay Chat
60(2)
Usenet Newsgroups
62(2)
Ubuntu One Cloud Storage
64(1)
References
64(1)
4 Productivity Applications
65(10)
Introducing LibreOffice
67(2)
Other Office Suites for Ubuntu
69(1)
Working with GNOME Office
69(1)
Working with KOffice
70(1)
Other Useful Productivity Software
71(1)
Working with PDF
71(1)
Working with XML and DocBook
71(2)
Working with LaTeX
73(1)
Productivity Applications Written for Microsoft Windows
73(2)
References
74(1)
5 Multimedia Applications
75(24)
Sound and Music
75(1)
Sound Cards
76(1)
Adjusting Volume
77(1)
Sound Formats
78(1)
Listening to Music
79(2)
Buying Music in the Ubuntu One Music Store
81(2)
Graphics Manipulation
83(1)
The GNU Image Manipulation Program
83(2)
Using Scanners in Ubuntu
85(1)
Working with Graphics Formats
85(2)
Capturing Screen Images
87(1)
Using Digital Cameras with Ubuntu
88(1)
Handheld Digital Cameras
88(1)
Using Shotwell Photo Manager
88(1)
Burning CDs and DVDs in Ubuntu
89(1)
Creating CDs and DVDs with Brasero
89(1)
Creating CDs from the Command Line
89(2)
Creating DVDs from the Command Line
91(3)
Viewing Video
94(1)
TV and Video Hardware
94(1)
Video Formats
95(1)
Viewing Video in Linux
96(1)
Personal Video Recorders
97(1)
Video Editing
97(2)
References
98(1)
6 Other Ubuntu Interfaces
99(8)
Desktop Environment
100(1)
KDE and Kubuntu
101(1)
Xfce and Xubuntu
102(1)
LXDE and Lubuntu
103(1)
GNOME3 and Gnobuntu
104(3)
References
105(2)
7 Games
107(12)
Ubuntu Gaming
107(1)
Installing Proprietary Video Drivers
108(1)
Installing Games in Ubuntu
109(1)
Warsow
110(1)
Scorched 3D
110(1)
Frozen Bubble
111(1)
SuperTux
112(1)
Battle for Wesnoth
112(2)
Frets on Fire
114(1)
FlightGear
114(1)
Speed Dreams
114(1)
Games for Kids
114(1)
Commercial Games
115(1)
Playing Windows Games
116(3)
References
116(3)
Part III System Administration
8 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(1)
Day-to-Day Usage
124(3)
Finding Software
127(1)
Compiling Software from Source
128(1)
Compiling from a Tarball
128(1)
Compiling from Source from the Ubuntu Repositories
129(1)
Configuration Management
130(1)
dotdee
130(1)
OneConf
131(2)
References
131(2)
9 Command-Line Quickstart
133(36)
What Is the Command Line?
134(1)
Accessing the Command Line
135(1)
Text-Based Console Login
136(1)
Logging Out
137(1)
Logging In and Out from a Remote Computer
137(1)
User Accounts
138(2)
Reading Documentation
140(1)
Using Man Pages
140(1)
Using apropros
140(1)
Using whereis
141(1)
Understanding the Linux File System Hierarchy
141(1)
Essential Commands in /bin and /sbin
142(1)
Configuration Files in /etc
143(1)
User Directories: /home
143(1)
Using the Contents of the /proc Directory to Interact with the Kernel
144(1)
Working with Shared Data in the /usr Directory
145(1)
Temporary File Storage in the /tmp Directory
146(1)
Accessing Variable Data Files in the /var Directory
146(1)
Navigating the Linux File System
146(1)
Listing the Contents of a Directory with ls
146(2)
Changing Directories with cd
148(1)
Finding Your Current Directory with pwd
149(1)
Working with Permissions
149(1)
Assigning Permissions
150(1)
Directory Permissions
151(1)
Altering File Permissions with chmod
152(1)
File Permissions with chgrp
153(1)
Changing File Permissions with chown
153(1)
Understanding Set User ID and Set Group ID Permissions
153(2)
Working with Files
155(1)
Creating a File with touch
155(1)
Creating a Directory with mkdir
155(1)
Deleting a Directory with rmdir
156(1)
Deleting a File or Directory with rm
157(1)
Moving or Renaming a File with mv
157(1)
Copying a File with cp
158(1)
Displaying the Contents of a File with cat
159(1)
Displaying the Contents of a File with less
159(1)
Using Wildcards and Regular Expressions
159(1)
Working as Root
160(1)
Understanding and Fixing sudo
160(4)
Creating Users
164(1)
Deleting Users
164(1)
Shutting Down the System
165(1)
Rebooting the System
166(1)
Commonly Used Commands and Programs
166(3)
References
167(2)
10 Command-Line Master Class
169(40)
Why Use the Command Line?
170(1)
Using Basic Commands
171(1)
Printing the Contents of a File with cat
172(1)
Changing Directories with cd
173(2)
Changing File Access Permissions with chmod
175(1)
Copying Files with cp
175(1)
Printing Disk Usage with du
176(1)
Finding Files by Searching with find
177(2)
Searches for a String in Input with grep
179(1)
Paging Through Output with less
180(2)
Creating Links Between Files with in
182(2)
Finding Files from an Index with locate
184(1)
Listing Files in the Current Directory with ls
184(2)
Reading Manual Pages with man
186(1)
Making Directories with mkdir
187(1)
Moving Files with mv
187(1)
Listing Processes with ps
188(1)
Deleting Files and Directories with rm
188(1)
Printing the Last Lines of a File with tail
189(1)
Printing Resource Usage with top
189(2)
Printing the Location of a Command with which
191(1)
Redirecting Output and Input
191(2)
stdin, stdout, sdterr, and Redirection
193(1)
Comparing Files
194(1)
Finding Differences in Files with diff
194(1)
Finding Similarities in Files with comm
194(1)
Combining Commands
195(2)
Using Environment Variables
197(3)
Using Common Text Editors
200(1)
Working with nano
201(1)
Working with vi
202(1)
Working with emacs
203(1)
Working with Compressed Files
204(1)
Using Multiple Terminals with byobu
205(4)
References
207(2)
11 Managing Users
209(28)
User Accounts
209(1)
The Super User/Root User
210(2)
User IDs and Group IDs
212(1)
File Permissions
212(1)
Managing Groups
213(1)
Group Listing
213(1)
Group Management Tools
214(2)
Managing Users
216(1)
User Management Tools
216(2)
Adding New Users
218(4)
Monitoring User Activity on the System
222(1)
Managing Passwords
222(1)
System Password Policy
222(1)
The Password File
223(1)
Shadow Passwords
224(2)
Managing Password Security for Users
226(1)
Changing Passwords in a Batch
227(1)
Granting System Administrator Privileges to Regular Users
227(1)
Temporarily Changing User Identity with the su Command
227(2)
Granting Root Privileges on Occasion: The sudo Command
229(3)
Disk Quotas
232(1)
Implementing Quotas
233(1)
Manually Configuring Quotas
233(1)
Related Ubuntu Commands
234(3)
References
235(2)
12 Automating Tasks and Shell Scripting
237(44)
Scheduling Tasks
237(1)
Using at and batch to Schedule Tasks for Later
237(3)
Using cron to Run Jobs Repeatedly
240(2)
Basic Shell Control
242(1)
The Shell Command Line
243(2)
Shell Pattern-Matching Support
245(1)
Redirecting Input and Output
246(1)
Piping Data
247(1)
Background Processing
247(1)
Writing and Executing a Shell Script
248(1)
Running the New Shell Program
249(1)
Storing Shell Scripts for System-wide Access
250(1)
Interpreting Shell Scripts Through Specific Shells
250(2)
Using Variables in Shell Scripts
252(1)
Assigning a Value to a Variable
252(1)
Accessing Variable Values
253(1)
Positional Parameters
253(1)
A Simple Example of a Positional Parameter
253(1)
Using Positional Parameters to Access and Retrieve Variables from the Command Line
254(1)
Using a Simple Script to Automate Tasks
255(2)
Built-In Variables
257(1)
Special Characters
257(1)
Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
258(1)
Using Single Quotes to Maintain Unexpanded Variables
259(1)
Using the Backslash as an Escape Character
260(1)
Using the Backtick to Replace a String with Output
260(1)
Comparison of Expressions in pdksh and bash
261(5)
Comparing Expressions with tcsh
266(4)
The for Statement
270(1)
The while Statement
271(2)
The until Statement
273(1)
The repeat Statement (tcsh)
274(1)
The select Statement (pdksh)
274(1)
The shift Statement
275(1)
The if Statement
275(1)
The case Statement
276(2)
The break and exit Statements
278(1)
Using Functions in Shell Scripts
279(2)
References
280(1)
13 The Boot Process
281(10)
Running Services at Boot
281(1)
Beginning the Boot Loading Process
282(1)
Loading the Linux Kernel
283(1)
System Services and Runlevels
284(1)
Runlevel Definitions
284(1)
Booting into the Default Runlevel
285(1)
Understanding init Scripts and the Final Stage of Initialization
285(1)
Controlling Services at Boot with Administrative Tools
286(1)
Changing Runlevels
286(1)
Troubleshooting Runlevel Problems
287(1)
Starting and Stopping Services Manually
288(1)
Using Upstart
289(2)
References
290(1)
14 System-Monitoring Tools
291(16)
Console-Based Monitoring
291(2)
Using the kill Command to Control Processes
293(1)
Using Priority Scheduling and Control
294(2)
Displaying Free and Used Memory with free
296(1)
Disk Space
297(1)
Disk Quotas
298(1)
Graphical Process and System Management Tools
298(1)
System Monitor
298(2)
Conky
300(5)
Other
305(1)
KDE Process- and System-Monitoring Tools
305(1)
Enterprise Server Monitoring
305(1)
Landscape
306(1)
Other
306(1)
References
306(1)
15 Backing Up
307(28)
Choosing a Backup Strategy
307(1)
Why Data Loss Occurs
308(1)
Assessing Your Backup Needs and Resources
309(2)
Evaluating Backup Strategies
311(3)
Making the Choice
314(1)
Choosing Backup Hardware and Media
314(1)
Removable Storage Media
314(1)
CD-RW and DVD+RW/-RW Drives
315(1)
Network Storage
315(1)
Tape Drive Backup
315(1)
Cloud Storage
316(1)
Using Backup Software
316(1)
tar: The Most Basic Backup Tool
317(2)
The GNOME File Roller
319(1)
The KDE ark Archiving Tool
320(1)
Deja Dup
320(2)
Back In Time
322(2)
Unison
324(1)
Using the Amanda Backup Application
324(1)
Alternative Backup Software
325(1)
Copying Files
326(1)
Copying Files Using tar
326(1)
Compressing, Encrypting, and Sending tar Streams
327(1)
Copying Files Using cp
327(1)
Copying Files Using mc
328(1)
Using rsync
328(2)
Version Control for Configuration Files
330(2)
System Rescue
332(1)
The Ubuntu Rescue Disc
333(1)
Restoring the GRUB2 Boot Loader
333(1)
Saving Files from a Nonbooting Hard Drive
333(2)
References
334(1)
16 Networking
335(46)
Laying the Foundation: The localhost Interface
336(1)
Checking for the Availability of the Loopback Interface
336(1)
Configuring the Loopback Interface Manually
336(2)
Checking Connections with ping, traceroute, and mtr
338(2)
Networking with TCP/IP
340(1)
TCP/IP Addressing
341(2)
Using IP Masquerading in Ubuntu
343(1)
Ports
344(1)
IPv6 Basics
344(3)
Network Organization
347(1)
Subnetting
347(1)
Subnet Masks
348(1)
Broadcast, Unicast, and Multicast Addressing
348(1)
Hardware Devices for Networking
349(1)
Network Interface Cards
349(2)
Network Cable
351(1)
Hubs and Switches
352(1)
Routers and Bridges
353(1)
Initializing New Network Hardware
353(2)
Using Network Configuration Tools
355(1)
Command-Line Network Interface Configuration
356(4)
Network Configuration Files
360(3)
Using Graphical Configuration Tools
363(2)
Dynamic Host Configuration Protocol
365(1)
How DHCP Works
365(1)
Activating DHCP at Installation and Boot Time
366(1)
DHCP Software Installation and Configuration
367(2)
Using DHCP to Configure Network Hosts
369(2)
Other Uses for DHCP
371(1)
Wireless Networking
371(1)
Support for Wireless Networking in Ubuntu
371(2)
Advantages of Wireless Networking
373(1)
Choosing from Among Available Wireless Protocols
373(1)
Beyond the Network and onto the Internet
374(1)
Common Configuration Information
374(2)
Configuring Digital Subscriber Line Access
376(1)
Understanding PPP over Ethernet
376(1)
Configuring a PPPoE Connection Manually
377(1)
Configuring Dial-Up Internet Access
378(1)
Troubleshooting Connection Problems
379(2)
References
380(1)
17 Remote Access with SSH and Telnet
381(10)
Setting Up a Telnet Server
381(2)
Telnet Versus SSH
383(1)
Setting Up an SSH Server
383(1)
SSH Tools
383(1)
Using scp to Copy Individual Files Between Machines
384(1)
Using sftp to Copy Many Files Between Machines
385(1)
Using ssh-keygen to Enable Key-Based Logins
385(2)
Virtual Network Computing
387(4)
References
389(2)
18 Securing Your Machines
391(14)
Understanding Computer Attacks
391(2)
Assessing Your Vulnerability
393(1)
Protecting Your Machine
394(1)
Securing a Wireless Network
395(1)
Passwords and Physical Security
395(1)
Configuring and Using Tripwire
396(1)
Devices
397(1)
Viruses
397(1)
Configuring Your Firewall
398(3)
AppArmor
401(2)
Forming a Disaster Recovery Plan
403(2)
References
404(1)
19 Performance Tuning
405(12)
Hard Disk
405(1)
Using the BIOS and Kernel to Tune the Disk Drives
406(1)
The hdparm Command
407(1)
File System Tuning
408(1)
The tune2fs Command
408(1)
The e2fsck Command
409(1)
The badblocks Command
409(1)
Disabling File Access Time
409(1)
Kernel
410(1)
Apache
411(1)
MySQL
412(1)
Measuring Key Buffer Usage
412(2)
Using the Query Cache
414(1)
Miscellaneous Tweaks
415(1)
Query Optimization
416(1)
References
416(1)
20 Kernel and Module Management
417(22)
The Linux Kernel
418(1)
The Linux Source Tree
419(2)
Types of Kernels
421(1)
Managing Modules
422(2)
When to Recompile
424(1)
Kernel Versions
425(1)
Obtaining the Kernel Sources
426(1)
Patching the Kernel
426(2)
Compiling the Kernel
428(3)
Using xconfig to Configure the Kernel
431(3)
Creating an Initial RAM Disk Image
434(1)
When Something Goes Wrong
435(1)
Errors During Compile
435(1)
Runtime Errors, Boot Loader Problems, and Kernel Oops
436(3)
References
436(3)
Part IV Ubuntu as a Server
21 Sharing Files and Printers
439(22)
Using the Network File System
440(1)
Installing and Starting or Stopping NFS
440(1)
NFS Server Configuration
440(2)
NFS Client Configuration
442(1)
Putting Samba to Work
443(1)
Manually Configuring Samba with /etc/samba/smb.conf
444(3)
Testing Samba with the testparm Command
447(1)
Starting, Stopping, and Restarting the smbd Daemon
448(1)
Mounting Samba Shares
449(1)
Configuring Samba Using SWAT
450(3)
Network and Remote Printing with Ubuntu
453(1)
Creating Network Printers
454(2)
Using the Common UNIX Printing System GUI
456(2)
Avoiding Printer Support Problems
458(3)
References
460(1)
22 Apache Web Server Management
461(30)
About the Apache Web Server
461(1)
Installing the Apache Server
462(1)
Installing from the Ubuntu Repositories
463(1)
Building the Source Yourself
464(3)
Starting and Stopping Apache
467(1)
Starting the Apache Server Manually
467(1)
Using /etc/init.d/apache2
468(1)
Runtime Server Configuration Settings
469(1)
Runtime Configuration Directives
470(1)
Editing apache2.conf
470(3)
Apache Multiprocessing Modules
473(1)
Using .htaccess Configuration Files
473(2)
File System Authentication and Access Control
475(1)
Restricting Access with allow and deny
476(1)
Authentication
477(2)
Final Words on Access Control
479(1)
Apache Modules
480(6)
mod_access
481(1)
mod_alias
481(1)
mod_asis
481(1)
mod_auth
482(1)
mod_auth_anon
482(1)
mod_auth_dbm
482(1)
mod_auth_digest
482(1)
mod_autoindex
483(1)
mod_cgi
483(1)
mod_dir and mod_env
483(1)
mod_expires
483(1)
mod_headers
483(1)
mod_include
484(1)
mod_info and mod_log_config
484(1)
mod_mime and mod_mime_magic
484(1)
mod_negotiation
484(1)
mod_proxy
484(1)
mod_rewrite
484(1)
mod_setenvif
485(1)
mod_speling
485(1)
mod_status
485(1)
mod_ssl
485(1)
mod_unique_id
485(1)
mod_userdir
485(1)
mod_usertrack
485(1)
mod_vhost_alias
485(1)
Virtual Hosting
486(1)
Address-Based Virtual Hosts
486(1)
Name-Based Virtual Hosts
486(2)
Logging
488(3)
References
490(1)
23 Other HTTP Servers
491(6)
Nginx
491(2)
lighttpd
493(1)
Yaws
494(1)
Cherokee
494(1)
Jetty
495(1)
thttpd
495(1)
Apache Tomcat
496(1)
References
496(1)
24 Remote File Serving with FTP
497(10)
Choosing an FTP Server
497(1)
Choosing an Authenticated or Anonymous Server
498(1)
Ubuntu FTP Server Packages
498(1)
Other FTP Servers
498(1)
Installing FTP Software
499(1)
The FTP User
500(2)
Configuring the Very Secure FTP Server
502(1)
Controlling Anonymous Access
503(1)
Other vsftpd Server Configuration Files
504(1)
Using the ftphosts File to Allow or Deny FTP Server Connection
505(2)
References
506(1)
25 Handling Email
507(20)
How Email Is Sent and Received
507(1)
The Mail Transport Agent
508(2)
Choosing an MTA
510(1)
The Mail Delivery Agent
510(1)
The Mail User Agent
511(1)
Basic Postfix Configuration and Operation
512(2)
Configuring Masquerading
514(1)
Using Smart Hosts
515(1)
Setting Message Delivery Intervals
515(1)
Mail Relaying
516(1)
Forwarding Email with Aliases
516(1)
Using Fetchmail to Retrieve Mail
517(1)
Installing Fetchmail
517(1)
Configuring Fetchmail
517(4)
Choosing a Mail Delivery Agent
521(1)
Procmail
521(1)
Spamassassin
521(1)
Squirrelmail
522(1)
Virus Scanners
522(1)
Autoresponders
522(1)
Alternatives to Microsoft Exchange Server
522(1)
Microsoft Exchange Server/Outlook Client
523(1)
CommuniGate Pro
523(1)
Oracle Beehive
524(1)
Bynari
524(1)
Open-Xchange
524(1)
phpgroupware
524(1)
PHProjekt
524(1)
Horde
524(3)
References
525(2)
26 Proxying, Reverse Proxying, and Virtual Private Networks (VPN)
527(16)
What Is a Proxy Server?
527(1)
Installing Squid
528(1)
Configuring Clients
528(1)
Access Control Lists
529(4)
Specifying Client IP Addresses
533(1)
Sample Configurations
534(2)
Virtual Private Networks (VPN)
536(1)
Setting Up a VPN Client
537(2)
Setting Up a VPN Server
539(4)
References
541(2)
27 Administering Relational Database Services
543(26)
A Brief Review of Database Basics
544(1)
How Relational Databases Work
545(2)
Understanding SQL Basics
547(1)
Creating Tables
548(1)
Inserting Data into Tables
549(1)
Retrieving Data from a Database
550(2)
Choosing a Database: MySQL Versus PostgreSQL
552(1)
Speed
552(1)
Data Locking
552(1)
ACID Compliance in Transaction Processing to Protect Data Integrity
553(1)
SQL Subqueries
554(1)
Procedural Languages and Triggers
554(1)
Configuring MySQL
554(1)
Setting a Password for the MySQL Root User
555(1)
Creating a Database in MySQL
556(2)
Configuring PostgreSQL
558(1)
Initializing the Data Directory in PostgreSQL
558(1)
Creating a Database in PostgreSQL
559(1)
Creating Database Users in PostgreSQL
559(1)
Deleting Database Users in PostgreSQL
560(1)
Granting and Revoking Privileges in PostgreSQL
561(1)
Database Clients
561(1)
SSH Access to a Database
562(1)
Local GUI Client Access to a Database
563(1)
Web Access to a Database
563(1)
The MySQL.Command-Line Client
564(2)
The PostgreSQL Command-Line Client
566(1)
Graphical Clients
566(3)
References
567(2)
28 NoSQL Databases
569(12)
Key/Value Stores
571(1)
Berkeley DB
572(1)
Cassandra
572(1)
Memcached and MemcacheDB
573(1)
Redis
573(1)
Riak
574(1)
Document Stores
574(1)
CouchDB
575(1)
MongoDB
575(1)
BaseX
576(1)
Wide Column Stores
576(1)
BigTable
577(1)
HBase
577(1)
Graph Stores
577(1)
Neo4j
578(1)
OrientDB
578(1)
HyperGraphDB
578(1)
FlockDB
578(3)
References
579(2)
29 Lightweight Directory Access Protocol (LDAP)
581(8)
Configuring the Server
582(1)
Creating Your Schema
582(2)
Populating Your Directory
584(2)
Configuring Clients
586(1)
Evolution
586(1)
Thunderbird
587(1)
Administration
587(2)
References
588(1)
30 Linux Terminal Server Project (LTSP)
589(8)
Requirements
590(3)
Installation
593(1)
Using LTSP
594(3)
References
595(2)
31 Virtualization on Ubuntu
597(10)
KVM
599(4)
VirtualBox
603(2)
VMware
605(1)
Xen
605(2)
References
605(2)
32 Ubuntu in the Cloud
607(34)
Why a Cloud?
608(1)
Software as a Service (SaaS)
609(1)
Platform as a Service (PaaS)
609(1)
Infrastructure as a Service (IaaS)
609(1)
Metal as a Service (MaaS)
609(1)
Before You Do Anything
610(1)
Ubuntu Cloud and Eucalyptus
610(2)
Deploy/Install Basics: Public or Private?
612(1)
Public
612(1)
Private
613(3)
A euca2ools Primer
616(2)
Ubuntu Cloud and OpenStack
618(1)
Compute Infrastructure (Nova)
618(1)
Storage Infrastructure (Swift)
619(1)
Imaging Service (Glance)
619(1)
Installation
619(10)
Creating an Image
629(3)
Instance Management
632(1)
Storage Management
633(1)
Network Management
633(1)
An OpenStack Commands Primer
634(1)
Learning More
634(1)
juju
634(1)
Getting Started
635(3)
Charms
638(2)
Landscape
640(1)
References
640(1)
33 Managing Sets of Servers
641(4)
juju
641(1)
Puppet
642(1)
Chef
642(1)
CFEngine
643(1)
Landscape
643(2)
References
643(2)
Part V Programming Linux
34 Opportunistic Development
645(20)
Version Control Systems
646(1)
Managing Software Projects with Subversion
646(1)
Managing Software Projects with Bazaar
647(1)
Managing Software Projects with Mercurial
648(1)
Managing Software Projects with Git
649(1)
Introduction to Opportunistic Development
650(1)
Launchpad
651(2)
Quickly
653(4)
Ground Control
657(4)
Bikeshed and Other Tools
661(4)
References
663(2)
35 Helping with Ubuntu Development
665(10)
Introduction to Ubuntu Development
666(1)
Setting Up Your Development System
667(1)
Install Basic Packages and Configure
667(1)
Create a Launchpad Account
668(1)
Set Up Your Environment to Work with Launchpad
668(2)
Fixing Bugs and Packaging
670(3)
Finding Bugs to Fix with Harvest
673(1)
Masters of the Universe
673(2)
References
673(2)
36 Helping with Ubuntu Testing and QA
675(6)
Community Teams
675(1)
Ubuntu Testing Team
676(1)
QA Team
676(1)
Bug Squad
677(1)
Test Drive
677(4)
References
680(1)
37 Using Peri
681(22)
Using Perl with Linux
681(1)
Perl Versions
682(1)
A Simple Perl Program
682(2)
Perl Variables and Data Structures
684(1)
Perl Variable Types
685(1)
Special Variables
685(1)
Operators
686(1)
Comparison Operators
686(1)
Compound Operators
687(1)
Arithmetic Operators
687(1)
Other Operators
688(1)
Special String Constants
688(1)
Conditional Statements: if/else and unless
689(1)
if
689(1)
unless
690(1)
Looping
690(1)
for
690(1)
foreach
691(1)
while
691(1)
until
692(1)
last and next
692(1)
do ... while and do ... until
692(1)
Regular Expressions
693(1)
Access to the Shell
694(1)
Modules and CPAN
695(1)
Code Examples
695(1)
Sending Mail
695(2)
Purging Logs
697(1)
Posting to Usenet
698(1)
One-Liners
699(1)
Command-Line Processing
700(3)
References
700(3)
38 Using Python
703(20)
Python on Linux
704(1)
The Basics of Python
705(1)
Numbers
705(2)
More on Strings
707(3)
Lists
710(2)
Dictionaries
712(1)
Conditionals and Looping
713(2)
Functions
715(1)
Object Orientation
716(1)
Class and Object Variables
717(1)
Constructors and Destructors
718(1)
Class Inheritance
719(2)
The Standard Library and the Python Package Index
721(2)
References
721(2)
39 Using PHP
723(32)
Introduction to PHP
724(1)
Entering and Exiting PHP Mode
724(1)
Variables
724(2)
Arrays
726(2)
Constants
728(1)
References
728(1)
Comments
729(1)
Escape Sequences
729(1)
Variable Substitution
730(1)
Operators
731(2)
Conditional Statements
733(1)
Special Operators
734(1)
Switching
735(2)
Loops
737(2)
Including Other Files
739(1)
Basic Functions
740(1)
Strings
740(3)
Arrays
743(2)
Files
745(2)
Miscellaneous
747(4)
Handling HTML Forms
751(1)
Databases
751(4)
References
754(1)
40 C/C Programming Tools for Ubuntu
755(12)
Programming in C with Linux
756(1)
Using the C Programming Project Management Tools Provided with Ubuntu
757(1)
Building Programs with make
757(1)
Using Makefiles
757(2)
Using the autoconf Utility to Configure Code
759(1)
Debugging Tools
760(1)
Using the GNU C Compiler
761(1)
Graphical Development Tools
762(1)
Using the KDevelop Client
762(1)
The Glade Client for Developing in GNOME
763(4)
References
764(3)
41 Using Other Popular Programming Languages
767(12)
Ada
768(1)
Clojure
768(1)
COBOL
769(1)
Erlang
770(1)
Forth
770(1)
Go
771(1)
Fortran
771(1)
Groovy
771(1)
Haskell
772(1)
Java
772(1)
JavaScript
772(1)
Lisp
773(1)
Lua
773(1)
Mono
774(1)
Ruby
774(1)
Rust
775(1)
Scala
775(1)
Scratch
776(1)
Vala
776(3)
References
776(3)
42 Beginning Mobile Development for Android
779(8)
Introduction to Android
780(1)
Hardware
780(1)
Linux Kernel
780(1)
Libraries
780(1)
Android Runtime
780(1)
Application Framework
780(1)
Applications
781(1)
Installing the Android SDK
781(1)
Install Java
781(1)
Install Eclipse
781(1)
Install the SDK
781(1)
Install the ADT Eclipse Plug-In
782(1)
Install Other Components
782(1)
Install Virtual Devices
783(1)
Create Your First Application
784(3)
References
785(2)
Part VI Appendices
A Ubuntu Under the Hood
787(10)
What Is Linux?
787(1)
Why Use Linux?
788(2)
What Is Ubuntu?
790(1)
Ubuntu for Business
791(1)
Ubuntu in Your Home
792(1)
64-Bit Ubuntu
793(1)
Getting the Most from Ubuntu and Linux Documentation
793(2)
Ubuntu Developers and Documentation
795(2)
References
795(2)
B Ubuntu and Linux Internet Resources
797(10)
Websites and Search Engines
798(1)
Web Search Tips
798(1)
Google Is Your Friend
799(1)
Ubuntu Package Listings
799(1)
Certification
799(1)
Commercial Support
800(1)
Documentation
800(1)
Linux Guides
800(1)
Ubuntu
801(1)
Mini-CD Linux Distributions
801(1)
Various Intel-Based Linux Distributions
802(1)
PowerPC-Based Linux Distributions
802(1)
Linux on Laptops and PDAs
802(1)
The X Window System
803(1)
Usenet Newsgroups
803(1)
Mailing Lists
804(1)
Ubuntu Project Mailing Lists
805(1)
Internet Relay Chat
805(2)
Index 807
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 as a senior technical writer for Pearson North Americas Assessment and Information division, documenting assessment software. 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 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.

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.