The tar Command Tape−Related Commands

Robotics devices • A number of different robotics devices tape changers, juke boxes, etc. are widely used today. They enable flexible, unattended backups within large computer networks, with automatic mounting and dismounting of requested tapes. Equipped with bar code readers, they can fulfill various backup demands. Floppy disk • A floppy disk drive is a well−known, cheap, and reliable device. However, the capacity of a floppy disk is extremely small, and it cannot be a reasonable backup option; an average filesystem backup can easily use several hundred diskettes. A floppy drive can efficiently be used to back up a few files.

12.2 Tape−Related Commands

UNIX provides a complete suite of commands designed for data archival. The commands range from those suitable to save a single file, several files, and a directory structure, up to those commands for an elaborate backup of a complete filesystemfilesystems. Of course, the reverse process is also covered: corresponding commands for data restoration recovery are also available. All these commands are also widely implemented within the available UNIX backuparchiverestore tools, forming powerful and sophisticated vehicles for handling this unavoidable UNIX task. Originally, all these UNIX commands were tape related, i.e., tape was assumed to be the archive media. We will discuss most of the UNIX commands of this type, which are divided into two basic groups: Tape−related commands, designed to backup and restore individual files tofrom a magnetic tape 1. Filesystem−related commands, designed for more elaborated archivalrestoration 2. The UNIX commands belonging to the first group are generally available on almost all UNIX platforms; these include tar and cpio, and the dd command. In addition, the mt command is available to control the tape itself rewinding, erasing, retention, etc.. The listed commands overlap in some respects, but each of the commands has a specific mission, unique to the command itself. There are other, flavor−specific commands as well for example, bar on SunOS, or tcio on HP−UX — they will not be covered in this text.

12.2.1 The tar Command

The tar command saves and restores files to and from archive media, usually a tape, but also any other media, such as floppy disks or others. The tar command can also be used to copy files to other files. The origin of the name tar is tape archiving, which obviously describes the nature of this command. It saves files, a kind of compression is applied, and a single archive file is created. When it restores files, tar decompresses them and returns them to their original forms. The syntax of the tar command is: tar key[options] [filenames] where filenames The files on the specified directory, or the name of the file key[option] Determines what action the tar command will take 274 Key Function r Append filenames to an existing archive does not work on most tapes x Extract filenames from the archive; if a directory is specified, it is recursively extracted t Print the names of the specified files each time they occur in archive and extract them u Add filenames to the archive only if they are not already there or if they are modified in the meantime c Create a new archive and write filenames to it, destroying any existing files Option Function Modifier number Selects the tape or disk drive with the number; if missing, the default drive is selected b number Specifies the blocking factor for archive records; the default is 20 for standard input it is always 1 h Forces tar to follow symbolic links as if they were normal files and directories, otherwise, tar archives only a path of the linked file or directory v Causes tar to display the name of each of the files it reads or writes w Displays the action to be performed on each file and waits for confirmation f argument Causes tar to use the device or file specified by the argument instead of the default one, standard input or output is specified by a hyphen − l Causes tar to display a message if there is a problem m Causes tar to set the current time rather than original one when extracting k number Specifies the size of archive as number kB min. 250 e Prevents files from being split across backup volumes tapes or floppies. If a file does not fit, tar prompts for a new volume; this option can only be used together with the k option Note: All options can be used without the usual hyphen −; however, most UNIX flavors allow also the use of the hyphen. The reference directory is the current directory. This is not a complete list, other options are also possible — check the manual pages. Default values are usually defined in a separate file, such as etcdefaultarchive or etcdefaulttar. The tar command is very popular among UNIX administrators; they like this command and use it frequently. The main reasons for this popularity are: It is an easy to use and flexible command. • It preserves file ownership and mode if it is used by the superuser. • It compresses data, creating a single archive file. • The tar command can both tararchive and untar extract data. • The tar command is often used to transfer files or directory hierarchies from one place to another, especially in a networked environment. The selected files are first tar−ed, then transferred as a single archive file to the destination, and at the end untar−ed. Besides the fact that it is easier to handle and copy a single file, tar also preserves files ownership, modes, and time stamps. Tar also handles symbolic links on most UNIX platforms there is the option to copy a link or follow a link and copy a linked file. Pay attention that un tar−ing is always performed in the reverse way from the original tar−ing. This means that archived files with absolute pathnames can be extracted only into their original 275 In most cases the use of the tar command involves the following command options: To tar data create an archive: tar −cvf devrmtmt_device files_to_tar • To list the archive tar−ed data: tar −tvf devrmtmt_device • To untar extract all tar−ed data: tar −xvf devrmtmt_device • To untar extract selected tar−ed data: tar −xvf devrmtmt_device files_to_untar • Using the v verbose option to show exactly what tar is doing is recommended. Sometimes, it can take quite a while for the command to terminate, and it is always good to know what happens in the meantime.

12.2.2 The cpio Command