Ubuntu Unleashed 2019 Edition
Pearson
978-0-13-498546-6 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
Ubuntu Unleashed 2019 Edition is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly updated, including two new chapters, by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 18.04 LTS release, with forthcoming online updates for 18.10, 19.04, and 19.10 when they are released.
Linux writer Matthew Helmke covers all you need to know about Ubuntu 18.04 LTS 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 the Ubuntu desktop experience, common web servers and software stacks, containers like Docker and Kubernetes, as well as a wealth of systems administration information that is stable and valuable over many years.
Configure and use the Ubuntu 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 and cloud deployment, including information about containers
Learn the basics about popular programming languages including Python, PHP, Perl, and gain an introduction to new alternatives such as Go and Rust
Matthew Helmke has used Ubuntu since 2005. He has written about Linux for several magazines and websites, is a lead author of The Official Ubuntu Book, and coauthored both A Practical Guide to Linux: Commands, Editors, and Shell Programming and The VMware Cookbook. In his day job, Matthew works as a technical writer for one of the largest and oldest open source software companies, Red Hat. 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 earned a master’s degree in Information Resources and Library Science from the University of Arizona.
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 xxxv
PART I: GETTING STARTED
Chapter 1 Installing Ubuntu and Post-Installation Configuration 1
Before You Begin the Installation 1
Researching Your Hardware Specifications 2
Installation Options 2
32-Bit Versus 64-Bit Ubuntu 4
Planning Partition Strategies 5
The Boot Loader 5
Installing from DVD or USB Drive 6
Step-by-Step Installation 6
Shutting Down 11
Finding Programs and Files 12
Software Updater 12
The sudo Command 14
Configuring Software Repositories 15
System Settings 18
Configuring Wireless Networks 20
Troubleshooting Post-Installation Configuration Problems 21
Chapter 2 Background Information and Resources 23
What Is Linux? 23
Why Use Linux? 25
What Is Ubuntu? 27
Ubuntu for Business 27
Ubuntu in Your Home 29
Getting the Most from Ubuntu and Linux Documentation 29
Ubuntu Developers and Documentation 30
Websites and Search Engines 31
Mailing Lists 34
Internet Relay Chat 36
PART II: DESKTOP UBUNTU
Chapter 3 Working with GNOME 37
Foundations and the X Server 37
Using GNOME: A Primer 46
Chapter 4 On the Internet 51
Getting Started with Firefox 51
Checking Out Google Chrome and Chromium 53
Choosing an Email Client 54
Internet Relay Chat 57
Usenet Newsgroups 59
Chapter 5 Productivity Applications 63
Introducing LibreOffice 64
Other Useful Productivity Software 66
Working with PDFs 66
Working with XML and DocBook 67
Working with LaTeX 68
Productivity Applications Written for Microsoft Windows 68
Chapter 6 Multimedia Applications 71
Sound and Music 71
Graphics Manipulation 76
Using Digital Cameras with Ubuntu 80
Burning CDs and DVDs in Ubuntu 80
Viewing Video 85
Chapter 7 Other Ubuntu Interfaces 89
Desktop Environment 89
KDE and Kubuntu 90
Xfce and Xubuntu 92
LXDE and Lubuntu 93
MATE and Ubuntu MATE 94
Ubuntu Budgie 94
Ubuntu Kylin 95
Chapter 8 Games 97
Ubuntu Gaming 97
Installing Proprietary Video Drivers 98
Online Game Sources 99
Installing Games in Ubuntu 100
Games for Kids 105
Commercial Games 105
Playing Windows Games 106
PART III: SYSTEM ADMINISTRATION
Chapter 9 Managing Software 109
Ubuntu Software 109
Using Synaptic for Software Management 110
Staying Up-to-Date 113
Working on the Command Line 114
Compiling Software from Source 119
Configuration Management 121
Ubuntu Core 121
Using Snaps 122
Chapter 10 Command-Line Beginner’s Class 123
What Is the Command Line? 124
Accessing the Command Line 125
Logging In and Out from a Remote Computer 127
User Accounts 128
Reading Documentation 129
Using Man Pages 130
Using apropros 130
Using whereis 131
Understanding the Linux File System Hierarchy 131
Navigating the Linux File System 136
Working with Permissions 139
Working with Files 146
Working as Root 151
Understanding and Fixing sudo 152
Creating Users 154
Deleting Users 155
Shutting Down the System 155
Rebooting the System 157
Commonly Used Commands and Programs 157
Chapter 11 Command-Line Master Class, Part 1 159
Why Use the Command Line? 160
Using Basic Commands 161
Printing the Contents of a File with cat 162
Changing Directories with cd 163
Changing File Access Permissions with chmod 165
Copying Files with cp 165
Printing Disk Usage with du 166
Using echo 167
Finding Files by Searching with find 167
Searches for a String in Input with grep 170
Paging Through Output with less 171
Creating Links Between Files with ln 173
Finding Files from an Index with locate 174
Listing Files in the Current Directory with ls 175
Listing System Information with lsblk, lshw, lsmod, lspci, and neofetch 176
Reading Manual Pages with man 177
Making Directories with mkdir 178
Moving Files with mv 178
Deleting Files and Directories with rm 179
Sorting the Contents of a File with sort 180
Printing the Last Lines of a File with tail 181
Printing the Location of a Command with which 182
Downloading Files with wget 182
Chapter 12 Command-Line Master Class, Part 2 183
Redirecting Output and Input 183
stdin, stdout, stderr, and Redirection 185
Comparing Files 186
Limiting Resource Use and Job Control 187
Combining Commands 194
Executing Jobs in Parallel 197
Using Environment Variables 198
Using Common Text Editors 201
Working with Compressed Files 207
Using Multiple Terminals with byobu 208
Doing a Polite System Reset Using REISUB 210
Fixing an Ubuntu System that Will Not Boot 211
Tips and Tricks 212
Running the Previous Command 213
Running Any Previous Command 213
Running a Previous Command that Started with Specific Letters 213
Running the Same Thing You Just Ran with a Different First Word 213
Viewing Your History and More 214
Doing Two or More Things 214
Using Shortcuts 214
Confining a Script to a Directory 214
Using Coreutils 215
Reading the Contents of the Kernel Ring Buffer with dmesg 216
Chapter 13 Managing Users 217
User Accounts 217
Managing Groups 221
Managing Users 223
Managing Passwords 229
Granting System Administrator Privileges to Regular Users 234
Disk Quotas 239
Related Ubuntu Commands 241
Chapter 14 Automating Tasks and Shell Scripting 243
Scheduling Tasks 243
Basic Shell Control 250
Writing and Executing a Shell Script 255
Running the New Shell Program 256
Storing Shell Scripts for System-wide Access 257
Interpreting Shell Scripts Through Specific Shells 258
Assigning a Value to a Variable 259
Accessing Variable Values 260
Positional Parameters 260
A Simple Example of a Positional Parameter 260
Using Positional Parameters to Access and Retrieve Variables from the Command Line 261
Using a Simple Script to Automate Tasks 262
Built-in Variables 264
Special Characters 264
Comparison of Expressions in pdksh and bash 267
Comparing Expressions with tcsh 273
The for Statement 277
The while Statement 278
The until Statement 280
The repeat Statement (tcsh) 281
The select Statement (pdksh) 281
The shift Statement 282
The if Statement 282
The expr Statement 283
The case Statement 284
The break and exit Statements 286
Using Functions in Shell Scripts 286
Chapter 15 The Boot Process 289
Running Services at Boot 289
Beginning the Boot Loading Process 290
Troubleshooting Runlevel Problems 296
Starting and Stopping Services Manually 296
Using Upstart 297
Using systemd 298
Boot-Repair 299
Chapter 16 System-Monitoring Tools 301
Console-Based Monitoring 301
Using the kill Command to Control Processes 303
Using Priority Scheduling and Control 305
Displaying Free and Used Memory with free 306
Disk Space 306
Disk Quotas 307
Checking Log Files 307
Rotating Log Files 309
Graphical Process- and System-Management Tools 312
KDE Process- and System-Monitoring Tools 318
Enterprise Server Monitoring 318
Chapter 17 Backing Up 321
Choosing a Backup Strategy 321
Choosing Backup Hardware and Media 328
Using Backup Software 330
Copying Files 338
Version Control for Configuration Files 342
System Rescue 344
The Ubuntu Rescue Disc 345
Restoring the GRUB2 Boot Loader 345
Saving Files from a Nonbooting Hard Drive 346
Chapter 18 Networking 347
Laying the Foundation: The localhost Interface 348
Checking Connections with ping, traceroute, and mtr 350
Networking with TCP/IP 352
IPv6 Basics 356
Network Organization 359
Hardware Devices for Networking 361
Using Network Configuration Tools 367
Dynamic Host Configuration Protocol 375
Wireless Networking 381
Beyond the Network and onto the Internet 383
Common Configuration Information 384
Configuring Digital Subscriber Line Access 385
Understanding PPP over Ethernet 386
Configuring a PPPoE Connection Manually 386
Configuring Dial-up Internet Access 388
Troubleshooting Connection Problems 389
Chapter 19 Remote Access with SSH, Telnet, and VNC 391
Setting Up a Telnet Server 391
Telnet Versus SSH 393
Setting Up an SSH Server 393
SSH Tools 393
Virtual Network Computing 397
Chapter 20 Securing Your Machines 401
Understanding Computer Attacks 401
Assessing Your Vulnerability 403
Protecting Your Machine 404
Securing a Wireless Network 404
Passwords and Physical Security 405
Configuring and Using Tripwire 406
Securing Devices 407
Viruses 407
Configuring Your Firewall 407
AppArmor 410
Forming a Disaster Recovery Plan 412
Chapter 21 Performance Tuning 415
Storage Disk 415
Kernel 420
Apache 421
MySQL 423
Chapter 22 Kernel and Module Management 429
The Linux Kernel 430
Managing Modules 434
When to Recompile 436
Kernel Versions 437
Obtaining the Kernel Sources 438
Patching the Kernel 438
Compiling the Kernel 440
When Something Goes Wrong 446
Errors During Compile 446
Runtime Errors, Boot Loader Problems, and Kernel Oops 447
PART IV: UBUNTU AS A SERVER
Chapter 23 Sharing Files and Printers 449
Using Network File System 450
Putting Samba to Work 452
Network and Remote Printing with Ubuntu 459
Chapter 24 Common Web Server Stacks 465
LAMP 465
LEMP 467
MEAN 467
Chapter 25 Apache Web Server Management 471
About the Apache Web Server 471
Installing the Apache Server 472
Runtime Server Configuration Settings 474
File System Authentication and Access Control 480
Apache Modules 483
Virtual Hosting 489
Logging 490
HTTPS 492
Chapter 26 Nginx Web Server Management 495
About the Nginx Web Server 495
Installing the Nginx Server 497
Configuring the Nginx Server 498
Virtual Hosting 501
Setting Up PHP 502
Adding and Configuring Modules 503
HTTPS 504
Chapter 27 Other HTTP Servers 507
lighttpd 507
Yaws 508
Cherokee 508
Jetty 509
thttpd 509
Apache Tomcat 510
WildFly 510
Chapter 28 Administering Relational Database Services 511
A Brief Review of Database Basics 512
Choosing a Database: MySQL Versus PostgreSQL 520
Configuring MySQL 522
Configuring PostgreSQL 526
Database Clients 529
Chapter 29 NoSQL Databases 537
Key/Value Stores 540
Berkeley DB 540
Cassandra 541
etcd 541
Memcached and MemcacheDB 541
Redis 542
Riak 542
Scylla 542
Document Stores 542
CouchDB 543
MongoDB 544
BaseX 545
Wide Column Stores 545
BigTable 545
HBase 546
Graph Stores 546
Neo4j 546
OrientDB 547
HyperGraphDB 547
FlockDB 547
Chapter 30 Virtualization on Ubuntu 549
KVM 551
VirtualBox 554
VMware 556
Xen 556
Chapter 31 Ubuntu in the Cloud 559
Why a Cloud? 560
Software as a Service (SaaS) 561
Platform as a Service (PaaS) 561
Infrastructure as a Service (IaaS) 561
Metal as a Service (MaaS) 561
Things to Consider Before You Make any Decisions 562
Deploy/Install Basics: Public, Private, or Hybrid? 562
Ubuntu Cloud and OpenStack 563
Compute Infrastructure: Nova 563
Storage Infrastructure: Swift 564
Networking Service: Neutron 564
Identity Service: Keystone 564
Imaging Service: Glance 564
Dashboard: Horizon 565
Learning More 565
Juju 565
Mojo: Continuous Delivery for Juju 566
Ubuntu Core 566
Ubuntu Metal as a Service (MaaS) 566
Landscape 566
Chapter 32 Containers and Ubuntu 569
LXC and LXD 570
Docker 571
Kubernetes 571
CoreOS and Canonical 572
Chapter 33 Managing Sets of Servers 573
Juju 573
Puppet 574
Chef 574
CFEngine 574
Ansible 575
Landscape 575
Chapter 34 Remote File Serving with FTP 577
Choosing an FTP Server 577
Installing FTP Software 579
The FTP User 579
Configuring the Very Secure FTP Server 581
Using the ftphosts File to Allow or Deny FTP Server Connection 584
Chapter 35 Handling Email 587
How Email Is Sent and Received 587
Basic Postfix Configuration and Operation 591
Using Fetchmail to Retrieve Mail 597
Choosing a Mail Delivery Agent 600
References 602
Chapter 36 Proxying, Reverse Proxying, and Virtual Private Networks (VPNs) 603
What Is a Proxy Server? 603
Installing Squid 604
Configuring Clients 604
Access Control Lists 605
Specifying Client IP Addresses 609
Sample Configurations 610
Virtual Private Networks (VPNs) 612
Chapter 37 Lightweight Directory Access Protocol (LDAP) 619
Configuring the Server 620
Configuring Clients 624
LDAP Administration 624
Chapter 38 Linux Terminal Server Project (LTSP) 627
LTSP Requirements 628
LTSP Installation 631
Using LTSP 631
Chapter 39 Name Serving with the Domain Name System (DNS) 633
Understanding Domain Names 634
Setting Up a DNS Server with BIND 639
PART V: PROGRAMMING LINUX
Chapter 40 Using Programming Tools for Ubuntu 643
Programming in C with Linux 644
Using the C Programming Project Management Tools Provided with Ubuntu 645
Using the GNU C Compiler 649
Graphical Development Tools 650
Using the KDevelop Client 650
The Glade Client for Developing in GNOME 651
IDEs and SDKs 652
Chapter 41 Using Ubuntu for Opportunistic Software Development 655
Version Control Systems 656
Managing Software Projects with Git 656
Managing Software Projects with Bazaar 657
Managing Software Projects with Subversion 658
Managing Software Projects with Mercurial 659
Introduction to Opportunistic Development 660
Launchpad 661
Ubuntu Make 663
Creating Snap Packages 663
Bikeshed and Other Tools 663
Chapter 42 Helping with Ubuntu Development 667
Introduction to Ubuntu Development 668
Setting Up Your Development System 669
Fixing Bugs and Packaging 672
Finding Bugs to Fix with Harvest 675
Masters of the Universe 675
Chapter 43 Helping with Ubuntu Testing and QA 677
Community Teams 677
Ubuntu Testing Team 678
Ubuntu QA Team 678
Bug Squad 679
Chapter 44 Using Popular Programming Languages 681
Ada 682
Clojure 682
COBOL 683
D 684
Dart 684
Elixir 685
Erlang 685
Forth 685
Fortran 686
Go 686
Groovy 687
Haskell 687
Java 687
JavaScript 688
Lisp 688
Lua 689
Mono 689
OCaml 689
Perl 690
PHP 690
Python 690
Ruby 691
Rust 691
Scala 691
Scratch 692
Vala 692
Chapter 45 Beginning Mobile Development for Android 695
Introduction to Android 696
Hardware 696
Linux Kernel 696
Libraries 696
Android Runtime 696
Application Framework 697
Applications 697
Installing Android Studio 697
Installing Android Studio 697
Installing SDK Packages 697
Creating Your First Application 699
Index 701
BONUS CHAPTERS (Online Only)
Bonus Chapters 46-48 can be accessed online. Register your product for access.
Chapter 46 Using Perl Web:1
Using Perl with Linux Web:1
Perl Variables and Data Structures Web:4
Perl Operators Web:6
Conditional Statements: if/else and unless Web:8
Looping Web:10
Regular Expressions Web:12
Access to the Shell Web:13
Modules and CPAN Web:14
Code Examples Web:15
Chapter 47 Using PHP Web:21
Introduction to PHP Web:21
Basic Functions Web:37
Handling HTML Forms Web:48
Databases Web:48
Chapter 48 Using Python Web:53
Python on Linux Web:54
The Basics of Python Web:55
Functions Web:65
Object Orientation Web:66
Class and Object Variables Web:67
Constructors and Destructors Web:68
The Standard Library and the Python Package Index Web:70
Erscheint lt. Verlag | 16.1.2019 |
---|---|
Reihe/Serie | Unleashed |
Sprache | englisch |
Maße | 180 x 230 mm |
Gewicht | 1265 g |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
ISBN-10 | 0-13-498546-X / 013498546X |
ISBN-13 | 978-0-13-498546-6 / 9780134985466 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich