Linux in a Nutshell
Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen Siever, Robert Love, and Arnold Robbins — people with years of active participation in the Linux community — Linux in a Nutshell, Sixth Edition, thoroughly covers programming tools, system and network administration tools, the shell, editors, and LILO and GRUB boot loaders.

This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.

  • Get the Linux commands for system administration and network management
  • Use hundreds of the most important shell commands available on Linux
  • Understand the Bash shell command-line interpreter
  • Search and process text with regular expressions
  • Manage your servers via virtualization with Xen and VMware
  • Use the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation tools
  • Process text files with the sed editor and the gawk programming language
  • Manage source code with Subversion and git
1100196571
Linux in a Nutshell
Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen Siever, Robert Love, and Arnold Robbins — people with years of active participation in the Linux community — Linux in a Nutshell, Sixth Edition, thoroughly covers programming tools, system and network administration tools, the shell, editors, and LILO and GRUB boot loaders.

This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.

  • Get the Linux commands for system administration and network management
  • Use hundreds of the most important shell commands available on Linux
  • Understand the Bash shell command-line interpreter
  • Search and process text with regular expressions
  • Manage your servers via virtualization with Xen and VMware
  • Use the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation tools
  • Process text files with the sed editor and the gawk programming language
  • Manage source code with Subversion and git
64.99 In Stock

Paperback(Sixth Edition)

$64.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Related collections and offers


Overview

Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen Siever, Robert Love, and Arnold Robbins — people with years of active participation in the Linux community — Linux in a Nutshell, Sixth Edition, thoroughly covers programming tools, system and network administration tools, the shell, editors, and LILO and GRUB boot loaders.

This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.

  • Get the Linux commands for system administration and network management
  • Use hundreds of the most important shell commands available on Linux
  • Understand the Bash shell command-line interpreter
  • Search and process text with regular expressions
  • Manage your servers via virtualization with Xen and VMware
  • Use the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation tools
  • Process text files with the sed editor and the gawk programming language
  • Manage source code with Subversion and git

Product Details

ISBN-13: 9780596154486
Publisher: O'Reilly Media, Incorporated
Publication date: 09/30/2009
Series: Nutshell
Edition description: Sixth Edition
Pages: 917
Product dimensions: 6.00(w) x 8.90(h) x 2.00(d)

About the Author

Ellen Siever is a writer and editor specializing in Linux and other open source topics. In addition to Linux in a Nutshell, she coauthored Perl in a Nutshell. She is a long-time Linux and Unix user, and was a programmer for many years until she decided that writing about computers was more fun.

Stephen Figgins honed many of his computer skills while working as O'Reilly's book answer guy. A life long learner with many interests, Stephen draws on many resources to make difficult topics understandable and accessible.



Now living in Lawrence, Kansas, he administrates Linux servers for Sunflower Broadband, a cable company. When not found working with computers, writing, or spending time with his family, you will likely find him outdoors. Stephen teaches wilderness awareness and living skills.

Robert Love has been a Linux user and hacker since the early days. He is active in—and passionate about—the Linux kernel and GNOME desktop communities. His recent contributions to the Linux kernel include work on the kernel event layer and inotify. GNOME-related contributions include Beagle, GNOME Volume Manager, NetworkManager, and Project Utopia. Currently, Robert works in the Open Source Program Office at Google.



Robert is the author of Linux Kernel Development (SAMS 2005) and the co-author of Linux in a Nutshell (2006 O'Reilly). He is also a Contributing Editor at Linux Journal. He is currently working on a new work for O'Reilly that will be the greatest book ever written, give or take. Robert holds a B.A. in Mathematics and a B.S. in Computer Science from the University of Florida. A proud Gator, Robert was born in South Florida but currently calls home Cambridge, MA.

Arnold Robbins, an Atlanta native, is a professional programmer and technical author. He has worked with Unix systems since 1980, when he was introduced to a PDP-11 running a version of Sixth Edition Unix. He has been a heavy AWK user since 1987, when he became involved with gawk, the GNU project's version of AWK. As a member of the POSIX 1003.2 balloting group, he helped shape the POSIX standard for AWK. He is currently the maintainer of gawk and its documentation. He is also coauthor of the sixth edition of O'Reilly's Learning the vi Editor. Since late 1997, he and his family have been living happily in Israel.

Read an Excerpt


Chapter 5: Red Hat and Debian Package Managers

This chapter describes the two major Linux packaging systems, the Red Hat Package Manager (RPM) and the Debian GNU/Linux Package Manager.

When you want to install applications on your Linux system, most often you'll find a binary or a source package containing the application you want, instead of (or in addition to) a .tar.gz file. A package is a file containing the files necessary to install an application. But note that while the package contains the files you need for installation, the application might require the presence of other files or packages that are not included, such as particular libraries (and even specific versions of the libraries), in order to be able to run. Such requirements are known as dependencies.

Package management systems offer many benefits. As a user, you may find you want to query the package database to find out what packages are installed on the system and their versions. As a system administrator, you need tools to install and manage the packages on your system. And, if you are also a developer, you need to know how to build a package for distribution.

Among other things, package managers:

  • Provide tools for installing, updating, removing, and managing the software on your system.

  • Let you install new or upgraded software directly across a network.

  • Tell you what software package a particular file belongs to or what files a package contains.

  • Maintain a database of packages on the system and their state, so you can find out what packages or versions are installed on your system.

  • Provide dependency checking, so you don't mess up your system with incompatible software.

  • Provide PGP, MD5, or other signature verification tools.

  • Provide tools for building packages.

Any user can list or query packages. However, installing, upgrading, or removing packages generally requires superuser privileges. This is because the packages normally are installed in systemwide directories that are writable only by root. Sometimes you can specify an alternate directory, to install, for example, a package into your home directory or into a project directory where you have write permission.

Both RPM and the Debian Package Manager back up old files before installing an updated package. Not only does this let you go back if there is a problem, but also if you've made changes (to configuration files, for example), they aren't completely lost.

The Red Hat Package Manager

The Red Hat Package Manager (RPM) is a freely available packaging system for software distribution and installation. In addition to Red Hat and Red Hat-based distributions, both SuSE and Caldera are among the Linux distributions that use RPM.

Using RPM is straightforward. A single command, rpm, has options to perform all the package functions. For example, to find out if the Emacs editor is installed on your system, you could say:

% rpm -q emacs
emacs-20.4-4

In addition, the GNOME-RPM program provides an X-based graphical frontend to RPM (that can be run even if you are not running GNOME). This section describes the rpm command and then the gnorpm command that runs GNOME-RPM.

The rpm Command

RPM packages are built, installed, and queried with the rpm command. RPM package names usually end with a .rpm extension. rpm has a set of modes, each with its own options. The format of the rpm command is:

rpm [options] [packages]
With a few exceptions, as noted in the lists of options that follow, the first option specifies the rpm mode (e.g., install, query, update, build, etc.), and any remaining options affect that mode.

In the option descriptions that refer to packages, you'll sometimes see them specified as package-name and sometimes as package-file. The package name is the name of the program or application, such as gif2png. The package file is the name of the RPM file: gif2png-2.2.5-1.i386.rpm.

RPM provides a configuration file for specifying frequently used options. The system configuration file is usually /etc/rpmrc, and users can set up their own $HOME/.rpmrc file. You can use the --showrc option to show the values RPM will use for all the options that may be set in an rpmrc file:

rpm --showrc

The rpm command includes FTP and HTTP clients, so you can specify an ftp:// or http:// URL to install or query a package across the Internet. You can use an FTP or HTTP URL wherever package-file is specified in the commands presented here.

Any user can query the RPM database. Most of the other functions require superuser privileges.

General options

The following options can be used with all modes:

--dbpath path

Use path as the path to the RPM database.

--ftpport port

Use port as the FTP port.

--ftpproxy host

Use host as a proxy server for all transfers. Specified if you are FTPing through a firewall system that uses a proxy.

--help

Print a long usage message (running rpm with no options gives a shorter usage message).

--justdb

Update only the database; don't change any files.

--pipe command

Pipe the rpm output to command.

--quiet

Display only error messages.

--rcfile filename

Use filename as the configuration file instead of the system configuration file /etc/rpmrc or $HOME/.rpmrc.

--root dir

Perform all operations within directory dir.

--version

Print the version number of rpm.

-vv

Print debugging information.

Install, upgrade, and freshen options

Install or upgrade an RPM package. The syntax of the install command is...

Table of Contents

Preface; Organization of This Book; Other Resources; Using Code Examples; Conventions; How to Contact Us; Safari® Books Online; Acknowledgments; Chapter 1: Introduction; 1.1 The Excitement of Linux; 1.2 Distribution and Support; 1.3 Commands on Linux; 1.4 What This Book Offers; 1.5 Sources and Licenses; 1.6 Beginner's Guide; Chapter 2: System and Network Administration Overview; 2.1 Common Commands; 2.2 Overview of Networking; 2.3 Overview of TCP/IP; 2.4 Overview of Firewalls and Masquerading; 2.5 Overview of NFS; 2.6 Overview of NIS; 2.7 Administering NIS; 2.8 RPC and XDR; Chapter 3: Linux Commands; 3.1 Alphabetical Summary of Commands; Chapter 4: Boot Methods; 4.1 The Boot Process; 4.2 LILO: The Linux Loader; 4.3 GRUB: The Grand Unified Bootloader; 4.4 GRUB Commands; 4.5 Dual-Booting Linux and Windows 2000/XP/Vista; 4.6 Boot-Time Kernel Options; 4.7 initrd: Using a RAM Disk; Chapter 5: Package Management; 5.1 Yum: Yellowdog Updater Modified; 5.2 The Red Hat Package Manager; 5.3 The Debian Package Manager; Chapter 6: The Bash Shell; 6.1 Overview of Features; 6.2 Invoking the Shell; 6.3 Syntax; 6.4 Functions; 6.5 Variables; 6.6 Arithmetic Expressions; 6.7 Command History; 6.8 Job Control; 6.9 Command Execution; 6.10 Restricted Shells; 6.11 Built-in Commands; Chapter 7: Pattern Matching; 7.1 Filenames Versus Patterns; 7.2 Metacharacters; 7.3 Metacharacters, Listed by Program; 7.4 Examples of Searching; Chapter 8: The Emacs Editor; 8.1 Conceptual Overview; 8.2 Command-Line Syntax; 8.3 Summary of Commands by Group; 8.4 Summary of Commands by Key; 8.5 Summary of Commands by Name; Chapter 9: The vi, ex, and vim Editors; 9.1 Conceptual Overview; 9.2 Command-Line Syntax; 9.3 Review of vi Operations; 9.4 vi Commands; 9.5 vi Configuration; 9.6 ex Basics; 9.7 Alphabetical Summary of ex Commands; Chapter 10: The sed Editor; 10.1 Conceptual Overview; 10.2 Command-Line Syntax; 10.3 Syntax of sed Commands; 10.4 Group Summary of sed Commands; 10.5 Alphabetical Summary of sed Commands; Chapter 11: The gawk Programming Language; 11.1 Conceptual Overview; 11.2 Command-Line Syntax; 11.3 Patterns and Procedures; 11.4 Built-in Variables; 11.5 Operators; 11.6 Variable and Array Assignment; 11.7 User-Defined Functions; 11.8 gawk-Specific Features; 11.9 Implementation Limits; 11.10 Group Listing of awk Functions and Commands; 11.11 Alphabetical Summary of awk Functions and Commands; 11.12 ; Chapter 12: Source Code Management: An Overview; 12.1 Introduction and Terminology; 12.2 Usage Models; 12.3 Source Code Management Systems; 12.4 Other Source Code Management Systems; Chapter 13: The Subversion Version Control System; 13.1 Conceptual Overview; 13.2 The Subversion Command Line Client: svn; 13.3 Repository Administration: svnadmin; 13.4 Examining the Repository: svnlook; 13.5 Providing Remote Access: svnserve; Chapter 14: The Git Version Control System; 14.1 Conceptual Overview; 14.2 Using Git: A Quick Tour; 14.3 The Git Command Line Client: git; Chapter 15: Virtualization Command-Line Tools; 15.1 Conceptual Overview; 15.2 Basic Virtualization Operations; 15.3 Xen; 15.4 KVM; 15.5 libvirt and Red Hat Virtual Machine Manager; 15.6 libvirt and Virtual Machine Manager Commands; 15.7 VMware ESX 3.5; 15.8 VMware Networking; Colophon;
From the B&N Reads Blog

Customer Reviews