Cart
Free US shipping over $10
Proud to be B-Corp

Ubuntu Unleashed 2015 Edition Matthew Helmke

Ubuntu Unleashed 2015 Edition By Matthew Helmke

Ubuntu Unleashed 2015 Edition by Matthew Helmke


$11.69
Condition - Very Good
Only 1 left

Ubuntu Unleashed 2015 Edition Summary

Ubuntu Unleashed 2015 Edition: Covering 14.10 and 15.04 by Matthew Helmke

Ubuntu Unleashed 2015 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 14.10 while including tons of information that will continue to apply to future editions.

Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 14.10 installation, configuration, productivity, multimedia, development, system administration, server operations, networking, virtualization, security, DevOps, and more-including intermediate-to-advanced techniques you won't find in any other book.

Helmke presents up-to-the-minute introductions to Ubuntu's key productivity and Web development tools, programming languages, hardware support, and more. You'll find new or improved coverage of Ubuntu's Unity interface, various types of servers, software repositories, database options, virtualization and cloud services, development tools, monitoring, troubleshooting, Ubuntu's push into mobile and other touch screen devices, and much more.

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 Ubuntu's work toward usability on touch-screen and phone devices

Ubuntu 14.10 on DVD

DVD includes the full Ubuntu 14.10 distribution for 64 bit computers (most desktop and notebooks systems today) 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 15.04 Kick Start chapter after Ubuntu 15.04 is released. See inside back cover for details

About Matthew Helmke

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 America's Assessment Technology Engineering 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 master's 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.

Table of Contents

Introduction 1

Licensing 2

Who This Book Is For 3

Those Wanting to Become Intermediate or Advanced Users 3

Sysadmins, Programmers, and DevOps 4

What This Book Contains 5

Conventions Used in This Book 6

Part I Getting Started

1 Installing Ubuntu and Post-Installation Configuration 9

Before You Begin the Installation 9

Researching Your Hardware Specifications 10

Installation Options 10

32-Bit vs. 64-Bit Ubuntu 12

Planning Partition Strategies 13

The Boot Loader 13

Installing from DVD or USB Drive 14

Step-by-Step Installation 14

Installing 15

First Update 20

Shutting Down 20

Finding Programs and Files 21

Software Updater 22

The sudo Command 25

Configuring Software Repositories 26

System Settings 28

Detecting and Configuring a Printer 29

Configuring Power Management in Ubuntu 29

Setting the Time and Date 30

Configuring Wireless Networks 32

Troubleshooting Post-Installation Configuration Problems 33

References 34

2 Background Information and Resources 35

What Is Linux? 35

Why Use Linux? 37

What Is Ubuntu? 39

Ubuntu for Business 40

Ubuntu in Your Home 41

Getting the Most from Ubuntu and Linux Documentation 41

Ubuntu Developers and Documentation 43

Websites and Search Engines 43

Web Search Tips 43

Google Is Your Friend 44

Ubuntu Package Listings 44

Commercial Support 44

Documentation 45

Linux Guides 45

Ubuntu 46

Mailing Lists 46

Ubuntu Project Mailing Lists 47

Internet Relay Chat 48

Part II Desktop Ubuntu

3 Working with Unity 49

Foundations and the X Server 49

Basic X Concepts 50

Using X 51

Elements of the xorg.conf File 52

Starting X 57

Using a Display Manager 58

Changing Window Managers 58

Using Unity, a Primer 59

The Desktop 59

Customizing and Configuring Unity 64

Power Shortcuts 66

References 67

4 On the Internet 69

Getting Started with Firefox 70

Checking Out Google Chrome and Chromium 71

Choosing an Email Client 73

Mozilla Thunderbird 73

Evolution 74

Other Mail Clients 75

RSS Readers 76

Firefox 76

Liferea 76

Instant Messaging and Video Conferencing with Empathy 77

Internet Relay Chat 78

Usenet Newsgroups 80

References 82

5 Productivity Applications 83

Introducing LibreOffice 85

Other Office Suites for Ubuntu 87

Working with GNOME Office 87

Working with KOffice 88

Other Useful Productivity Software 89

Working with PDF 89

Working with XML and DocBook 89

Working with LaTeX 91

Productivity Applications Written for Microsoft Windows 91

References 92

6 Multimedia Applications 93

Sound and Music 93

Sound Cards 94

Adjusting Volume 95

Sound Formats 96

Listening to Music 97

Buying Music in the Ubuntu One Music Store 99

Graphics Manipulation 100

The GNU Image Manipulation Program 101

Using Scanners in Ubuntu 103

Working with Graphics Formats 103

Capturing Screen Images 105

Other Graphics Manipulation Options 106

Using Digital Cameras with Ubuntu 106

Handheld Digital Cameras 106

Using Shotwell Photo Manager 107

Burning CDs and DVDs in Ubuntu 107

Creating CDs and DVDs with Brasero 108

Creating CDs from the Command Line 109

Creating DVDs from the Command Line 110

Viewing Video 112

TV and Video Hardware 112

Video Formats 114

Viewing Video in Linux 114

Personal Video Recorders 116

Video Editing 116

References 117

7 Other Ubuntu Interfaces 119

Desktop Environment 120

KDE and Kubuntu 121

Xfce and Xubuntu 122

LXDE and Lubuntu 123

GNOME 3 and Ubuntu GNOME 124

Ubuntu Kylin 125

References 126

8 Games 127

Ubuntu Gaming 127

Installing Proprietary Video Drivers 128

Installing Games in Ubuntu 129

Warsow 129

Scorched 3D 130

Frozen Bubble 131

SuperTux 131

Battle for Wesnoth 133

Frets on Fire 133

FlightGear 134

Speed Dreams 134

Games for Kids 134

Commercial Games 135

Steam 136

Playing Windows Games 136

References 137

Part III System Administration

9 Managing Software 139

Ubuntu Software Center 139

Using Synaptic for Software Management 140

Staying Up-to-Date 142

Working on the Command Line 143

Day-to-Day Usage 144

Finding Software 147

Compiling Software from Source 148

Compiling from a Tarball 148

Compiling from Source from the Ubuntu Repositories 149

Configuration Management 150

dotdee 150

OneConf 151

References 151

10 Command-Line Quickstart 153

What Is the Command Line? 154

Accessing the Command Line 155

Text-Based Console Login 156

Logging Out 157

Logging In and Out from a Remote Computer 157

User Accounts 158

Reading Documentation 160

Using Man Pages 160

Using apropros 160

Using whereis 161

Understanding the Linux File System Hierarchy 161

Essential Commands in /bin and /sbin 162

Configuration Files in /etc 163

User Directories: /home 163

Using the Contents of the /proc Directory to Interact with the Kernel 164

Working with Shared Data in the /usr Directory 165

Temporary File Storage in the /tmp Directory 166

Accessing Variable Data Files in the /var Directory 166

Navigating the Linux File System 166

Listing the Contents of a Directory with ls 166

Changing Directories with cd 168

Finding Your Current Directory with pwd 169

Working with Permissions 169

Assigning Permissions 170

Directory Permissions 171

Altering File Permissions with chmod 172

File Permissions with chgrp 173

Changing File Permissions with chown 173

Understanding Set User ID and Set Group ID Permissions 173

Working with Files 175

Creating a File with touch 175

Creating a Directory with mkdir 175

Deleting a Directory with rmdir 176

Deleting a File or Directory with rm 177

Moving or Renaming a File with mv 177

Copying a File with cp 178

Displaying the Contents of a File with cat 179

Displaying the Contents of a File with less 179

Using Wildcards and Regular Expressions 179

Working as Root 180

Understanding and Fixing sudo 180

Creating Users 183

Deleting Users 184

Shutting Down the System 184

Rebooting the System 185

Commonly Used Commands and Programs 185

References 186

11 Command-Line Master Class 187

Why Use the Command Line? 188

Using Basic Commands 189

Printing the Contents of a File with cat 191

Changing Directories with cd 191

Changing File Access Permissions with chmod 193

Copying Files with cp 194

Printing Disk Usage with du 194

Finding Files by Searching with find 195

Searches for a String in Input with grep 197

Paging Through Output with less 198

Creating Links Between Files with ln 200

Finding Files from an Index with locate 202

Listing Files in the Current Directory with ls 202

Reading Manual Pages with man 204

Making Directories with mkdir 205

Moving Files with mv 205

Deleting Files and Directories with rm 206

Sorting the Contents of a File with sort 206

Printing the Last Lines of a File with tail 208

Using echo 209

Printing the Location of a Command with which 209

Redirecting Output and Input 209

stdin, stdout, sdterr, and Redirection 211

Comparing Files 212

Finding Differences in Files with diff 212

Finding Similarities in Files with comm 213

Limiting Resource Use and Job Control 213

Listing Processes with ps 213

Listing Jobs with jobs 214

Running One or More Tasks in the Background 215

Moving Jobs to the Background or Foreground with bg and fg 216

Printing Resource Usage with top 216

Setting Processes Priority with nice 219

Combining Commands 220

Pipes 220

Combining Commands with Boolean Operators 222

Running Separate Commands in Sequence 222

Using Environment Variables 222

Using Common Text Editors 226

Working with nano 227

Working with vi 228

Working with emacs 229

Working with sed and awk 230

Working with Compressed Files 232

Using Multiple Terminals with byobu 233

Polite System Reset Using REISUB 234

Tips and Tricks 235

Running the Previous Command 235

Running Any Previous Command 236

Running a Previous Command That Started with

Specific Letters 236

Running the Same Thing You Just Ran with a Different

First Word 236

Viewing Your History and More 236

Do Two or More Things 236

Shortcuts 237

Coreutils 237

References 237

12 Managing Users 239

User Accounts 239

The Super User/Root User 240

User IDs and Group IDs 242

File Permissions 242

Managing Groups 243

Group Listing 243

Group Management Tools 245

Managing Users 246

User Management Tools 246

Adding New Users 248

Monitoring User Activity on the System 252

Managing Passwords 253

System Password Policy 253

The Password File 253

Shadow Passwords 254

Managing Password Security for Users 257

Changing Passwords in a Batch 257

Granting System Administrator Privileges to

Regular Users 258

Temporarily Changing User Identity with the su Command 258

Granting Root Privileges on Occasion: The sudo Command 260

Disk Quotas 263

Implementing Quotas 263

Manually Configuring Quotas 264

Related Ubuntu Commands 265

References 265

13 Automating Tasks and Shell Scripting 267

Scheduling Tasks 267

Using at and batch to Schedule Tasks for Later 267

Using cron to Run Jobs Repeatedly 270

Using rtcwake to Wake Your Computer from Sleep

Automatically 272

Basic Shell Control 274

The Shell Command Line 275

Shell Pattern-Matching Support 276

Redirecting Input and Output 277

Piping Data 278

Background Processing 278

Writing and Executing a Shell Script 279

Running the New Shell Program 280

Storing Shell Scripts for System-Wide Access 281

Interpreting Shell Scripts Through Specific Shells 282

Using Variables in Shell Scripts 283

Assigning a Value to a Variable 284

Accessing Variable Values 284

Positional Parameters 284

A Simple Example of a Positional Parameter 285

Using Positional Parameters to Access and Retrieve Variables from the Command Line 286

Using a Simple Script to Automate Tasks 286

Built-In Variables 288

Special Characters 289

Using Double Quotes to Resolve Variables in Strings with Embedded Spaces 290

Using Single Quotes to Maintain Unexpanded Variables 290

Using the Backslash as an Escape Character 291

Using the Backtick to Replace a String with Output 292

Comparison of Expressions in pdksh and bash 292

Comparing Expressions with tcsh 297

The for Statement 301

The while Statement 303

The until Statement 304

The repeat Statement (tcsh) 305

The select Statement (pdksh) 305

The shift Statement 306

The if Statement 306

The case Statement 308

The break and exit Statements 310

Using Functions in Shell Scripts 310

References 311

14 The Boot Process 313

Running Services at Boot 313

Beginning the Boot Loading Process 314

Loading the Linux Kernel 315

System Services and Runlevels 316

Runlevel Definitions 316

Booting into the Default Runlevel 317

Understanding init Scripts and the Final Stage of Initialization 317

Controlling Services at Boot with Administrative Tools 318

Changing Runlevels 318

Troubleshooting Runlevel Problems 319

Starting and Stopping Services Manually 320

Using Upstart 321

systemd 322

Boot Repair 322

References 322

15 System-Monitoring Tools 323

Console-Based Monitoring 323

Using the kill Command to Control Processes 325

Using Priority Scheduling and Control 326

Displaying Free and Used Memory with free 327

Disk Space 328

Disk Quotas 329

Checking Log Files 329

Rotating Log Files 331

Graphical Process and System Management Tools 336

System Monitor 336

Conky 338

Other 342

KDE Process- and System-Monitoring Tools 343

Enterprise Server Monitoring 343

Landscape 343

Other 343

References 344

16 Backing Up 345

Choosing a Backup Strategy 345

Why Data Loss Occurs 346

Assessing Your Backup Needs and Resources 347

Evaluating Backup Strategies 349

Making the Choice 352

Choosing Backup Hardware and Media 352

Removable Storage Media 352

CD-RW and DVD+RW/-RW Drives 353

Network Storage 353

Tape Drive Backup 353

Cloud Storage 354

Using Backup Software 354

tar: The Most Basic Backup Tool 355

The GNOME File Roller 357

The KDE ark Archiving Tool 358

Deja Dup 358

Back In Time 360

Unison 362

Using the Amanda Backup Application 362

Alternative Backup Software 363

Copying Files 364

Copying Files Using tar 364

Compressing, Encrypting, and Sending tar Streams 365

Copying Files Using cp 365

Copying Files Using mc 366

Using rsync 366

Version Control for Configuration Files 368

System Rescue 370

The Ubuntu Rescue Disc 371

Restoring the GRUB2 Boot Loader 371

Saving Files from a Nonbooting Hard Drive 372

References 372

17 Networking 373

Laying the Foundation: The localhost Interface 374

Checking for the Availability of the Loopback Interface 374

Configuring the Loopback Interface Manually 374

Checking Connections with ping, traceroute, and mtr 376

Networking with TCP/IP 378

TCP/IP Addressing 379

Using IP Masquerading in Ubuntu 381

Ports 382

IPv6 Basics 382

Network Organization 385

Subnetting 385

Subnet Masks 386

Broadcast, Unicast, and Multicast Addressing 386

Hardware Devices for Networking 387

Network Interface Cards 387

Network Cable 389

Hubs and Switches 390

Routers and Bridges 391

Initializing New Network Hardware 391

Using Network Configuration Tools 393

Command-Line Network Interface Configuration 394

Network Configuration Files 399

Using Graphical Configuration Tools 401

Dynamic Host Configuration Protocol 403

How DHCP Works 403

Activating DHCP at Installation and Boot Time 404

DHCP Software Installation and Configuration 405

Using DHCP to Configure Network Hosts 407

Other Uses for DHCP 409

Wireless Networking 409

Support for Wireless Networking in Ubuntu 409

Advantages of Wireless Networking 411

Choosing from Among Available Wireless Protocols 411

Beyond the Network and onto the Internet 412

Common Configuration Information 412

Configuring Digital Subscriber Line Access 414

Understanding PPP over Ethernet 414

Configuring a PPPoE Connection Manually 415

Configuring Dial-Up Internet Access 416

Troubleshooting Connection Problems 417

References 418

18 Remote Access with SSH, Telnet, and VNC 419

Setting Up a Telnet Server 419

Telnet Versus SSH 421

Setting Up an SSH Server 421

SSH Tools 421

Using scp to Copy Individual Files Between Machines 422

Using sftp to Copy Many Files Between Machines 423

Using ssh-keygen to Enable Key-Based Logins 423

Virtual Network Computing 425

References 427

19 Securing Your Machines 429

Understanding Computer Attacks 429

Assessing Your Vulnerability 431

Protecting Your Machine 432

Securing a Wireless Network 433

Passwords and Physical Security 433

Configuring and Using Tripwire 434

Devices 435

Viruses 435

Configuring Your Firewall 436

AppArmor 440

Forming a Disaster Recovery Plan 442

References 443

20 Performance Tuning 445

Hard Disk 445

Using the BIOS and Kernel to Tune the Disk Drives 446

The hdparm Command 447

File System Tuning 448

The tune2fs Command 448

