Linux+ Guide to Linux Certification, Third Edition
Chapter 11Compression, System Backup,
and Software Installation
Linux+ Guide to Linux Certification, 3e 2
Objectives
• Outline the features of common compression utilities
• Compress and decompress files using common compression utilities
• Perform system backups using the tar, cpio, and dump commands
• View and extract archives using the tar, cpio, and restore commands
Linux+ Guide to Linux Certification, 3e 3
Objectives (continued)
• Use burning software to back up files to CD and DVD
• Describe common types of Linux software
• Compile and install software packages from source code
• Use the Red Hat Package Manager to install, manage, and remove software packages
• Use the yum command to obtain software from Internet software repositories
Compression
• Compression: process in which files are reduced in size by stripping out characters
• Compression algorithm: standard set of instructions used to compress a file
• Compression ratio: percentage by which the file size was decreased
• Common compression utilities include compress, gzip, and bzip2
Linux+ Guide to Linux Certification, 3e 4
The compress Utility
• Use to compress files using the Adaptive Lempel Ziv coding (LZW) compression algorithm– Average compression ratio of 40-50%
• compress command: used to compress files• zcat command: used to display the contents of an
archive created with compress– Can use zmore and zless commands to view
contents page-by-page
• uncompress command: used to decompress files compressed by compress command
Linux+ Guide to Linux Certification, 3e 5
Linux+ Guide to Linux Certification, 3e 6
The compress Utility (continued)
Table 11-1: Common options used with the compress utility
Linux+ Guide to Linux Certification, 3e 7
The gzip Utility
• GNU zip (gzip): used to compress files using the Lempel-Ziv compression algorithm (LZ77)– Varies slightly from algorithm used by compress– Average compression ratio of 60-70%– Uses .gz filename extension by default– Can control level of compression via numeric option
• gunzip command: used to decompress .gz files
Linux+ Guide to Linux Certification, 3e 8
The gzip Utility (continued)
Table 11-2: Common options used with the gzip utility
Linux+ Guide to Linux Certification, 3e 9
The gzip Utility (continued)
Table 11-2 (continued): Common options used with the gzip utility
Linux+ Guide to Linux Certification, 3e 10
The gzip Utility (continued)
Table 11-2 (continued): Common options used with the gzip utility
Linux+ Guide to Linux Certification, 3e 11
The bzip2 Utility
• bzip2 command: used to compress files using Burrows-Wheeler Block Sorting Huffman Coding compression algorithm– Cannot compress directory full of files– Cannot use zcat and zmore to view files
• Must use bzcat command
– Compression ratio is 50% to 75% on average– Uses .bz2 filename extension by default
• bunzip2 command: used to decompress files compressed via bzip2
Linux+ Guide to Linux Certification, 3e 12
The bzip2 Utility (continued)
Table 11-3: Common options used with the bzip2 utility
Linux+ Guide to Linux Certification, 3e 13
The bzip2 Utility (continued)
Table 11-3 (continued): Common options used with the bzip2 utility
Linux+ Guide to Linux Certification, 3e 14
System Backup
• System backup: process whereby files are copied to an archive
• Archive: location (file or device) that contains copy of files– Typically created by a backup utility
• Should backup user files from home directories and any important system configuration files– Possibly files used by system services as well
• Several backup utilities available– tar, cpio, dump/restore, burning software
Linux+ Guide to Linux Certification, 3e 15
System Backup (continued)
Table 11-4: Common tape device files
Linux+ Guide to Linux Certification, 3e 16
The tar Utility
• Tape archive (tar) utility: one of oldest and most common backup utilities– Can create archive in a file on a filesystem or directly
on a device
• tar command: activates tar utility– Arguments list the files to place in the archive– Accepts options to determine location of archive and
action to perform on archive
Linux+ Guide to Linux Certification, 3e 17
The tar Utility (continued)
Table 11-5: Common options used with the tar utility
Linux+ Guide to Linux Certification, 3e 18
The tar Utility (continued)
Table 11-5 (continued): Common options used with the tar utility
Linux+ Guide to Linux Certification, 3e 19
The tar Utility (continued)
• tar utility does not compress files inside archive– Time needed to transfer archive across a network is
high– Can compress archive
• Backing up files to compressed archive on a filesystem is useful when transferring data across a network– Use options of the tar command to compress an
archive immediately after creation
Linux+ Guide to Linux Certification, 3e 20
The cpio Utility
• Copy in/out (cpio): common backup utility– Activated by the cpio command
• Has various options
– Includes options similar to tar utility– Has added features
• Ability to back up device files
• Long filenames
– Uses absolute pathnames by default when archiving
Linux+ Guide to Linux Certification, 3e 21
The cpio Utility (continued)
Table 11-6: Common options used with the cpio command
Linux+ Guide to Linux Certification, 3e 22
The cpio Utility (continued)
Table 11-6 (continued): Common options used with the cpio command
Linux+ Guide to Linux Certification, 3e 23
The dump/restore Utility
• dump/restore: Used to back up files and directories to device or file on filesystem– Works only with files on ext2 and ext3 filesystems
• Designed to backup entire filesystems to an archive
• /etc/dumpdates: file used to store information about incremental and full backups
Linux+ Guide to Linux Certification, 3e 24
The dump/restore Utility (continued)
• Full backup: archiving all data on filesystem
• Incremental backup: backs up only data that has changed since last backup– Can perform up to nine different incremental
backups
• dump command: create archives for full or incremental backup
• restore command: extract archives created with dump
Linux+ Guide to Linux Certification, 3e 25
The dump/restore Utility (continued)
Figure 11-1: A sample back-up strategy
Linux+ Guide to Linux Certification, 3e 26
The dump/restore Utility (continued)
Table 11-7: Common options used with the dump/restore utility
Linux+ Guide to Linux Certification, 3e 27
Burning Software
• tar, cpio, and dump utilities copy data to backup medium in character-by-character or block-by-block format– Typically used with tape, floppy, and hard disk media
• Disc burning software: used to write files to CD or DVD media– Build CD or DVD filesystem, organize the data, and
write it all to CD or DVD
• Fedora 13 comes with Brasero Disc Burner burning software
Linux+ Guide to Linux Certification, 3e 28
Burning Software (continued)
Figure 11-2: The Brasero Disc Burner program
Linux+ Guide to Linux Certification, 3e 29
Software Installation
• Software for Linux can consist of: – Binary files precompiled to run on certain hardware
architectures – Source code, which must be compiled before use
• Typically distributed in tarball format
• Package manager: system that defines standard package format – Used to install, query, and remove packages
• Red Hat Package Manager (RPM): most common package manager used by Linux systems today
Linux+ Guide to Linux Certification, 3e 30
Compiling Source Code into Programs
• Procedure for compiling source code into binary programs standardized among most OSS developers
• make command: looks for Makefile and it to compile the source code into binary using compiler– Makefile: contains most of the information and
commands necessary to compile a program, as well as instructions for use of commented areas
• make install command: copies complied executable programs to correct location
Linux+ Guide to Linux Certification, 3e 31
Compiling Source Code into Programs (continued)
Figure 11-3: The rdesktop program
Linux+ Guide to Linux Certification, 3e 32
Installing Programs Using RPM
• Packages in RPM format have filenames that indicate hardware architecture for which the software was compiled– End with .rpm extension
• To install an RPM package, use –i option to rpm command– Command used to install, query, and remove RPM
packages
Linux+ Guide to Linux Certification, 3e 33
Installing Programs Using RPM (continued)
• After installation RPM database is updated to contain information about the installed package and files contained in it-q option: query the full package name
-i option: together with –q used to display full package information
-f option: together with –q used to display the package to which a specific file belongs
-e option: used to remove a package from the system
Linux+ Guide to Linux Certification, 3e 34
Installing Programs Using RPM (continued)
Figure 11-4: The bluefish program
Linux+ Guide to Linux Certification, 3e 35
Installing Programs Using RPM (continued)
Table 11-8: Common options used with the rpm utility
Linux+ Guide to Linux Certification, 3e 36
Installing Programs Using RPM (continued)
Table 11-8 (continued): Common options used with the rpm utility
Linux+ Guide to Linux Certification, 3e 37
Installing Programs Using RPM (continued)
• Most RPM packages are located on Internet Servers– Called software repositories
• yum command: used to search Internet software repositories for RPM packages– Installs dependent packages if necessary– yum install packagename command– yum update packagename command– KPackageKit: graphical utility for installing or
updating packages
Linux+ Guide to Linux Certification, 3e 38
Installing Programs Using RPM (continued)
Figure 11-5: The KPackageKit utility
Linux+ Guide to Linux Certification, 3e 39
Summary
• Many compression utilities are available for Linux systems; each uses a different compression algorithm and produces a different compression ratio
• Files can be backed up to an archive using a backup utility– To back up files to CD-RW or DVD-RW, use burning
software instead of a backup utility
Linux+ Guide to Linux Certification, 3e 40
Summary (continued)
• tar is the most common backup utility used today– Typically used to create compressed archives called
tarballs
• Source code for Linux software can be obtained and compiled afterward using the GNU C Compiler– Most source code is available in tarball format via
the Internet
Linux+ Guide to Linux Certification, 3e 41
Summary (continued)
• Package Managers install and manage compiled software of the same format– The Red Hat Package Manager is the most common
package manager available for Linux systems today
• You can install or upgrade RPM packages using the yum command– yum command obtains RPM packages from software
repositories on the Internet