دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: نویسندگان: Helmke. Matthew, Hudson. Andrew, Hudson. Paul سری: SHARLA SORGE's Library ISBN (شابک) : 9780134511849, 0134511840 ناشر: Sams Publishing سال نشر: 2017 تعداد صفحات: 0 زبان: English فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 37 مگابایت
کلمات کلیدی مربوط به کتاب Ubuntu Unleashed Edition 2017: کامپیوتر -- سیستم عامل -- ویندوز دسکتاپ ، سیستم عامل (رایانه) ، اوبونتو (منبع الکترونیکی) ، کامپیوتر -- سیستم عامل -- ویندوز دسکتاپ
در صورت تبدیل فایل کتاب Ubuntu Unleashed 2017 Edition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Ubuntu Unleashed Edition 2017 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Introduction xxxiiiLicensing xxxivWho This Book Is For xxxv Those Wanting to Become Intermediate or Advanced Users xxxv Sysadmins, Programmers, and DevOps xxxviWhat This Book Contains xxxviiConventions Used in This Book xxxviiiPART I: GETTING STARTEDChapter 1 Installing Ubuntu and Post-Installation Configuration 1Before 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 6Step-by-Step Installation 6 Installing 7 First Update 13Shutting Down 13Finding Programs and Files 14Software Updater 15The sudo Command 18Configuring Software Repositories 19System Settings 21 Detecting and Configuring a Printer 22 Configuring Power Management in Ubuntu 22Setting the Time and Date 23Configuring Wireless Networks 24Troubleshooting Post-Installation Configuration Problems 26References 27Chapter 2 Background Information and Resources 29What Is Linux? 29Why Use Linux? 31What Is Ubuntu? 33Ubuntu for Business 33Ubuntu in Your Home 35Getting the Most from Ubuntu and Linux Documentation 35Ubuntu Developers and Documentation 36Websites and Search Engines 37 Web Search Tips 37 Google Is Your Friend 37 Ubuntu Package Listings 38 Commercial Support 38 Documentation 39Linux Guides 39 Ubuntu 40Mailing Lists 40 Ubuntu Project Mailing Lists 41Internet Relay Chat 42PART II: DESKTOP UBUNTUChapter 3 Working with Unity 43Foundations and the X Server 43 Basic X Concepts 44 Using X 45 Elements of the xorg.conf File 46 Starting X 51 Using a Display Manager 51 Changing Window Managers 52Using Unity, a Primer 52 The Desktop 53 Customizing and Configuring Unity 58Power Shortcuts 60References 61Chapter 4 On the Internet 63Getting Started with Firefox 63Checking Out Google Chrome and Chromium65Choosing an Email Client 66 Mozilla Thunderbird 66 Evolution 67 Other Mail Clients 68RSS Readers 69 Firefox 69 Liferea 69Internet Relay Chat 70Usenet Newsgroups 72References 74Chapter 5 Productivity Applications 75Introducing LibreOffice 76Other Office Suites for Ubuntu 78 Working with GNOME Office 78 Working with KOffice 80Other Useful Productivity Software 80 Working with PDF 80 Working with XML and DocBook 81 Working with LaTeX 82Productivity Applications Written for Microsoft Windows 83References 83Chapter 6 Multimedia Applications 85Sound and Music 85 Sound Cards 86 Adjusting Volume 87 Sound Formats 88 Listening to Music 89Graphics Manipulation 92 The GNU Image Manipulation Program 93 Using Scanners in Ubuntu 94 Working with Graphics Formats 95 Capturing Screen Images 97 Other Graphics Manipulation Options 97Using Digital Cameras with Ubuntu 98 Handheld Digital Cameras 98 Using Shotwell Photo Manager 98Burning CDs and DVDs in Ubuntu 99 Creating CDs and DVDs with Brasero 99 Creating CDs from the Command Line 100 Creating DVDs from the Command Line 102Viewing Video 104 TV and Video Hardware 104 Video Formats 105 Viewing Video in Linux 106 Personal Video Recorders 107 Video Editing 107References 109Chapter 7 Other Ubuntu Interfaces 111Desktop Environment 112KDE and Kubuntu 113Xfce and Xubuntu 114 LXDE and Lubuntu 115GNOME3 and Ubuntu GNOME 116MATE and Ubuntu MATE 117Ubuntu Kylin 118References 118Chapter 8 Games 121Ubuntu Gaming 121Installing Proprietary Video Drivers 122Steam 123Installing Games in Ubuntu 123 Warsow 124 Scorched 3D 124 Frozen Bubble 125 SuperTux 126 Battle for Wesnoth 126 Frets on Fire 127 FlightGear 128 Speed Dreams 129 Games for Kids 129 Commercial Games 129Playing Windows Games 130References 130PART III: SYSTEM ADMINISTRATIONChapter 9 Managing Software 133Ubuntu Software 133Using Synaptic for Software Management 134Staying Up-to-Date 137Working on the Command Line 138 Day-to-Day Usage 138 Finding Software 141 Using apt Instead of apt-get 142Compiling Software from Source 143 Compiling from a Tarball 143 Compiling from Source from the Ubuntu Repositories 144Configuration Management 145 dotdee 145Snappy Ubuntu Core 146Using Snaps 146References 147Chapter 10 Command-Line Beginner\'s Class 149What Is the Command Line? 150Accessing the Command Line 151 Text-Based Console Login 152 Logging Out 153 Logging In and Out from a Remote Computer 153User Accounts 154Reading Documentation 155 Using Man Pages 156 Using apropros 156 Using whereis 157Understanding the Linux File System Hierarchy 157 Essential Commands in /bin and /sbin 158 Configuration Files in /etc 159 User Directories: /home 159 Using the Contents of the /proc Directory to Interact with the Kernel 160 Working with Shared Data in the /usr Directory 161 Temporary File Storage in the /tmp Directory 162 Accessing Variable Data Files in the /var Directory 162Navigating the Linux File System 162 Listing the Contents of a Directory with ls 162 Changing Directories with cd 164 Finding Your Current Directory with pwd 165Working with Permissions 165 Assigning Permissions 166 Directory Permissions 167 Altering File Permissions with chmod 168 File Permissions with umask 169 File Permissions with chgrp 170 Changing File Permissions with chown 170 Understanding Set User ID, Set Group ID, and Sticky Bit Permissions 170 Setting Permissions with Access Control Lists 171Working with Files 173 Creating a File with touch 173 Creating a Directory with mkdir 173 Deleting a Directory with rmdir 174 Deleting a File or Directory with rm 175 Moving or Renaming a File with mv 175 Copying a File with cp 176 Displaying the Contents of a File with cat 177 Displaying the Contents of a File with less 177 Using Wildcards and Regular Expressions 177Working as Root 178 Understanding and Fixing sudo 178 Creating Users 181 Deleting Users 182 Shutting Down the System 182 Rebooting the System 183Commonly Used Commands and Programs 183References 184Chapter 11 Command-Line Master Class Part 1 185Why Use the Command Line? 186Using Basic Commands 187 Printing the Contents of a File with cat 188 Changing Directories with cd 189 Changing File Access Permissions with chmod 191 Copying Files with cp 191 Printing Disk Usage with du 192 Using echo 193 Finding Files by Searching with find 193 Searches for a String in Input with grep 196 Paging Through Output with less 197 Creating Links Between Files with ln 199 Finding Files from an Index with locate 200 Listing Files in the Current Directory with ls 200 Listing System Information with lsblk, lshw, lsmod, and lspci 202 Reading Manual Pages with man 203 Making Directories with mkdir 204 Moving Files with mv 204 Renaming Files with rename 204 Deleting Files and Directories with rm 205 Sorting the Contents of a File with sort 205 Printing the Last Lines of a File with tail 207 Printing the Location of a Command with which 207 Download Files with wget 207References 208Chapter 12 Command-Line Master Class Part 2 209Redirecting Output and Input 209stdin, stdout, stderr, and Redirection 211Comparing Files 212 Finding Differences in Files with diff 212 Finding Similarities in Files with comm212Limiting 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 215 Printing Resource Usage with top 216 Setting Processes Priority with nice 218Combining Commands 219 Pipes 219 Combining Commands with Boolean Operators 221 Running Separate Commands in Sequence 222 Process Substitution 222Using Environment Variables 222Using Common Text Editors 226 Working with nano 227 Working with vi 227 Working with emacs 229 Working with sed and awk 230Working with Compressed Files 232Using Multiple Terminals with byobu 233Polite System Reset Using REISUB 234Fixing an Ubuntu System That Will Not Boot 235 Checking BIOS 235 Checking GRUB 235 Reinstalling GRUB 235 Using Recovery Mode 236 Reinstalling Ubuntu 236Tips and Tricks 236 Running the Previous Command 236 Running Any Previous Command 237 Running a Previous Command that Started with Specific Letters 237 Running the Same Thing You Just Ran with a Different First Word 237 Viewing Your History and More 237 Doing Two or More Things 237 Using Shortcuts 238 Confining a Script to a Directory 238 Using Coreutils 239 Reading the Contents of the Kernel Ring Buffer with dmesg 239References 240Chapter 13 Managing Users 241User Accounts 241 The Super User/Root User 242 User IDs and Group IDs 244 File Permissions 244Managing Groups 245 Group Listing 245 Group Management Tools 246Managing Users 248 User Management Tools 248 Adding New Users 250 Monitoring User Activity on the System 251Managing Passwords 252 System Password Policy 252 The Password File 253 Shadow Passwords 254 Managing Password Security for Users 256 Changing Passwords in a Batch 256Granting System Administrator Privileges to Regular Users 257 Temporarily Changing User Identity with the su Command 257 Granting Root Privileges on Occasion: The sudo Command 259Disk Quotas 262 Implementing Quotas 262 Manually Configuring Quotas 263Related Ubuntu Commands 264References 264Chapter 14 Automating Tasks and Shell Scripting 265Scheduling Tasks 265 Using at and batch to Schedule Tasks for Later 265 Using cron to Run Jobs Repeatedly 268 Using rtcwake to Wake Your Computer from Sleep Automatically 270Basic Shell Control 272 The Shell Command Line 273 Shell Pattern-Matching Support 274 Redirecting Input and Output 275 Piping Data 276 Background Processing 277Writing and Executing a Shell Script 277 Running the New Shell Program 279 Storing Shell Scripts for System-Wide Access 279 Interpreting Shell Scripts Through Specific Shells 280 Using Variables in Shell Scripts 281 Assigning a Value to a Variable 282 Accessing Variable Values 282 Positional Parameters 282 A Simple Example of a Positional Parameter 283 Using Positional Parameters to Access and Retrieve Variables from the Command Line 284 Using a Simple Script to Automate Tasks 284 Built-In Variables 286 Special Characters 287 Using Double Quotes to Resolve Variables in Strings with Embedded Spaces 288 Using Single Quotes to Maintain Unexpanded Variables 288 Using the Backslash as an Escape Character 289 Using the Backtick to Replace a String with Output 289 Comparison of Expressions in pdksh and bash 290 Comparing Expressions with tcsh 295 The for Statement 299 The while Statement 300 The until Statement 302 The repeat Statement (tcsh) 303 The select Statement (pdksh) 303 The shift Statement 304 The if Statement 304 The case Statement 305 The break and exit Statements 307 Using Functions in Shell Scripts 307References 308Chapter 15 The Boot Process 311Running Services at Boot 311Beginning the Boot Loading Process 312 Loading the Linux Kernel 314 System Services and Runlevels 315 Runlevel Definitions 315 Booting into the Default Runlevel 316 Understanding init Scripts and the Final Stage of Initialization 316 Controlling Services at Boot with Administrative Tools 317 Changing Runlevels 318 Troubleshooting Runlevel Problems319 Starting and Stopping Services Manually 319Using Upstart 319systemd 320Boot Repair 322References 322Chapter 16 System-Monitoring Tools 323Console-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 331Graphical Process and System Management Tools 333 System Monitor 334 Conky 334 Other 339KDE Process- and System-Monitoring Tools 339Enterprise Server Monitoring 340 Landscape 340 Other 340References 340Chapter 17 Backing Up 341Choosing a Backup Strategy 341 Why Data Loss Occurs 342 Assessing Your Backup Needs and Resources 343 Evaluating Backup Strategies 345 Making the Choice 348Choosing Backup Hardware and Media 348 Removable Storage Media 348 CD-RW and DVD+RW/-RW Drives 349 Network Storage 349 Tape Drive Backup 349 Cloud Storage 350Using Backup Software 350 tar: The Most Basic Backup Tool 351 The GNOME File Roller 353 The KDE ark Archiving Tool 353 Deja Dup 354 Back In Time 356 Unison 358 Using the Amanda Backup Application 358 Alternative Backup Software 359Copying Files 360 Copying Files Using tar 360 Compressing, Encrypting, and Sending tar Streams 361 Copying Files Using cp 361 Copying Files Using mc 362 Using rsync 362Version Control for Configuration Files 364System Rescue 366 The Ubuntu Rescue Disc 367 Restoring the GRUB2 Boot Loader 367 Saving Files from a Nonbooting Hard Drive 368References 368Chapter 18 Networking 369Laying the Foundation: The localhost Interface 370 Checking for the Availability of the Loopback Interface 370 Configuring the Loopback Interface Manually 370Checking Connections with ping, traceroute, and mtr 371Networking with TCP/IP 374 TCP/IP Addressing 374 Using IP Masquerading in Ubuntu 376 Ports 377IPv6 Basics 378Network Organization 380 Subnetting 381 Subnet Masks 381 Broadcast, Unicast, and Multicast Addressing 382Hardware Devices for Networking 382 Network Interface Cards 382 Network Cable 384 Hubs and Switches 385 Routers and Bridges 386 Initializing New Network Hardware 387Using Network Configuration Tools 389 Command-Line Network Interface Configuration 389 Network Configuration Files 394 Using Graphical Configuration Tools 397Dynamic Host Configuration Protocol 399 How DHCP Works 399 Activating DHCP at Installation and Boot Time 400 DHCP Software Installation and Configuration 401 Using DHCP to Configure Network Hosts 403 Other Uses for DHCP 405Wireless Networking 405 Support for Wireless Networking in Ubuntu 405 Advantages of Wireless Networking 407 Choosing from Among Available Wireless Protocols 407Beyond the Network and onto the Internet 408Common Configuration Information 408 Understanding PPP over Ethernet 410 Configuring a PPPoE Connection Manually 411Configuring Dial-Up Internet Access 412Troubleshooting Connection Problems 413References 414Chapter 19 Remote Access with SSH, Telnet, and VNC 415Setting Up a Telnet Server 415Telnet Versus SSH 417Setting Up an SSH Server 417SSH Tools 417 Using scp to Copy Individual Files Between Machines 418 Using sftp to Copy Many Files Between Machines 418 Using ssh-keygen to Enable Key-Based Logins 419Virtual Network Computing 420References 423Chapter 20 Securing Your Machines 425Understanding Computer Attacks 425Assessing Your Vulnerability 427Protecting Your Machine 428 Securing a Wireless Network 429 Passwords and Physical Security 429 Configuring and Using Tripwire 430 Devices 431Viruses 431Configuring Your Firewall 432AppArmor 435Forming a Disaster Recovery Plan 437References 439Chapter 21 Performance Tuning 441Hard Disk 441 Using the BIOS and Kernel to Tune the Disk Drives 442 The hdparm Command 443 File System Tuning 444 The tune2fs Command 444 The e2fsck Command 445 The badblocks Command 445 Disabling File Access Time 445Kernel 445Apache 446MySQL 448 Measuring Key Buffer Usage 448 Using the Query Cache 449 Miscellaneous Tweaks 451 Query Optimization 451References 452Chapter 22 Kernel and Module Management 453The Linux Kernel 454 The Linux Source Tree 455 Types of Kernels 457Managing Modules 458When to Recompile 460Kernel Versions 461Obtaining the Kernel Sources 462Patching the Kernel 463Compiling the Kernel 464 Using xconfig to Configure the Kernel 467 Creating an Initial RAM Disk Image 470When Something Goes Wrong 470 Errors During Compile 471 Runtime Errors, Boot Loader Problems, and Kernel Oops 472References 472PART IV: UBUNTU AS A SERVERChapter 23 Sharing Files and Printers 473Using the Network File System 474 Installing and Starting or Stopping NFS 474 NFS Server Configuration 474 NFS Client Configuration 475Putting Samba to Work 476 Manually Configuring Samba with /etc/samba/smb.conf 478 Testing Samba with the testparm Command 481 Starting, Stopping, and Restarting the smbd Daemon 481 Mounting Samba Shares 482Network and Remote Printing with Ubuntu 483 Creating Network Printers 483 Using the Common UNIX Printing System GUI 485 Avoiding Printer Support Problems 486References 488Chapter 24 Apache Web Server Management 489About the Apache Web Server 489Installing the Apache Server 490 Starting and Stopping Apache 491Runtime Server Configuration Settings 492 Runtime Configuration Directives 492 Editing apache2.conf 493 Apache Multiprocessing Modules 495 Using .htaccess Configuration Files 496File System Authentication and Access Control 498 Restricting Access with Require 498 Authentication 499 Final Words on Access Control 501Apache Modules 502 mod_access 502 mod_alias 502 mod_asis 503 mod_auth 503 mod_auth_anon 503 mod_auth_dbm 503 mod_auth_digest 504 mod_autoindex 504 mod_cgi 504 mod_dir and mod_env 504 mod_expires 504 mod_headers 504 mod_include 505 mod_info and mod_log_config 505 mod_mime and mod_mime_magic 505 mod_negotiation 505 mod_proxy 505 mod_rewrite 505 mod_setenvif 506 mod_speling 506 mod_status 506 mod_ssl 506 mod_unique_id 506 mod_userdir 506 mod_usertrack 507 mod_vhost_alias 507Virtual Hosting 507 Address-Based Virtual Hosts 507 Name-Based Virtual Hosts 508Logging 509HTTPS 510References 513Chapter 25 Nginx Web Server Management 515About the Nginx Web Server 515Installing the Nginx Server 517 Installing from the Ubuntu Repositories 517 Building the Source Yourself 517Configuring the Nginx Server 518Virtual Hosting 521Setting Up PHP 522Adding and Configuring Modules 523HTTPS 524References 526Chapter 26 Other HTTP Servers 527lighttpd 527Yaws 528Cherokee 528Jetty 529thttpd 529Apache Tomcat 530References 530Chapter 27 Remote File Serving with FTP 531Choosing an FTP Server 531 Choosing an Authenticated or Anonymous Server 532 Ubuntu FTP Server Packages 532 Other FTP Servers 532Installing FTP Software 533The FTP User 534Configuring the Very Secure FTP Server 536 Controlling Anonymous Access 537 Other vsftpd Server Configuration Files 537Using the ftphosts File to Allow or Deny FTP Server Connection 539References 540Chapter 28 Handling Email 541How Email Is Sent and Received 541 The Mail Transport Agent 542 Choosing an MTA 544 The Mail Delivery Agent544 The Mail User Agent 545Basic Postfix Configuration and Operation 546 Configuring Masquerading 548 Using Smart Hosts 549 Setting Message Delivery Intervals 549 Mail Relaying 550 Forwarding Email with Aliases 550Using Fetchmail to Retrieve Mail 551 Installing Fetchmail 551 Configuring Fetchmail 551Choosing a Mail Delivery Agent 555 Procmail 555 Spamassassin 555 Squirrelmail 556 Virus Scanners 556 Autoresponders 556Alternatives to Microsoft Exchange Server 556 Microsoft Exchange Server/Outlook Client 557 CommuniGate Pro 557 Oracle Beehive 557 Bynari 558 Open-Xchange 558 Horde 558References 558Chapter 29 Proxying, Reverse Proxying, and Virtual Private Networks (VPN) 561What Is a Proxy Server? 561Installing Squid 562Configuring Clients 562Access Control Lists 563Specifying Client IP Addresses 567Sample Configurations 568Virtual Private Networks (VPN) 570 Setting Up a VPN Client 571 Setting Up a VPN Server 573References 575Chapter 30 Administering Relational Database Services 577A Brief Review of Database Basics 578 How Relational Databases Work 580 Understanding SQL Basics 582 Creating Tables 582 Inserting Data into Tables 583 Retrieving Data from a Database 584Choosing a Database: MySQL Versus PostgreSQL 586 Speed 586 Data Locking 586 ACID Compliance in Transaction Processing to Protect Data Integrity 587 SQL Subqueries 588 Procedural Languages and Triggers 588Configuring MySQL 588 Setting a Password for the MySQL Root User 589 Creating a Database in MySQL 590Configuring PostgreSQL 592 Initializing the Data Directory in PostgreSQL 592 Creating a Database in PostgreSQL 593 Creating Database Users in PostgreSQL 593 Deleting Database Users in PostgreSQL 594 Granting and Revoking Privileges in PostgreSQL 594Database Clients 595 SSH Access to a Database 595 Local GUI Client Access to a Database 597 Web Access to a Database 597 The MySQL Command-Line Client 598 The PostgreSQL Command-Line Client 600 Graphical Clients 600References 601Chapter 31 NoSQL Databases 603Key/Value Stores 606 Berkeley DB 606 Cassandra 607 Memcached and MemcacheDB 607 Redis 608 Riak 608Document Stores 608 CouchDB 609 MongoDB 610 BaseX 610Wide Column Stores 611 BigTable 611 HBase 611Graph Stores 612 Neo4j 612 OrientDB 612 HyperGraphDB 612 FlockDB 613References 613Chapter 32 Lightweight Directory Access Protocol (LDAP) 615Configuring the Server 616 Creating Your Schema 616 Populating Your Directory 617Configuring Clients 619 Evolution 620 Thunderbird 621Administration 621References 622Chapter 33 Linux Terminal Server Project (LTSP) 623Requirements 624Installation 627Using LTSP 628References 629Chapter 34 Virtualization on Ubuntu 631KVM 633VirtualBox 637VMware 639Xen 639References 639Chapter 35 Ubuntu in the Cloud 641Why a Cloud? 642 Software as a Service (SaaS) 643 Platform as a Service (PaaS) 643 Infrastructure as a Service (IaaS) 643 Metal as a Service (MaaS) 643 Before You Do Anything 644Deploy/Install Basics: Public, Private, or Hybrid? 644Ubuntu Cloud and OpenStack 645 Compute Infrastructure (Nova) 645 Storage Infrastructure (Swift) 646 Networking Service (Neutron) 646 Identity Service (Keystone) 646 Imaging Service (Glance) 647 Dashboard (Horizon) 647 Learning More 647Juju 647 Getting Started 648 Charms 650 The Juju GUI 652 Juju Quickstart 653 Juju on Mac OS X and Windows 653 Mojo: Continuous Delivery for Juju 653Snappy Ubuntu Core 653Ubuntu Metal as a Service (MaaS) 653Landscape 654References 654Chapter 36 Managing Sets of Servers 655Juju 655Puppet 656Chef 656CFEngine 656Ansible 657Landscape 657References 657Chapter 37 Name Serving with the Domain Name System (DNS) 659Understanding Domain Names 661 DNS Servers 661 DNS Records 662Setting Up a DNS Server with BIND 665References 667PART V: PROGRAMMING LINUXChapter 38 Using Programming Tools for Ubuntu 669Programming with Linux 670Using the C Programming Project Management Tools Provided with Ubuntu 671 Building Programs with make 671 Using Makefiles 671 Using the autoconf Utility to Configure Code 673 Debugging Tools 674Using the GNU C Compiler 675Graphical Development Tools 676 Using the KDevelop Client 676 The Glade Client for Developing in GNOME 677 Use an IDE or SDK 678References 680Chapter 39 Opportunistic Development 681Version Control Systems 681 Managing Software Projects with Git 682 Managing Software Projects with Bazaar 683 Managing Software Projects with Subversion 684 Managing Software Projects with Mercurial 685Introduction to Opportunistic Development 686Launchpad 687Ubuntu Make 688Creating Snap Packages 689Bikeshed and Other Tools 689References 692Chapter 40 Helping with Ubuntu Development 693Introduction to Ubuntu Development 694Setting Up Your Development System 695 Install Basic Packages and Configure 695 Create a Launchpad Account 696 Set Up Your Environment to Work with Launchpad 696Developing Apps and Scopes 698Fixing Bugs and Packaging 698Finding Bugs to Fix with Harvest 701Masters of the Universe 701References 702Chapter 41 Helping with Ubuntu Testing and QA 703Community Teams 703 Ubuntu Testing Team 704 QA Team705Bug Squad 705Test Drive 705References 708Chapter 42 Using Popular Programming Languages 709Ada 710Clojure 710COBOL 711D 712Dart 712Elixir 713Erlang 713Forth 713Go 714Fortran 714Groovy 715Haskell 715Java 715JavaScript 716Lisp 716Lua 717Mono 717OCaml 718Perl 718PHP 719Python 719Ruby 719Rust 720Scala 720Scratch 720Vala 720References 721Chapter 43 Beginning Mobile Development for Android 723Introduction to Android 724 Hardware 724 Linux Kernel 724 Libraries 724 Android Runtime 724 Application Framework 725 Applications 725Installing Android Studio 725 Install Android Studio 725 Install SDK Packages 725Create Your First Application 727References 728Chapter 44 Developing for Ubuntu Mobile/Touch 729Install the SDK 730Create Your First Application 730References 731Index 733BONUS ONLINE CHAPTERSChapter 45 Using Perl WebUsing Perl with Linux Perl Versions A Simple Perl ProgramPerl Variables and Data Structures Perl Variable Types Special Variables Operators Comparison Operators Compound Operators Arithmetic Operators Other Operators Special String Constants Conditional Statements: if/else and unless if unless Looping for foreach while until last and next do ..while and do ..until Regular Expressions Access to the Shell Modules and CPAN Code Examples Sending Mail Purging Logs Posting to Usenet One-Liners Command-Line Processing References Chapter 46 Using Python Python on Linux The Basics of Python Numbers More on Strings Lists Dictionaries Conditionals and Looping Functions Object Orientation Class and Object Variables Constructors and Destructors Class Inheritance The Standard Library and the Python Package Index References Chapter 47 Using PHP Introduction to PHP Entering and Exiting PHP Mode Variables Arrays Constants References Comments Escape Sequences Variable Substitution Operators Conditional Statements Special Operators Switching Loops Including Other Files Basic Functions Strings Arrays Files Miscellaneous Handling HTML Forms Databases References