The e2fsck Command 449

The badblocks Command 449

Disabling File Access Time 449

Kernel 450

Apache 451

MySQL 452

Measuring Key Buffer Usage 452

Using the Query Cache 454

Miscellaneous Tweaks 455

Query Optimization 456

References 456

21 Kernel and Module Management 457

The Linux Kernel 458

The Linux Source Tree 459

Types of Kernels 461

Managing Modules 462

When to Recompile 464

Kernel Versions 465

Obtaining the Kernel Sources 466

Patching the Kernel 467

Compiling the Kernel 468

Using xconfig to Configure the Kernel 471

Creating an Initial RAM Disk Image 474

When Something Goes Wrong 475

Errors During Compile 475

Runtime Errors, Boot Loader Problems, and Kernel Oops 476

References 476

Part IV Ubuntu as a Server

22 Sharing Files and Printers 479

Using the Network File System 480

Installing and Starting or Stopping NFS 480

NFS Server Configuration 480

NFS Client Configuration 482

Putting Samba to Work 482

Manually Configuring Samba with /etc/samba/smb.conf 484

Testing Samba with the testparm Command 487

Starting, Stopping, and Restarting the smbd Daemon 488

Mounting Samba Shares 489

Network and Remote Printing with Ubuntu 489

Creating Network Printers 490

Using the Common UNIX Printing System GUI 491

Avoiding Printer Support Problems 493

References 494

23 Apache Web Server Management 495

About the Apache Web Server 495

Installing the Apache Server 496

Installing from the Ubuntu Repositories 496

Building the Source Yourself 498

Starting and Stopping Apache 500

Starting the Apache Server Manually 500

Using /etc/init.d/apache2 502

Runtime Server Configuration Settings 503

Runtime Configuration Directives 503

Editing apache2.conf 504

Apache Multiprocessing Modules 507

Using .htaccess Configuration Files 507

File System Authentication and Access Control 509

Restricting Access with allow and deny 510

Authentication 511

Final Words on Access Control 513

Apache Modules 514

mod_access 514

mod_alias 514

mod_asis 515

mod_auth 515

mod_auth_anon 515

mod_auth_dbm 516

mod_auth_digest 516

mod_autoindex 516

mod_cgi 516

mod_dir and mod_env 516

mod_expires 516

mod_headers 516

mod_include 517

mod_info and mod_log_config 517

mod_mime and mod_mime_magic 517

mod_negotiation 517

mod_proxy 517

mod_rewrite 518

mod_setenvif 518

mod_speling 518

mod_status 518

mod_ssl 518

mod_unique_id 518

mod_userdir 519

mod_usertrack 519

mod_vhost_alias 519

Virtual Hosting 519

Address-Based Virtual Hosts 519

Name-Based Virtual Hosts 520

Logging 521

HTTPS 523

References 525

24 Nginx Web Server Management 527

About the Nginx Web Server 527

Installing the Nginx Server 529

Installing from the Ubuntu Repositories 529

Building the Source Yourself 530

Configuring the Nginx Server 530

Virtual Hosting 533

Setting Up PHP 534

Adding and Configuring Modules 536

HTTPS 536

References 538

25 Other HTTP Servers 539

lighttpd 539

Yaws 540

Cherokee 541

Jetty 541

thttpd 542

Apache Tomcat 542

References 542

26 Remote File Serving with FTP 543

Choosing an FTP Server 543

Choosing an Authenticated or Anonymous Server 544

Ubuntu FTP Server Packages 544

Other FTP Servers 544

Installing FTP Software 545

The FTP User 546

Configuring the Very Secure FTP Server 548

Controlling Anonymous Access 549

Other vsftpd Server Configuration Files 550

Using the ftphosts File to Allow or Deny FTP Server Connection 551

References 552

27 Handling Email 553

How Email Is Sent and Received 553

The Mail Transport Agent 554

Choosing an MTA 556

The Mail Delivery Agent 556

The Mail User Agent 557

Basic Postfix Configuration and Operation 558

Configuring Masquerading 560

Using Smart Hosts 561

Setting Message Delivery Intervals 561

Mail Relaying 562

Forwarding Email with Aliases 562

Using Fetchmail to Retrieve Mail 563

