1.3 tarでできること
tarは、tarアーカイブを作成する機能に加え、さまざまな操作を提供します。たとえば、以前に作成したアーカイブからファイルを展開する、ファイルを追加して格納する、すでに格納されているファイルを更新・一覧表示する、といった用途に使えます。
当初、tarアーカイブは、磁気テープにファイルを手軽に保存するために使われていました。tarという名前はこの用途に由来し、tape archiverを意味します。この名前にかかわらず、tarは、利用可能なデバイス、ファイル、あるいはパイプを使って他のプログラムへ出力できます。遠隔のデバイスやファイルにも、アーカイブとしてアクセスできます。
tarアーカイブにはさまざまな使い道があります。ここでは、そのうち保存、バックアップ、転送を取り上げます。
- 保存
tarアーカイブは、関連するファイルをまとめ、ネットワーク経由で手軽に転送するためによく使われます。たとえばGNUプロジェクトは、ソフトウェアをtarアーカイブにまとめて配布しています。これにより、あるプログラム(または関連するプログラム群)に関係するファイルを、ひとまとまりとして転送できます。磁気テープには複数のファイルを順番に保存できます。ただし、テープはそれらのファイルの名前を持たず、テープ上の相対的な位置だけを把握しています。1本のテープに複数のファイルを名前を保って保存する方法の1つが、
tarアーカイブを作ることです。FTPのように、転送の仕組み自体が名前を扱える場合でも、複数のファイル、ディレクトリ、リンクを扱う手間があるため、tarアーカイブは役立ちます。アーカイブファイルは長期保存にも使われます。これは、現在から未来への転送と考えることができます。(SFでは空間だけでなく時間も移動できるという表現があります。ここで言いたいのは、
tarは時間も含むあらゆる次元にアーカイブを移せる、ということです!)- バックアップ
tarで作成したアーカイブは、ファイル情報とディレクトリ構造を保持できるため、ディスクの完全バックアップや増分バックアップによく使われます。バックアップでは、複数のユーザーやプロジェクトに属する場合もあるファイル群を、ディスクやテープにまとめます。これにより、それらのファイルの情報が誤って失われることに備えられます。GNUtarには、ファイルシステム内の全ファイルについて、増分ダンプと完全ダンプを作成するための専用機能があります。- 転送
あるシステムでアーカイブを作成し、別のシステムへ転送して、そこで内容を展開できます。これにより、一群のファイルをシステム間で移せます。