Muutke küpsiste eelistusi

Ubuntu Unleashed 2014 Edition: Covering 13.10 and 14.04 9th edition [Multiple-component retail product]

  • Formaat: Multiple-component retail product, 900 pages, kõrgus x laius x paksus: 228x181x47 mm, kaal: 1420 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 28-Nov-2013
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672336936
  • ISBN-13: 9780672336935
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, 900 pages, kõrgus x laius x paksus: 228x181x47 mm, kaal: 1420 g, Contains 1 Paperback / softback and 1 DVD-ROM
  • Ilmumisaeg: 28-Nov-2013
  • Kirjastus: Sams Publishing
  • ISBN-10: 0672336936
  • ISBN-13: 9780672336935
Teised raamatud teemal:
Ubuntu Unleashed 2014 Edition is filled with unique and advanced information for everyone who wants to make the most of the Linux-based Ubuntu operating system. This new edition has been thoroughly revised and updated by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 13.10 and the forthcoming Ubuntu 14.04.

 

Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 13.10/14.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 Ubuntus Unity interface, various types of servers, software repositories, database options, virtualization and cloud services, development tools, monitoring, troubleshooting, Ubuntus push into mobile and other touch screen devices, and much more.

 

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 and is the lead author of The Official Ubuntu Book. He works for Pearson Education writing technical documentation for educational testing software.

 

Detailed information on how to