Installing Fetchmail 563

Configuring Fetchmail 563

Choosing a Mail Delivery Agent 567

Procmail 567

Spamassassin 567

Squirrelmail 568

Virus Scanners 568

Autoresponders 568

Alternatives to Microsoft Exchange Server 568

Microsoft Exchange Server/Outlook Client 569

CommuniGate Pro 569

Oracle Beehive 570

Bynari 570

Open-Xchange 570

phpgroupware 570

PHProjekt 570

Horde 570

References 571

28 Proxying, Reverse Proxying, and Virtual Private Networks (VPN) 573

What Is a Proxy Server? 573

Installing Squid 574

Configuring Clients 574

Access Control Lists 575

Specifying Client IP Addresses 579

Sample Configurations 580

Virtual Private Networks (VPN) 582

Setting Up a VPN Client 583

Setting Up a VPN Server 585

References 587

29 Administering Relational Database Services 589

A Brief Review of Database Basics 590

How Relational Databases Work 592

Understanding SQL Basics 594

Creating Tables 594

Inserting Data into Tables 595

Retrieving Data from a Database 596

Choosing a Database: MySQL Versus PostgreSQL 598

Speed 598

Data Locking 599

ACID Compliance in Transaction Processing to

Protect Data Integrity 599

SQL Subqueries 600

Procedural Languages and Triggers 600

Configuring MySQL 601

Setting a Password for the MySQL Root User 602

Creating a Database in MySQL 602

Configuring PostgreSQL 604

Initializing the Data Directory in PostgreSQL 604

Creating a Database in PostgreSQL 605

Creating Database Users in PostgreSQL 606

Deleting Database Users in PostgreSQL 606

Granting and Revoking Privileges in PostgreSQL 607

Database Clients 607

SSH Access to a Database 608

Local GUI Client Access to a Database 609

Web Access to a Database 610

The MySQL Command-Line Client 611

The PostgreSQL Command-Line Client 612

Graphical Clients 613

References 613

30 NoSQL Databases 615

Key/Value Stores 618

Berkeley DB 618

Cassandra 619

Memcached and MemcacheDB 619

Redis 620

Riak 620

Document Stores 620

CouchDB 621

MongoDB 622

BaseX 622

Wide Column Stores 623

BigTable 623

HBase 623

Graph Stores 624

Neo4j 624

OrientDB 624

HyperGraphDB 624

FlockDB 625

References 625

31 Lightweight Directory Access Protocol (LDAP) 627

Configuring the Server 628

Creating Your Schema 628

Populating Your Directory 630

Configuring Clients 632

Evolution 632

Thunderbird 633

Administration 633

References 634

32 Linux Terminal Server Project (LTSP) 635

Requirements 636

Installation 639

Using LTSP 640

References 641

33 Virtualization on Ubuntu 643

KVM 645

VirtualBox 649

VMware 651

Xen 651

References 651

34 Ubuntu in the Cloud 653

Why a Cloud? 654

Software as a Service (SaaS) 655

Platform as a Service (PaaS) 655

Infrastructure as a Service (IaaS) 655

Metal as a Service (MaaS) 656

Before You Do Anything 656

Ubuntu Cloud and Eucalyptus 656

Deploy/Install Basics: Public, Private, or Hybrid? 656

Ubuntu Cloud and OpenStack 657

Compute Infrastructure (Nova) 658

Storage Infrastructure (Swift) 659

Networking Service (Neutron) 659

Identity Service (Keystone) 659

Imaging Service (Glance) 659

Dashboard (Horizon) 659

Learning More 659

Juju 660

Getting Started 660

Charms 663

The Juju GUI 665

Juju Quickstart 665

Juju on Mac OS X and Windows 665

Ubuntu Metal as a Service (MaaS) 666

Landscape 666

References 666

35 Managing Sets of Servers 669

Juju 669

Puppet 670

Chef 670

CFEngine 671

Ansible 671

Landscape 671

References 671

36 Name Serving with the Domain Name System (DNS) 673

Understanding Domain Names 675

DNS Servers 675

DNS Records 676

Setting Up a DNS Server with BIND 679

References 681

Part V Programming Linux

37 Using Programming Tools for Ubuntu 683

