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