Configure and customize the Unity desktop Get started with multimedia and productivity applications, including LibreOffice Manage Linux services, users, and software packages Administer and run Ubuntu from the command line 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, DNS, and HTTP servers (Apache, Nginx, 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 Learn about Ubuntus work toward usability on touch-screen and phone devices

 

Ubuntu 13.10 on DVD





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

Free Kick Start Chapter!





Purchase this book and receive a free Ubuntu 14.04 Kick Start chapter after Ubuntu 14.04 is released. See inside back cover for details  

 
Introduction 1(8)
Licensing
2(1)
Who This Book Is For
3(2)
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
6(3)
Part I Getting Started
1 Installing Ubuntu and Post-Installation Configuration
9(26)
Before You Begin the Installation
9(5)
Researching Your Hardware Specifications
10(1)
Installation Options
10(2)
32-Bit vs 64-Bit Ubuntu
12(1)
Planning Partition Strategies
12(1)
The Boot Loader
13(1)
Installing from DVD or USB Drive
14(1)
Step-by-Step Installation
14(5)
Installing
15(4)
First Update
19(1)
Shutting Down
19(1)
Finding Programs and Files
20(1)
Software Updater
21(3)
The sudo Command
24(1)
Configuring Software Repositories
25(2)
System Settings
27(4)
Detecting and Configuring a Printer
28(1)
Configuring Power Management in Ubuntu
29(1)
Setting the Time and Date
29(2)
Configuring Wireless Networks
31(2)
Troubleshooting Post-Installation Configuration Problems
33(1)
References
34(1)
2 Background Information and Resources
35(14)
What Is Linux?
35(1)
Why Use Linux?
36(2)
What Is Ubuntu?
38(1)
Ubuntu for Business
39(1)
Ubuntu in Your Home
40(1)
Getting the Most from Ubuntu and Linux Documentation
40(2)
Ubuntu Developers and Documentation
42(1)
Websites and Search Engines
42(4)
Web Search Tips
42(1)
Google Is Your Friend
43(1)
Ubuntu Package Listings
43(1)
Commercial Support
44(1)
Documentation
44(1)
Linux Guides
44(1)
Ubuntu
45(1)
Mailing Lists
46(1)
Ubuntu Project Mailing Lists
46(1)
Internet Relay Chat
47(2)
Part II Desktop Ubuntu
3 Working with Unity
49(20)
Foundations and the X Server
49(10)
Basic X Concepts
50(1)
Using X
51(1)
Elements of the xorg.conf File
52(5)
Starting X
57(1)
Using a Display Manager
58(1)
Changing Window Managers
58(1)
Using Unity, a Primer
59(7)
The Desktop
59(6)
Customizing and Configuring Unity
65(1)
Power Shortcuts
66(1)
References
67(2)
4 On the Internet
69(14)
Getting Started with Firefox
70(1)
Checking Out Google Chrome and Chromium
71(2)
Choosing an Email Client
73(3)
Mozilla Thunderbird
73(1)
Evolution
74(1)
Other Mail Clients
75(1)
RSS Readers
76(1)
Firefox
76(1)
Liferea
76(1)
Instant Messaging and Video Conferencing with Empathy
77(1)
Internet Relay Chat
78(2)
Usenet Newsgroups
80(2)
Ubuntu One Cloud Storage
82(1)
References
82(1)
5 Productivity Applications
83(10)
Introducing LibreOffice
85(2)
Other Office Suites for Ubuntu
87(2)
Working with GNOME Office
87(1)
Working with KOffice
88(1)
Other Useful Productivity Software
89(2)
Working with PDF
89(1)
Working with XML and DocBook
89(2)
Working with LaTeX
91(1)
Productivity Applications Written for Microsoft Windows
91(1)
References
92(1)
6 Multimedia Applications
93(26)
Sound and Music
93(7)
Sound Cards
94(1)
Adjusting Volume
95(1)
Sound Formats
96(1)
Listening to Music
97(2)
Buying Music in the Ubuntu One Music Store
99(1)
Graphics Manipulation
100(6)
The GNU Image Manipulation Program
101(2)
Using Scanners in Ubuntu
103(1)
Working with Graphics Formats
103(2)
Capturing Screen Images
105(1)
Other Graphics Manipulation Options
106(1)
Using Digital Cameras with Ubuntu
106(1)
Handheld Digital Cameras
106(1)
Using Shotwell Photo Manager
107(1)
Burning CDs and DVDs in Ubuntu
107(5)
Creating CDs and DVDs with Brasero
108(1)
Creating CDs from the Command Line
109(1)
Creating DVDs from the Command Line
110(2)
Viewing Video
112(5)
TV and Video Hardware
112(2)
Video Formats
114(1)
Viewing Video in Linux
114(2)
Personal Video Recorders
116(1)
Video Editing
116(1)
References
117(2)
7 Other Ubuntu Interfaces
119(8)
Desktop Environment
120(1)
KDE and Kubuntu
121(1)
Xfce and Xubuntu
122(2)
LXDE and Lubuntu
123(1)
GNOME 3 and Ubuntu GNOME
124(1)
Ubuntu Kylin
125(1)
References
126(1)
8 Games
127(12)
Ubuntu Gaming
127(2)
Installing Proprietary Video Drivers
128(1)
Installing Games in Ubuntu
129(7)
Warsow
130(1)
Scorched 3D
130(1)
Frozen Bubble
131(1)
SuperTux
132(1)
Battle for Wesnoth
132(2)
Frets on Fire
134(1)
FlightGear
134(1)
Speed Dreams
134(1)
Games for Kids
134(1)
Commercial Games
135(1)
Playing Windows Games
136(1)
References
136(3)
Part III System Administration
9 Managing Software
139(14)
Ubuntu Software Center
139(1)
Using Synaptic for Software Management
140(2)
Staying Up-to-Date
142(1)
Working on the Command Line
143(5)
Day-to-Day Usage
144(3)
Finding Software
147(1)
Compiling Software from Source
148(2)
Compiling from a Tarball
148(1)
Compiling from Source from the Ubuntu Repositories
149(1)
Configuration Management
150(1)
dotdee
150(1)
OneConf
151(1)
References
151(2)
10 Command-Line Quickstart
153(34)
What Is the Command Line?
154(1)
Accessing the Command Line
155(3)
Text-Based Console Login
156(1)
Logging Out
157(1)
Logging In and Out from a Remote Computer
157(1)
User Accounts
158(2)
Reading Documentation
160(1)
Using Man Pages
160(1)
Using apropros
160(1)
Using whereis
161(1)
Understanding the Linux File System Hierarchy
161(5)
Essential Commands in /bin and /sbin
162(1)
Configuration Files in /etc
163(1)
User Directories: /home
163(1)
Using the Contents of the /proc Directory to Interact with the Kernel
164(1)
Working with Shared Data in the /usr Directory
165(1)
Temporary File Storage in the /tmp Directory
166(1)
Accessing Variable Data Files in the /var Directory
166(1)
Navigating the Linux File System
166(3)
Listing the Contents of a Directory with is
166(2)
Changing Directories with cd
168(1)
Finding Your Current Directory with pwd
169(1)
Working with Permissions
169(6)
Assigning Permissions
170(1)
Directory Permissions
171(1)
Altering File Permissions with chmod
172(1)
File Permissions with chgrp
173(1)
Changing File Permissions with chown
173(1)
Understanding Set User ID and Set Group ID Permissions
173(2)
Working with Files
175(5)
Creating a File with touch
175(1)
Creating a Directory with mkdir
175(1)
Deleting a Directory with rmdir
176(1)
Deleting a File or Directory with rm
177(1)
Moving or Renaming a File with mv
177(1)
Copying a File with cp
178(1)
Displaying the Contents of a File with cat
179(1)
Displaying the Contents of a File with less
179(1)
Using Wildcards and Regular Expressions
179(1)
Working as Root
180(5)
Understanding and Fixing sudo
180(3)
Creating Users
183(1)
Deleting Users
184(1)
Shutting Down the System
184(1)
Rebooting the System
185(1)
Commonly Used Commands and Programs
185(1)
References
186(1)
11 Command-Line Master Class
187(46)
Why Use the Command Line?
188(1)
Using Basic Commands
189(21)
Printing the Contents of a File with cat
190(1)
Changing Directories with cd
191(2)
Changing File Access Permissions with chmod
193(1)
Copying Files with cp
193(1)
Printing Disk Usage with du
194(1)
Finding Files by Searching with find
195(2)
Searches for a String in Input with grep
197(1)
Paging Through Output with less
198(2)
Creating Links Between Files with in
200(2)
Finding Files from an Index with locate
202(1)
Listing Files in the Current Directory with is
202(2)
Reading Manual Pages with man
204(1)
Making Directories with mkdir
205(1)
Moving Files with mv
205(1)
Listing Processes with ps
206(1)
Deleting Files and Directories with rm
206(1)
Printing the Last Lines of a File with tail
207(1)
Printing Resource Usage with top
207(2)
Using echo
209(1)
Printing the Location of a Command with which
210(1)
Redirecting Output and Input
210(1)
stdin, stdout, sdterr, and Redirection
211(1)
Comparing Files
212(2)
Finding Differences in Files with diff
213(1)
Finding Similarities in Files with comm
213(1)
Combining Commands
214(3)
Pipes
214(2)
Running One or More Tasks in the Background
216(1)
Combining Commands with Boolean Operators
216(1)
Running Separate Commands in Sequence
217(1)
Using Environment Variables
217(3)
Using Common Text Editors
220(7)
Working with nano
222(1)
Working with vi
222(1)
Working with emacs
223(2)
Working with sed and awk
225(2)
Working with Compressed Files
227(1)
Using Multiple Terminals with byobu
227(2)
Polite System Reset using REISUB
229(1)
Limiting Resource Use
230(1)
References
231(2)
12 Managing Users
233(28)
User Accounts
233(4)
The Super User/Root User
234(2)
User IDs and Group IDs
236(1)
File Permissions
236(1)
Managing Groups
237(3)
Group Listing
237(1)
Group Management Tools
238(2)
Managing Users
240(6)
User Management Tools
240(2)
Adding New Users
242(4)
Monitoring User Activity on the System
246(1)
Managing Passwords
246(5)
System Password Policy
246(1)
The Password File
247(1)
Shadow Passwords
248(2)
Managing Password Security for Users
250(1)
Changing Passwords in a Batch
251(1)
Granting System Administrator Privileges to Regular Users
251(5)
Temporarily Changing User Identity with the su Command
251(2)
Granting Root Privileges on Occasion: The sudo Command
253(3)
Disk Quotas
256(2)
Implementing Quotas
257(1)
Manually Configuring Quotas
257(1)
Related Ubuntu Commands
258(1)
References
259(2)
13 Automating Tasks and Shell Scripting
261(46)
Scheduling Tasks
261(7)
Using at and batch to Schedule Tasks for Later
261(3)
Using cron to Run Jobs Repeatedly
264(2)
Using rtcwake to Wake Your Computer from Sleep Automatically
266(2)
Basic Shell Control
268(5)
The Shell Command Line
269(1)
Shell Pattern-Matching Support
270(1)
Redirecting Input and Output
271(1)
Piping Data
272(1)
Background Processing
272(1)
Writing and Executing a Shell Script
273(32)
Running the New Shell Program
274(1)
Storing Shell Scripts for System-wide Access
275(1)
Interpreting Shell Scripts Through Specific Shells
276(1)
Using Variables in Shell Scripts
277(1)
Assigning a Value to a Variable
278(1)
Accessing Variable Values
278(1)
Positional Parameters
278(1)
A Simple Example of a Positional Parameter
279(1)
Using Positional Parameters to Access and Retrieve Variables from the Command Line
280(1)
Using a Simple Script to Automate Tasks
280(2)
Built-In Variables
282(1)
Special Characters
283(1)
Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
284(1)
Using Single Quotes to Maintain Unexpanded Variables
284(1)
Using the Backslash as an Escape Character
285(1)
Using the Backtick to Replace a String with Output
286(1)
Comparison of Expressions in pdksh and bash
286(5)
Comparing Expressions with tcsh
291(4)
The for Statement
295(2)
The while Statement
297(1)
The until Statement
298(1)
The repeat Statement (tcsh)
299(1)
The select Statement (pdksh)
299(1)
The shift Statement
300(1)
The if Statement
300(2)
The case Statement
302(2)
The break and exit Statements
304(1)
Using Functions in Shell Scripts
304(1)
References
305(2)
14 The Boot Process
307(10)
Running Services at Boot
307(1)
Beginning the Boot Loading Process
308(6)
Loading the Linux Kernel
309(1)
System Services and Runlevels
310(1)
Runlevel Definitions
310(1)
Booting into the Default Runlevel
311(1)
Understanding init Scripts and the Final Stage of Initialization
311(1)
Controlling Services at Boot with Administrative Tools
312(1)
Changing Runlevels
312(1)
Troubleshooting Runlevel Problems
313(1)
Starting and Stopping Services Manually
314(1)
Using Upstart
315(1)
References
316(1)
15 System-Monitoring Tools
317(18)
Console-Based Monitoring
317(9)
Using the kill Command to Control Processes
319(1)
Using Priority Scheduling and Control
320(3)
Displaying Free and Used Memory with free
323(1)
Disk Space
323(1)
Disk Quotas
324(1)
Checking Log Files
324(2)
Graphical Process and System Management Tools
326(7)
System Monitor
326(2)
Conky
328(5)
Other
333(1)
KDE Process- and System-Monitoring Tools
333(1)
Enterprise Server Monitoring
333(1)
Landscape
334(1)
Other
334(1)
References
334(1)
16 Backing Up
335(28)
Choosing a Backup Strategy
335(7)
Why Data Loss Occurs
336(1)
Assessing Your Backup Needs and Resources
337(2)
Evaluating Backup Strategies
339(3)
Making the Choice
342(1)
Choosing Backup Hardware and Media
342(2)
Removable Storage Media
342(1)
CD-RW and DVD+RW/-RW Drives
343(1)
Network Storage
343(1)
Tape Drive Backup
343(1)
Cloud Storage
344(1)
Using Backup Software
344(10)
tar: The Most Basic Backup Tool
345(2)
The GNOME File Roller
347(1)
The KDE ark Archiving Tool
348(1)
Deja Dup
348(2)
Back In Time
350(2)
Unison
352(1)
Using the Amanda Backup Application
352(1)
Alternative Backup Software
353(1)
Copying Files
354(4)
Copying Files Using tar
354(1)
Compressing, Encrypting, and Sending tar Streams
355(1)
Copying Files Using cp
355(1)
Copying Files Using mc
356(1)
Using rsync
356(2)
Version Control for Configuration Files
358(2)
System Rescue
360(2)
The Ubuntu Rescue Disc
361(1)
Restoring the GRUB2 Boot Loader
361(1)
Saving Files from a Nonbooting Hard-Drive
362(1)
References
362(1)
17 Networking
363(46)
Laying the Foundation: The localhost Interface
364(2)
Checking for the Availability of the Loopback Interface
364(1)
Configuring the Loopback Interface Manually
364(2)
Checking Connections with ping, traceroute, and mtr
366(2)
Networking with TCP/IP
368(4)
TCP/IP Addressing
369(2)
Using IP Masquerading in Ubuntu
371(1)
Ports
372(1)
IPv6 Basics
372(3)
Network Organization
375(2)
Subnetting
375(1)
Subnet Masks
376(1)
Broadcast, Unicast, and Multicast Addressing
376(1)
Hardware Devices for Networking
377(6)
Network Interface Cards
377(2)
Network Cable
379(1)
Hubs and Switches
380(1)
Routers and Bridges
381(1)
Initializing New Network Hardware
381(2)
Using Network Configuration Tools
383(10)
Command-Line Network Interface Configuration
384(5)
Network Configuration Files
389(2)
Using Graphical Configuration Tools
391(2)
Dynamic Host Configuration Protocol
393(6)
How DHCP Works
393(1)
Activating DHCP at Installation and Boot Time
394(1)
DHCP Software Installation and Configuration
395(2)
Using DHCP to Configure Network Hosts
397(2)
Other Uses for DHCP
399(1)
Wireless Networking
399(3)
Support for Wireless Networking in Ubuntu
399(2)
Advantages of Wireless Networking
401(1)
Choosing from Among Available Wireless Protocols
401(1)
Beyond the Network and onto the Internet
402(1)
Common Configuration Information
402(2)
Configuring Digital Subscriber Line Access
404(2)
Understanding PPP over Ethernet
404(1)
Configuring a PPPoE Connection Manually
405(1)
Configuring Dial-Up Internet Access
406(1)
Troubleshooting Connection Problems
407(1)
References
408(1)
18 Remote Access with SSH and Telnet
409(10)
Setting Up a Telnet Server
409(2)
Telnet Versus SSH
411(1)
Setting Up an SSH Server
411(1)
SSH Tools
411(4)
Using scp to Copy Individual Files Between Machines
412(1)
Using sftp to Copy Many Files Between Machines
413(1)
Using ssh-keygen to Enable Key-Based Logins
413(2)
Virtual Network Computing
415(2)
References
417(2)
19 Securing Your Machines
419(16)
Understanding Computer Attacks
419(2)
Assessing Your Vulnerability
421(1)
Protecting Your Machine
422(3)
Securing a Wireless Network
423(1)
Passwords and Physical Security
423(1)
Configuring and Using Tripwire
424(1)
Devices
425(1)
Viruses
425(1)
Configuring Your Firewall
426(4)
AppArmor
430(2)
Forming a Disaster Recovery Plan
432(1)
References
433(2)
20 Performance Tuning
435(12)
Hard Disk
435(5)
Using the BIOS and Kernel to Tune the Disk Drives
436(1)
The hdparm Command
437(1)
File System Tuning
438(1)
The tune2fs Command
438(1)
The e2fsck Command
439(1)
The badblocks Command
439(1)
Disabling File Access Time
439(1)
Kernel
440(1)
Apache
441(1)
MySQL
442(4)
Measuring Key Buffer Usage
442(2)
Using the Query Cache
444(1)
Miscellaneous Tweaks
445(1)
Query Optimization
446(1)
References
446(1)
21 Kernel and Module Management
447(22)
The Linux Kernel
448(4)
The Linux Source Tree
449(2)
Types of Kernels
451(1)
Managing Modules
452(2)
When to Recompile
454(1)
Kernel Versions
455(1)
Obtaining the Kernel Sources
456(1)
Patching the Kernel
457(1)
Compiling the Kernel
458(7)
Using xconfig to Configure the Kernel
461(3)
Creating an Initial RAM Disk Image
464(1)
When Something Goes Wrong
465(1)
Errors During Compile
465(1)
Runtime Errors, Boot Loader Problems, and Kernel Oops
466(1)
References
466(3)
Part IV Ubuntu as a Server
22 Sharing Files and Printers
469(22)
Using the Network File System
470(3)
Installing and Starting or Stopping NFS
470(1)
NFS Server Configuration
470(2)
NFS Client Configuration
472(1)
Putting Samba to Work
473(10)
Manually Configuring Samba with /etc/samba/smb.conf
474(3)
Testing Samba with the testparm Command
477(1)
Starting, Stopping, and Restarting the smbd Daemon
478(1)
Mounting Samba Shares
479(1)
Configuring Samba Using SWAT
480(3)
Network and Remote Printing with Ubuntu
483(6)
Creating Network Printers
484(2)
Using the Common UNIX Printing System GUI
486(2)
Avoiding Printer Support Problems
488(1)
References
489(2)
23 Apache Web Server Management
491(30)
About the Apache Web Server
491(1)
Installing the Apache Server
492(5)
Installing from the Ubuntu Repositories
493(1)
Building the Source Yourself
494(3)
Starting and Stopping Apache
497(2)
Starting the Apache Server Manually
497(1)
Using /etc/init.d/apache2
498(1)
Runtime Server Configuration Settings
499(6)
Runtime Configuration Directives
500(1)
Editing apache2.conf
500(3)
Apache Multiprocessing Modules
503(1)
Using Access Configuration Files
503(2)
File System Authentication and Access Control
505(5)
Restricting Access with allow and deny
506(1)
Authentication
507(2)
Final Words on Access Control
509(1)
Apache Modules
510(5)
mod_access
510(1)
mod_alias
511(1)
mod_asis
511(1)
mod_auth
511(1)
mod_auth_anon
512(1)
mod_auth_dbm
512(1)
mod_auth_digest
512(1)
mod_autoindex
512(1)
mod_cgi
512(1)
mod_dir and mod_env
512(1)
mod_expires
513(1)
mod_headers
513(1)
mod_include
513(1)
mod_info and mod_log_config
513(1)
mod_mime and mod_mime_magic
513(1)
mod_negotiation
513(1)
mod_proxy
514(1)
mod_rewrite
514(1)
mod_setenvif
514(1)
mod_speling
514(1)
mod_status
514(1)
mod_ssl
514(1)
mod_unique_id
515(1)
mod_userdir
515(1)
mod_usertrack
515(1)
mod_vhost_alias
515(1)
Virtual Hosting
515(2)
Address-Based Virtual Hosts
515(1)
Name-Based Virtual Hosts
516(1)
Logging
517(2)
References
519(2)
24 Nginx Web Server Management
521(10)
About the Nginx Web Server
521(2)
Installing the Nginx Server
523(1)
Installing from the Ubuntu Repositories
523(1)
Building the Source Yourself
524(1)
Configuring the Nginx Server
524(3)
Virtual Hosting
527(1)
Setting Up PHP
528(2)
Adding and Configuring Modules
530(1)
References
530(1)
25 Other HTTP Servers
531(4)
lighttpd
531(1)
Yaws
532(1)
Cherokee
533(1)
Jetty
533(1)
thttpd
534(1)
Apache Tomcat
534(1)
References
534(1)
26 Remote File Serving with FTP
535(10)
Choosing an FTP Server
535(2)
Choosing an Authenticated or Anonymous Server
536(1)
Ubuntu FTP Server Packages
536(1)
Other FTP Servers
536(1)
Installing FTP Software
537(1)
The FTP User
538(2)
Configuring the Very Secure FTP Server
540(3)
Controlling Anonymous Access
541(1)
Other vsftpd Server Configuration Files
542(1)
Using the ftphosts File to Allow or Deny FTP Server Connection
543(1)
References
544(1)
27 Handling Email
545(20)
How Email Is Sent and Received
545(5)
The Mail Transport Agent
546(2)
Choosing an MTA
548(1)
The Mail Delivery Agent
548(1)
The Mail User Agent
549(1)
Basic Postfix Configuration and Operation
550(5)
Configuring Masquerading
552(1)
Using Smart Hosts
553(1)
Setting Message Delivery Intervals
553(1)
Mail Relaying
554(1)
Forwarding Email with Aliases
554(1)
Using Fetchmail to Retrieve Mail
555(4)
Installing Fetchmail
555(1)
Configuring Fetchmail
555(4)
Choosing a Mail Delivery Agent
559(1)
Procmail
559(1)
Spamassassin
559(1)
Squirrelmail
560(1)
Virus Scanners
560(1)
Autoresponders
560(1)
Alternatives to Microsoft Exchange Server
560(3)
Microsoft Exchange Server/Outlook Client
561(1)
CommuniGate Pro
561(1)
Oracle Beehive
562(1)
Bynari
562(1)
Open-Xchange
562(1)
phpgroupware
562(1)
PHProjekt
562(1)
Horde
562(1)
References
563(2)
28 Proxying, Reverse Proxying, and Virtual Private Networks (VPN)
565(16)
What Is a Proxy Server?
565(1)
Installing Squid
566(1)
Configuring Clients
566(1)
Access Control Lists
567(4)
Specifying Client IP Addresses
571(1)
Sample Configurations
572(2)
Virtual Private Networks (VPN)
574(5)
Setting Up a VPN Client
575(2)
Setting Up a VPN Server
577(2)
References
579(2)
29 Administering Relational Database Services
581(26)
A Brief Review of Database Basics
582(8)
How Relational Databases Work
584(2)
Understanding SQL Basics
586(1)
Creating Tables
586(1)
Inserting Data into Tables
587(1)
Retrieving Data from a Database
588(2)
Choosing a Database: MySQL Versus PostgreSQL
590(3)
Speed
590(1)
Data Locking
591(1)
ACID Compliance in Transaction Processing to Protect Data Integrity
591(1)
SQL Subqueries
592(1)
Procedural Languages and Triggers
592(1)
Configuring MySQL
593(3)
Setting a Password for the MySQL Root User
594(1)
Creating a Database in MySQL
594(2)
Configuring PostgreSQL
596(3)
Initializing the Data Directory in PostgreSQL
596(1)
Creating a Database in PostgreSQL
597(1)
Creating Database Users in PostgreSQL
598(1)
Deleting Database Users in PostgreSQL
598(1)
Granting and Revoking Privileges in PostgreSQL
599(1)
Database Clients
599(6)
SSH Access to a Database
600(1)
Local GUI Client Access to a Database
601(1)
Web Access to a Database
602(1)
The MySQL Command-Line Client
603(1)
The PostgreSQL Command-Line Client
604(1)
Graphical Clients
605(1)
References
605(2)
30 NoSQL Databases
607(12)
Key/Value Stores
610(2)
Berkeley DB
610(1)
Cassandra
611(1)
Memcached and MemcacheDB
611(1)
Redis
612(1)
Riak
612(1)
Document Stores
612(3)
CouchDB
613(1)
MongoDB
614(1)
BaseX
614(1)
Wide Column Stores
615(1)
BigTable
615(1)
HBase
615(1)
Graph Stores
616(1)
Neo4j
616(1)
OrientDB
616(1)
HyperGraphDB
616(1)
FlockDB
617(1)
References
617(2)
31 Lightweight Directory Access Protocol (LDAP)
619(8)
Configuring the Server
620(4)
Creating Your Schema
620(2)
Populating Your Directory
622(2)
Configuring Clients
624(1)
Evolution
624(1)
Thunderbird
625(1)
Administration
625(1)
References
626(1)
32 Linux Terminal Server Project (LTSP)
627(8)
Requirements
628(3)
Installation
631(1)
Using LTSP
632(1)
References
633(2)
33 Virtualization on Ubuntu
635(10)
KVM
637(4)
VirtualBox
641(2)
VMware
643(1)
Xen
643(1)
References
643(2)
34 Ubuntu in the Cloud
645(36)
Why a Cloud?
646(2)
Software as a Service (SaaS)
647(1)
Platform as a Service (PaaS)
647(1)
Infrastructure as a Service (IaaS)
647(1)
Metal as a Service (MaaS)
647(1)
Before You Do Anything
648(1)
Ubuntu Cloud and Eucalyptus
648(8)
Deploy/Install Basics: Public or Private?
650(1)
Public
650(1)
Private
651(3)
A euca2ools Primer
654(2)
Ubuntu Cloud and OpenStack
656(16)
Compute Infrastructure (Nova)
656(1)
Storage Infrastructure (Swift)
657(1)
Imaging Service (Glance)
657(1)
Installation
657(10)
Creating an Image
667(3)
Instance Management
670(1)
Storage Management
671(1)
Network Management
671(1)
An OpenStack Commands Primer
672(1)
Learning More
672(1)
Juju
672(6)
Getting Started
673(3)
Charms
676(1)
The Juju GUI
677(1)
Juju on Mac OS X
678(1)
Ubuntu Metal as a Service (MaaS)
678(1)
Landscape
679(1)
References
679(2)
35 Managing Sets of Servers
681(4)
Juju
681(1)
Puppet
682(1)
Chef
682(1)
CFEngine
683(1)
Ansible
683(1)
Landscape
683(1)
References
683(2)
36 Name Serving with the Domain Name System (DNS)
685(10)
Understanding Domain Names
687(4)
DNS Servers
687(1)
DNS Records
688(3)
Setting Up a DNS Server with BIND
691(2)
References
693(2)
Part V Programming Linux
37 Opportunistic Development
695(20)
Version Control Systems
696(4)
Managing Software Projects with Subversion
696(1)
Managing Software Projects with Bazaar
697(1)
Managing Software Projects with Mercurial
698(1)
Managing Software Projects with Git
699(1)
Introduction to Opportunistic Development
700(1)
Launchpad
701(2)
Quickly
703(4)
Ground Control
707(4)
Bikeshed and Other Tools
711(2)
References
713(2)
38 Helping with Ubuntu Development
715(10)
Introduction to Ubuntu Development
716(1)
Setting Up Your Development System
717(3)
Install Basic Packages and Configure
717(1)
Create a Launchpad Account
718(1)
Set Up Your Environment to Work with Launchpad
718(2)
Fixing Bugs and Packaging
720(3)
Finding Bugs to Fix with Harvest
723(1)
Masters of the Universe
723(1)
References
723(2)
39 Helping with Ubuntu Testing and QA
725(6)
Community Teams
725(2)
Ubuntu Testing Team
726(1)
QA Team
726(1)
Bug Squad
727(1)
Test Drive
727(3)
References
730(1)
40 Using Perl
731(22)
Using Perl with Linux
731(3)
Perl Versions
732(1)
A Simple Perl Program
732(2)
Perl Variables and Data Structures
734(2)
Perl Variable Types
735(1)
Special Variables
735(1)
Operators
736(3)
Comparison Operators
736(1)
Compound Operators
737(1)
Arithmetic Operators
737(1)
Other Operators
738(1)
Special String Constants
738(1)
Conditional Statements: if/else and unless
739(1)
if
739(1)
unless
740(1)
Looping
740(3)
for
740(1)
foreach
741(1)
while
741(1)
until
742(1)
Last and Next
742(1)
Do ... while and do ... until
742(1)
Regular Expressions
743(1)
Access to the Shell
744(1)
Modules and CPAN
745(1)
Code Examples
745(5)
Sending Mail
745(2)
Purging Logs
747(1)
Posting to Usenet
748(1)
One-Liners
749(1)
Command-Line Processing
750(1)
References
750(3)
41 Using Python
753(20)
Python on Linux
754(1)
The Basics of Python
755(10)
Numbers
755(2)
More on Strings
757(3)
Lists
760(2)
Dictionaries
762(1)
Conditionals and Looping
763(2)
Functions
765(1)
Object Orientation
766(5)
Class and Object Variables
767(1)
Constructors and Destructors
768(1)
Class Inheritance
769(2)
The Standard Library and the Python Package Index
771(1)
References
771(2)
42 Using PHP
773(32)
Introduction to PHP
774(16)
Entering and Exiting PHP Mode
774(1)
Variables
774(2)
Arrays
776(2)
Constants
778(1)
References
778(1)
Comments
779(1)
Escape Sequences
779(1)
Variable Substitution
780(1)
Operators
781(2)
Conditional Statements
783(1)
Special Operators
784(1)
Switching
785(2)
Loops
787(2)
Including Other Files
789(1)
Basic Functions
790(11)
Strings
790(3)
Arrays
793(2)
Files
795(2)
Miscellaneous
797(4)
Handling HTML Forms
801(1)
Databases
801(3)
References
804(1)
43 C/C++ Programming Tools for Ubuntu
805(12)
Programming in C with Linux
806(1)
Using the C Programming Project Management Tools Provided with Ubuntu
807(4)
Building Programs with make
807(1)
Using Makefiles
807(2)
Using the autoconf Utility to Configure Code
809(1)
Debugging Tools
810(1)
Using the GNU C Compiler
811(1)
Graphical Development Tools
812(2)
Using the KDevelop Client
812(1)
The Glade Client for Developing in GNOME
813(1)
References
814(3)
Part VI Appendices
44 Using Other Popular Programming Languages
817(12)
Ada
818(1)
Clojure
819(1)
COBOL
819(1)
D
820(1)
Erlang
820(1)
Forth
821(1)
Go
821(1)
Fortran
822(1)
Groovy
822(1)
Haskell
822(1)
Java
823(1)
JavaScript
823(1)
Lisp
824(1)
Lua
824(1)
Mono
825(1)
Ruby
825(1)
Rust
826(1)
Scala
826(1)
Scratch
826(1)
Vala
827(1)
References
827(2)
45 Beginning Mobile Development for Android
829(8)
Introduction to Android
830(1)
Hardware
830(1)
Linux Kernel
830(1)
Libraries
830(1)
Android Runtime
830(1)
Application Framework
830(1)
Applications
831(1)
Installing the Android SDK
831(3)
Install Java
831(1)
Install Eclipse
831(1)
Install the SDK
831(1)
Install the ADT Eclipse Plug-In
832(1)
Install Other Components
832(1)
Install Virtual Devices
833(1)
Create Your First Application
834(1)
References
835(2)
46 Developing for Ubuntu Mobile/Touch
837(4)
Install the SDK
838(1)
Create Your First Application
838(1)
Learn About Ubuntu Design
839(1)
Study the User Interface Toolkit
839(1)
References
840(1)
Index 841
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 matthew@matthewhelmke.com.

 

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 andy.hudson@gmail.com.

 

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.