Programming with Linux 684

Using the C Programming Project Management Tools

Provided with Ubuntu 685

Building Programs with make 685

Using Makefiles 685

Using the autoconf Utility to Configure Code 687

Debugging Tools 688

Using the GNU C Compiler 689

Graphical Development Tools 690

Using the KDevelop Client 690

The Glade Client for Developing in GNOME 691

Use an IDE or SDK 692

References 694

38 Opportunistic Development 695

Version Control Systems 696

Managing Software Projects with Subversion 696

Managing Software Projects with Bazaar 697

Managing Software Projects with Mercurial 698

Managing Software Projects with Git 699

Introduction to Opportunistic Development 700

Launchpad 701

Quickly 703

Bikeshed and Other Tools 707

References 709

39 Helping with Ubuntu Development 711

Introduction to Ubuntu Development 712

Setting Up Your Development System 713

Install Basic Packages and Configure 713

Create a Launchpad Account 714

Set Up Your Environment to Work with Launchpad 714

Fixing Bugs and Packaging 716

Finding Bugs to Fix with Harvest 719

Masters of the Universe 719

References 719

40 Helping with Ubuntu Testing and QA 721

Community Teams 721

Ubuntu Testing Team 722

QA Team 722

Bug Squad 723

Test Drive 723

References 726

41 Using Perl 727

Using Perl with Linux 727

Perl Versions 728

A Simple Perl Program 728

Perl Variables and Data Structures 730

Perl Variable Types 731

Special Variables 731

Operators 732

Comparison Operators 732

Compound Operators 733

Arithmetic Operators 733

Other Operators 734

Special String Constants 734

Conditional Statements: if/else and unless 735

if 735

unless 736

Looping 736

for 736

foreach 737

while 737

until 738

last and next 738

do ... while and do ... until 738

Regular Expressions 739

Access to the Shell 740

Modules and CPAN 741

Code Examples 741

Sending Mail 741

Purging Logs 743

Posting to Usenet 744

One-Liners 745

Command-Line Processing 746

References 746

42 Using Python 749

Python on Linux 750

The Basics of Python 751

Numbers 751

More on Strings 753

Lists 756

Dictionaries 758

Conditionals and Looping 759

Functions 761

Object Orientation 762

Class and Object Variables 763

Constructors and Destructors 764

Class Inheritance 765

The Standard Library and the Python Package Index 767

References 767

43 Using PHP 769

Introduction to PHP 770

Entering and Exiting PHP Mode 770

Variables 770

Arrays 772

Constants 774

References 774

Comments 775

Escape Sequences 775

Variable Substitution 776

Operators 777

Conditional Statements 779

Special Operators 780

Switching 781

Loops 783

Including Other Files 785

Basic Functions 786

Strings 786

Arrays 789

Files 791

Miscellaneous 793

Handling HTML Forms 797

Databases 797

References 800

44 Using Other Popular Programming Languages 801

Ada 802

Clojure 803

COBOL 803

D 804

Erlang 804

Forth 805

Go 805

Fortran 806

Groovy 806

Dart 806

Haskell 807

Java 807

JavaScript 808

Lisp 808

Lua 809

Mono 809

OCaml 810

Ruby 810

Rust 811

Scala 811

Scratch 811

Vala 811

References 812

45 Beginning Mobile Development for Android 815

Introduction to Android 816

Hardware 816

Linux Kernel 816

Libraries 816

Android Runtime 816

Application Framework 816

Applications 817

Installing the Android SDK 817

Install Java 817

Install Eclipse 817

Install the SDK 817

Install the ADT Eclipse Plug-In 818

Install Other Components 818

Install Virtual Devices 819

Create Your First Application 820

References 821

46 Developing for Ubuntu Mobile/Touch 823

Install the SDK 824

Create Your First Application 824

Learn About Ubuntu Design 825

Study the User Interface Toolkit 825

References 826

Index 829

Additional information

GOR007193472
9780672338373
0672338378
Ubuntu Unleashed 2015 Edition: Covering 14.10 and 15.04 by Matthew Helmke
Used - Very Good
Hardback
Pearson Education (US)
20141203
912
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Ubuntu Unleashed 2015 Edition