Ubuntu Unleashed 2016 Edition
Sams Publishing
978-0-13-426811-8 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 15.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.
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 touchscreen and phone devices
Ubuntu 15.10 on DVD
DVD includes the full Ubuntu 15.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 Upgrade!
Purchase this book and receive a free Ubuntu 16.04 Kick Start chapter after Ubuntu 16.04 is released. See inside back cover for details.
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 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 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 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.
Introduction: xxxi
Licensing xxxii
Who This Book Is For xxxiii
Those Wanting to Become Intermediate or Advanced Users xxxiii
Sysadmins, Programmers, and DevOps xxxiv
What This Book Contains xxv
Conventions Used in This Book xxv
Part I: Getting Started
1: Installing Ubuntu and Post-Installation Configuration 1
Before You Begin the Installation 1
Researching Your Hardware Specifications 2
Installation Options 2
32-Bit vs. 64-Bit Ubuntu 4
Planning Partition Strategies 5
The Boot Loader 5
Installing from DVD or USB Drive 6
Step-by-Step Installation 6
Installing 7
First Update 12
Shutting Down 12
Finding Programs and Files 13
Software Updater 14
The sudo Command 17
Configuring Software Repositories 18
System Settings 20
Detecting and Configuring a Printer 21
Configuring Power Management in Ubuntu 21
Setting the Time and Date 22
Configuring Wireless Networks 24
Troubleshooting Post-Installation Configuration Problems 25
References 26
2: Background Information and Resources 27
What Is Linux? 27
Why Use Linux? 29
What Is Ubuntu? 31
Ubuntu for Business 32
Ubuntu in Your Home 33
Getting the Most from Ubuntu and Linux Documentation 33
Ubuntu Developers and Documentation 35
Websites and Search Engines 35
Web Search Tips 35
Google Is Your Friend 36
Ubuntu Package Listings 36
Commercial Support 36
Documentation 37
Linux Guides 37
Ubuntu 38
Mailing Lists 39
Ubuntu Project Mailing Lists 39
Internet Relay Chat 40
Part II: Desktop Ubuntu
3: Working with Unity 41
Foundations and the X Server 41
Basic X Concepts 42
Using X 43
Elements of the xorg.conf File 44
Starting X 49
Using a Display Manager 50
Changing Window Managers 50
Using Unity, a Primer 51
The Desktop 51
Customizing and Configuring Unity 56
Power Shortcuts 58
References 59
4: On the Internet 61
Getting Started with Firefox 61
Checking Out Google Chrome and Chromium 63
Choosing an Email Client 65
Mozilla Thunderbird 65
Evolution 66
Other Mail Clients 67
RSS Readers 67
Firefox 67
Liferea 68
Instant Messaging and Video Conferencing with Empathy 68
Internet Relay Chat 69
Usenet Newsgroups 72
References 73
5: Productivity Applications 75
Introducing LibreOffice 77
Other Office Suites for Ubuntu 79
Working with GNOME Office 79
Working with KOffice 80
Other Useful Productivity Software 81
Working with PDF 81
Working with XML and DocBook 81
Working with LaTeX 82
Productivity Applications Written for Microsoft Windows 83
References 84
6: Multimedia Applications 85
Sound and Music 85
Sound Cards 86
Adjusting Volume 87
Sound Formats 88
Listening to Music 89
Graphics Manipulation 91
The GNU Image Manipulation Program 93
Using Scanners in Ubuntu 94
Working with Graphics Formats 95
Capturing Screen Images 96
Other Graphics Manipulation Options 97
Using Digital Cameras with Ubuntu 97
Handheld Digital Cameras 98
Using Shotwell Photo Manager 98
Burning CDs and DVDs in Ubuntu 99
Creating CDs and DVDs with Brasero 99
Creating CDs from the Command Line 99
Creating DVDs from the Command Line 101
Viewing Video 103
TV and Video Hardware 104
Video Formats 105
Viewing Video in Linux 105
Personal Video Recorders 107
Video Editing 107
References 108
7: Other Ubuntu Interfaces 109
Desktop Environment 110
KDE and Kubuntu 111
Xfce and Xubuntu 112
LXDE and Lubuntu 113
GNOME3 and Ubuntu GNOME 114
MATE and Ubuntu MATE 115
Ubuntu Kylin 116
References 116
8: Games 119
Ubuntu Gaming 119
Installing Proprietary Video Drivers 120
Installing Games in Ubuntu 120
Warsow 121
Scorched 3D 121
Frozen Bubble 123
SuperTux 123
Battle for Wesnoth 124
Frets on Fire 124
FlightGear 126
Speed Dreams 126
Games for Kids 126
Commercial Games 126
Steam 127
Playing Windows Games 128
References 128
Part III: System Administration
9: Managing Software 131
Ubuntu Software Center 131
Using Synaptic for Software Management 132
Staying Up-to-Date 134
Working on the Command Line 135
Day-to-Day Usage 136
Finding Software 139
Compiling Software from Source 140
Compiling from a Tarball 140
Compiling from Source from the Ubuntu Repositories 141
Configuration Management 142
dotdee 143
OneConf 143
Snappy Ubuntu Core 143
References 144
10: Command-Line Quickstart 145
What Is the Command Line? 146
Accessing the Command Line 147
Text-Based Console Login 148
Logging Out 149
Logging In and Out from a Remote Computer 149
User Accounts 150
Reading Documentation 152
Using Man Pages 152
Using apropros 152
Using whereis 153
Understanding the Linux File System Hierarchy 153
Essential Commands in /bin and /sbin 154
Configuration Files in /etc 155
User Directories: /home 155
Using the Contents of the /proc Directory to Interact with the Kernel 156
Working with Shared Data in the /usr Directory 157
Temporary File Storage in the /tmp Directory 158
Accessing Variable Data Files in the /var Directory 158
Navigating the Linux File System 158
Listing the Contents of a Directory with ls 158
Changing Directories with cd 160
Finding Your Current Directory with pwd 161
Working with Permissions 161
Assigning Permissions 162
Directory Permissions 163
Altering File Permissions with chmod 164
File Permissions with chgrp 165
Changing File Permissions with chown 165
Understanding Set User ID and Set Group ID Permissions 165
Working with Files 167
Creating a File with touch 167
Creating a Directory with mkdir 167
Deleting a Directory with rmdir 168
Deleting a File or Directory with rm 169
Moving or Renaming a File with mv 169
Copying a File with cp 170
Displaying the Contents of a File with cat 171
Displaying the Contents of a File with less 171
Using Wildcards and Regular Expressions 171
Working as Root 172
Understanding and Fixing sudo 172
Creating Users 175
Deleting Users 176
Shutting Down the System 176
Rebooting the System 177
Commonly Used Commands and Programs 178
References 178
11: Command-Line Master Class 179
Why Use the Command Line? 180
Using Basic Commands 181
Printing the Contents of a File with cat 183
Changing Directories with cd 183
Changing File Access Permissions with chmod 185
Copying Files with cp 186
Printing Disk Usage with du 186
Finding Files by Searching with find 187
Searches for a String in Input with grep 189
Paging Through Output with less 190
Creating Links Between Files with ln 192
Finding Files from an Index with locate 194
Listing Files in the Current Directory with ls 194
Reading Manual Pages with man 196
Making Directories with mkdir 197
Moving Files with mv 197
Deleting Files and Directories with rm 198
Sorting the Contents of a File with sort 198
Printing the Last Lines of a File with tail 200
Using echo 201
Printing the Location of a Command with which 202
Redirecting Output and Input 202
stdin, stdout, stderr, and Redirection 203
Comparing Files 204
Finding Differences in Files with diff 204
Finding Similarities in Files with comm 205
Limiting Resource Use and Job Control 205
Listing Processes with ps 206
Listing Jobs with jobs 207
Running One or More Tasks in the Background 207
Moving Jobs to the Background or Foreground with bg and fg 208
Printing Resource Usage with top 209
Setting Processes Priority with nice 211
Combining Commands 212
Pipes 212
Combining Commands with Boolean Operators 214
Running Separate Commands in Sequence 214
Using Environment Variables 215
Using Common Text Editors 218
Working with nano 219
Working with vi 220
Working with emacs 221
Working with sed and awk 222
Working with Compressed Files 224
Using Multiple Terminals with byobu 225
Polite System Reset Using REISUB 226
Tips and Tricks 227
Running the Previous Command 227
Running Any Previous Command 228
Running a Previous Command That Started with Specific Letters 228
Running the Same Thing You Just Ran with a Different First Word 228
Viewing Your History and More 228
Do Two or More Things 229
Shortcuts 229
Coreutils 229
References 230
12: Managing Users 231
User Accounts 231
The Super User/Root User 232
User IDs and Group IDs 234
File Permissions 234
Managing Groups 235
Group Listing 235
Group Management Tools 237
Managing Users 238
User Management Tools 238
Adding New Users 240
Monitoring User Activity on the System 242
Managing Passwords 243
System Password Policy 243
The Password File 243
Shadow Passwords 244
Managing Password Security for Users 247
Changing Passwords in a Batch 247
Granting System Administrator Privileges to Regular Users 247
Temporarily Changing User Identity with the su Command 248
Granting Root Privileges on Occasion: The sudo Command 250
Disk Quotas 253
Implementing Quotas 253
Manually Configuring Quotas 254
Related Ubuntu Commands 254
References 255
13: Automating Tasks and Shell Scripting 257
Scheduling Tasks 257
Using at and batch to Schedule Tasks for Later 257
Using cron to Run Jobs Repeatedly 260
Using rtcwake to Wake Your Computer from Sleep Automatically 262
Basic Shell Control 264
The Shell Command Line 265
Shell Pattern-Matching Support 266
Redirecting Input and Output 267
Piping Data 268
Background Processing 269
Writing and Executing a Shell Script 269
Running the New Shell Program 271
Storing Shell Scripts for System-Wide Access 272
Interpreting Shell Scripts Through Specific Shells 272
Using Variables in Shell Scripts 273
Assigning a Value to a Variable 274
Accessing Variable Values 274
Positional Parameters 275
A Simple Example of a Positional Parameter 275
Using Positional Parameters to Access and Retrieve Variables from the Command Line 276
Using a Simple Script to Automate Tasks 276
Built-In Variables 278
Special Characters 279
Using Double Quotes to Resolve Variables in Strings with Embedded Spaces 280
Using Single Quotes to Maintain Unexpanded Variables 281
Using the Backslash as an Escape Character 281
Using the Backtick to Replace a String with Output 282
Comparison of Expressions in pdksh and bash 282
Comparing Expressions with tcsh 287
The for Statement 291
The while Statement 293
The until Statement 295
The repeat Statement (tcsh) 295
The select Statement (pdksh) 296
The shift Statement 296
The if Statement 297
The case Statement 298
The break and exit Statements 300
Using Functions in Shell Scripts 300
References 301
14: The Boot Process 303
Running Services at Boot 303
Beginning the Boot Loading Process 304
Loading the Linux Kernel 306
System Services and Runlevels 306
Runlevel Definitions 306
Booting into the Default Runlevel 307
Understanding init Scripts and the Final Stage of Initialization 308
Controlling Services at Boot with Administrative Tools 309
Changing Runlevels 309
Troubleshooting Runlevel Problems 310
Starting and Stopping Services Manually 310
Using Upstart 311
systemd 312
Boot Repair 313
References 313
15: System-Monitoring Tools 315
Console-Based Monitoring 315
Using the kill Command to Control Processes 317
Using Priority Scheduling and Control 318
Displaying Free and Used Memory with free 319
Disk Space 320
Disk Quotas 321
Checking Log Files 321
Rotating Log Files 323
Graphical Process and System Management Tools 325
System Monitor 326
Conky 327
Other 332
KDE Process- and System-Monitoring Tools 332
Enterprise Server Monitoring 333
Landscape 333
Other 333
References 333
16: Backing Up 335
Choosing a Backup Strategy 335
Why Data Loss Occurs 336
Assessing Your Backup Needs and Resources 337
Evaluating Backup Strategies 339
Making the Choice 342
Choosing Backup Hardware and Media 342
Removable Storage Media 342
CD-RW and DVD+RW/-RW Drives 343
Network Storage 343
Tape Drive Backup 343
Cloud Storage 344
Using Backup Software 344
tar: The Most Basic Backup Tool 345
The GNOME File Roller 347
The KDE ark Archiving Tool 347
Déjà Dup 348
Back In Time 350
Unison 352
Using the Amanda Backup Application 352
Alternative Backup Software 353
Copying Files 354
Copying Files Using tar 354
Compressing, Encrypting, and Sending tar Streams 355
Copying Files Using cp 355
Copying Files Using mc 356
Using rsync 356
Version Control for Configuration Files 358
System Rescue 360
The Ubuntu Rescue Disc 361
Restoring the GRUB2 Boot Loader 361
Saving Files from a Nonbooting Hard Drive 362
References 362
17: Networking 363
Laying the Foundation: The localhost Interface 364
Checking for the Availability of the Loopback Interface 364
Configuring the Loopback Interface Manually 364
Checking Connections with ping, traceroute, and mtr 366
Networking with TCP/IP 368
TCP/IP Addressing 369
Using IP Masquerading in Ubuntu 371
Ports 372
IPv6 Basics 372
Network Organization 375
Subnetting 375
Subnet Masks 376
Broadcast, Unicast, and Multicast Addressing 376
Hardware Devices for Networking 377
Network Interface Cards 377
Network Cable 379
Hubs and Switches 380
Routers and Bridges 381
Initializing New Network Hardware 381
Using Network Configuration Tools 384
Command-Line Network Interface Configuration 384
Network Configuration Files 389
Using Graphical Configuration Tools 391
Dynamic Host Configuration Protocol 393
How DHCP Works 393
Activating DHCP at Installation and Boot Time 394
DHCP Software Installation and Configuration 395
Using DHCP to Configure Network Hosts 397
Other Uses for DHCP 399
Wireless Networking 399
Support for Wireless Networking in Ubuntu 399
Advantages of Wireless Networking 401
Choosing from Among Available Wireless Protocols 401
Beyond the Network and onto the Internet 402
Common Configuration Information 402
Configuring Digital Subscriber Line Access 404
Understanding PPP over Ethernet 404
Configuring a PPPoE Connection Manually 405
Configuring Dial-Up Internet Access 406
Troubleshooting Connection Problems 407
References 408
18: Remote Access with SSH, Telnet, and VNC 409
Setting Up a Telnet Server 409
Telnet Versus SSH 411
Setting Up an SSH Server 411
SSH Tools 411
Using scp to Copy Individual Files Between Machines 412
Using sftp to Copy Many Files Between Machines 413
Using ssh-keygen to Enable Key-Based Logins 413
Virtual Network Computing 415
References 417
19: Securing Your Machines 419
Understanding Computer Attacks 419
Assessing Your Vulnerability 421
Protecting Your Machine 422
Securing a Wireless Network 423
Passwords and Physical Security 423
Configuring and Using Tripwire 424
Devices 425
Viruses 425
Configuring Your Firewall 426
AppArmor 430
Forming a Disaster Recovery Plan 432
References 433
20: Performance Tuning 435
Hard Disk 435
Using the BIOS and Kernel to Tune the Disk Drives 436
The hdparm Command 437
File System Tuning 438
The tune2fs Command 438
The e2fsck Command 439
The badblocks Command 439
Disabling File Access Time 439
Kernel 440
Apache 441
MySQL 442
Measuring Key Buffer Usage 442
Using the Query Cache 444
Miscellaneous Tweaks 445
Query Optimization 446
References 446
21: Kernel and Module Management 447
The Linux Kernel 448
The Linux Source Tree 449
Types of Kernels 451
Managing Modules 452
When to Recompile 454
Kernel Versions 455
Obtaining the Kernel Sources 456
Patching the Kernel 457
Compiling the Kernel 458
Using xconfig to Configure the Kernel 461
Creating an Initial RAM Disk Image 464
When Something Goes Wrong 465
Errors During Compile 465
Runtime Errors, Boot Loader Problems, and Kernel Oops 466
References 466
Part IV: Ubuntu as a Server
22: Sharing Files and Printers 469
Using the Network File System 470
Installing and Starting or Stopping NFS 470
NFS Server Configuration 470
NFS Client Configuration 472
Putting Samba to Work 472
Manually Configuring Samba with /etc/samba/smb.conf 474
Testing Samba with the testparm Command 477
Starting, Stopping, and Restarting the smbd Daemon 477
Mounting Samba Shares 479
Network and Remote Printing with Ubuntu 479
Creating Network Printers 479
Using the Common UNIX Printing System GUI 481
Avoiding Printer Support Problems 483
References 484
23: Apache Web Server Management 485
About the Apache Web Server 485
Installing the Apache Server 486
Installing from the Ubuntu Repositories 486
Building the Source Yourself 488
Starting and Stopping Apache 490
Starting the Apache Server Manually 490
Using /etc/init.d/apache2 492
Runtime Server Configuration Settings 493
Runtime Configuration Directives 493
Editing apache2.conf 494
Apache Multiprocessing Modules 497
Using .htaccess Configuration Files 497
File System Authentication and Access Control 499
Restricting Access with allow and deny 500
Authentication 501
Final Words on Access Control 503
Apache Modules 504
mod_dir and mod_env 506
mod_info and mod_log_config 507
mod_mime and mod_mime_magic 507
Virtual Hosting 509
Address-Based Virtual Hosts 509
Name-Based Virtual Hosts 510
Logging 511
HTTPS 513
References 515
24: Nginx Web Server Management 517
About the Nginx Web Server 517
Installing the Nginx Server 519
Installing from the Ubuntu Repositories 519
Building the Source Yourself 519
Configuring the Nginx Server 520
Virtual Hosting 523
Setting Up PHP 524
Adding and Configuring Modules 525
HTTPS 526
References 528
25: Other HTTP Servers 529
lighttpd 529
Yaws 530
Cherokee 531
Jetty 531
thttpd 532
Apache Tomcat 532
References 532
26: Remote File Serving with FTP 533
Choosing an FTP Server 533
Choosing an Authenticated or Anonymous Server 534
Ubuntu FTP Server Packages 534
Other FTP Servers 534
Installing FTP Software 535
The FTP User 536
Configuring the Very Secure FTP Server 538
Controlling Anonymous Access 539
Other vsftpd Server Configuration Files 539
Using the ftphosts File to Allow or Deny FTP Server Connection 541
References 542
27: Handling Email 543
How Email Is Sent and Received 543
The Mail Transport Agent 544
Choosing an MTA 546
The Mail Delivery Agent 546
The Mail User Agent 547
Basic Postfix Configuration and Operation 548
Configuring Masquerading 550
Using Smart Hosts 551
Setting Message Delivery Intervals 551
Mail Relaying 552
Forwarding Email with Aliases 552
Using Fetchmail to Retrieve Mail 553
Installing Fetchmail 553
Configuring Fetchmail 553
Choosing a Mail Delivery Agent 557
Procmail 557
Spamassassin 557
Squirrelmail 558
Virus Scanners 558
Autoresponders 558
Alternatives to Microsoft Exchange Server 558
Microsoft Exchange Server/Outlook Client 559
CommuniGate Pro 559
Oracle Beehive 560
Bynari 560
Open-Xchange 560
Horde 560
References 560
28: Proxying, Reverse Proxying, and Virtual Private Networks (VPN) 563
What Is a Proxy Server? 563
Installing Squid 564
Configuring Clients 564
Access Control Lists 564
Specifying Client IP Addresses 569
Sample Configurations 570
Virtual Private Networks (VPN) 572
Setting Up a VPN Client 574
Setting Up a VPN Server 575
References 577
29: Administering Relational Database Services 579
A Brief Review of Database Basics 580
How Relational Databases Work 582
Understanding SQL Basics 584
Creating Tables 584
Inserting Data into Tables 585
Retrieving Data from a Database 586
Choosing a Database: MySQL Versus PostgreSQL 588
Speed 588
Data Locking 589
ACID Compliance in Transaction Processing to Protect Data Integrity 589
SQL Subqueries 590
Procedural Languages and Triggers 590
Configuring MySQL 591
Setting a Password for the MySQL Root User 592
Creating a Database in MySQL 592
Configuring PostgreSQL 594
Initializing the Data Directory in PostgreSQL 594
Creating a Database in PostgreSQL 595
Creating Database Users in PostgreSQL 596
Deleting Database Users in PostgreSQL 596
Granting and Revoking Privileges in PostgreSQL 597
Database Clients 597
SSH Access to a Database 598
Local GUI Client Access to a Database 599
Web Access to a Database 600
The MySQL Command-Line Client 601
The PostgreSQL Command-Line Client 602
Graphical Clients 602
References 603
30: NoSQL Databases 605
Key/Value Stores 608
Berkeley DB 608
Cassandra 609
Memcached and MemcacheDB 609
Redis 610
Riak 610
Document Stores 610
CouchDB 611
MongoDB 612
BaseX 612
Wide Column Stores 613
BigTable 613
HBase 613
Graph Stores 614
Neo4j 614
OrientDB 614
HyperGraphDB 615
FlockDB 615
References 615
31: Lightweight Directory Access Protocol (LDAP) 617
Configuring the Server 618
Creating Your Schema 618
Populating Your Directory 620
Configuring Clients 622
Evolution 622
Thunderbird 623
Administration 623
References 624
32: Linux Terminal Server Project (LTSP) 625
Requirements 626
Installation 629
Using LTSP 630
References 631
33: Virtualization on Ubuntu 633
KVM 635
VirtualBox 639
VMware 641
Xen 641
References 641
34: Ubuntu in the Cloud 643
Why a Cloud? 644
Software as a Service (SaaS) 645
Platform as a Service (PaaS) 645
Infrastructure as a Service (IaaS) 645
Metal as a Service (MaaS) 645
Before You Do Anything 646
Deploy/Install Basics: Public, Private, or Hybrid? 646
Ubuntu Cloud and OpenStack 647
Compute Infrastructure (Nova) 648
Storage Infrastructure (Swift) 648
Networking Service (Neutron) 648
Identity Service (Keystone) 649
Imaging Service (Glance) 649
Dashboard (Horizon) 649
Learning More 649
Juju 649
Getting Started 650
Charms 652
The Juju GUI 654
Juju Quickstart 654
Juju on Mac OS X and Windows 655
Mojo: Continuous Delivery for Juju 655
Snappy Ubuntu 655
Ubuntu Metal as a Service (MaaS) 655
Landscape 656
References 656
35: Managing Sets of Servers 657
Juju 657
Puppet 658
Chef 658
CFEngine 658
Ansible 659
Landscape 659
References 659
36: Name Serving with the Domain Name System (DNS) 661
Understanding Domain Names 663
DNS Servers 663
DNS Records 664
Setting Up a DNS Server with BIND 667
References 669
Part V: Programming Linux
37: Using Programming Tools for Ubuntu 671
Programming with Linux 672
Using the C Programming Project Management Tools Provided with Ubuntu 673
Building Programs with make 673
Using Makefiles 673
Using the autoconf Utility to Configure Code 675
Debugging Tools 676
Using the GNU C Compiler 677
Graphical Development Tools 678
Using the KDevelop Client 678
The Glade Client for Developing in GNOME 679
Use an IDE or SDK 680
References 682
38: Opportunistic Development 683
Version Control Systems 683
Managing Software Projects with Subversion 684
Managing Software Projects with Bazaar 685
Managing Software Projects with Mercurial 686
Managing Software Projects with Git 687
Introduction to Opportunistic Development 688
Launchpad 689
Quickly 691
Bikeshed and Other Tools 695
References 697
39: Helping with Ubuntu Development 699
Introduction to Ubuntu Development 700
Setting Up Your Development System 701
Install Basic Packages and Configure 701
Create a Launchpad Account 702
Set Up Your Environment to Work with Launchpad 702
Developing Apps and Scopes 704
Fixing Bugs and Packaging 704
Finding Bugs to Fix with Harvest 707
Masters of the Universe 707
References 708
40: Helping with Ubuntu Testing and QA 709
Community Teams 709
Ubuntu Testing Team 710
QA Team 711
Bug Squad 711
Test Drive 711
References 714
41: Using Popular Programming Languages 715
Ada 716
Clojure 717
COBOL 717
D 718
Dart 718
Elixir 719
Erlang 719
Forth 720
Fortran 720
Go 720
Groovy 721
Haskell 721
Java 721
JavaScript 722
Lisp 723
Lua 723
Mono 723
OCaml 724
Perl 724
PHP 725
Python 725
Ruby 725
Rust 726
Scala 726
Scratch 726
Vala 727
References 727
42: Beginning Mobile Development for Android 729
Introduction to Android 730
Hardware 730
Linux Kernel 730
Libraries 730
Android Runtime 730
Application Framework 731
Applications 731
Installing Android Studio 731
Install Android Studio 731
Install SDK Packages 731
Create Your First Application 733
References 734
43: Developing for Ubuntu Mobile/Touch 735
Install the SDK 736
Create Your First Application 736
References 737
Index: 739
NOTE
Chapters 44–46 can be accessed online at informit.com/title/9780134268118.
Bonus Chapters
44: Using Perl Web:1
Using Perl with Linux Web:1
Perl Versions Web:2
A Simple Perl Program Web:2
Perl Variables and Data Structures Web:4
Perl Variable Types Web:5
Special Variables Web:5
Operators Web:6
Comparison Operators Web:6
Compound Operators Web:7
Arithmetic Operators Web:7
Other Operators Web:8
Special String Constants Web:9
Conditional Statements: if/else and unless Web:9
if Web:9
unless Web:10
Looping Web:10
for Web:11
foreach Web:11
while Web:12
until Web:12
last and next Web:12
do ... while and do ... until Web:13
Regular Expressions Web:13
Access to the Shell Web:14
Modules and CPAN Web:15
Code Examples Web:16
Sending Mail Web:16
Purging Logs Web:18
Posting to Usenet Web:19
One-Liners Web:20
Command-Line Processing Web:20
References Web:21
45: Using Python Web:23
Python on Linux Web:24
The Basics of Python Web:25
Numbers Web:25
More on Strings Web:27
Lists Web:30
Dictionaries Web:32
Conditionals and Looping Web:33
Functions Web:35
Object Orientation Web:36
Class and Object Variables Web:37
Constructors and Destructors Web:38
Class Inheritance Web:39
The Standard Library and the Python Package Index Web:41
References Web:41
46: Using PHP Web:43
Introduction to PHP Web:44
Entering and Exiting PHP Mode Web:44
Variables Web: 44
Arrays Web: 46
Constants Web: 48
References Web: 48
Comments Web: 49
Escape Sequences Web: 49
Variable Substitution Web: 50
Operators Web: 51
Conditional Statements Web: 53
Special Operators Web: 55
Switching Web: 55
Loops Web: 57
Including Other Files Web: 59
Basic Functions Web: 60
Strings Web: 60
Arrays Web: 64
Files Web: 65
Miscellaneous Web: 68
Handling HTML Forms Web: 71
Databases Web: 72
References Web: 74
Erscheint lt. Verlag | 24.12.2015 |
---|---|
Verlagsort | Indianapolis |
Sprache | englisch |
Maße | 177 x 232 mm |
Gewicht | 1282 g |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
ISBN-10 | 0-13-426811-3 / 0134268113 |
ISBN-13 | 978-0-13-426811-8 / 9780134268118 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |