ファイルアーカイバ
From Wikipedia, the free encyclopedia
ファイルアーカイバ(英: file archiver)は、複数のファイルを一つのアーカイブファイルまたは一連のアーカイブファイルにまとめ、転送や保管を容易にするコンピュータプログラムである。ファイルアーカイバは、アーカイブのサイズを縮小するために、アーカイブフォーマットで可逆圧縮を使用する場合がある。
基本的なアーカイバは、ファイルのリストを取得し、その内容を順に連結してアーカイブする。アーカイブファイルには、適切な再構築が可能な場合、少なくとも元のファイルの長さなどのメタデータを保存する必要がある。より高度なアーカイバは、ファイル名、元のタイムスタンプ、ファイル属性、アクセス制御リストなどの追加のメタデータを保存する。
Unixのアーカイバ
Unixツールのar、tar、cpioはアーカイバとして機能するが、圧縮ツールとしては機能しない。Unixツールのユーザーは、gzip、bzip2、xzなどの追加の圧縮ツールを使用し、アーカイブファイルを作成した後に圧縮し、アーカイブファイルを展開する前にはファイルを解凍する。拡張子は、このプロセスの各ステップで順次追加される。たとえば、tarを使用して一連のファイルをアーカイブし、その結果得られたアーカイブファイルをgzipで圧縮する。拡張子としては.tar.gzとなる。
このアプローチには二つの目的がある。
- 一つのツールですべてを実行しようとするのではなく、各プログラムが一つのタスクを完璧に実行するというUNIX哲学に従う。圧縮技術が進歩するにつれ、ユーザーはアーカイバを変更したり放棄したりすることなく、さまざまな圧縮プログラムを使用できる。
- アーカイブはソリッド圧縮を使用する。ファイルが結合されることで、圧縮ツールは複数のアーカイブファイルにわたる冗長性を活用し、各ファイルを個別に圧縮する方法よりも高い圧縮率を実現できる。
しかし、このアプローチには欠点もある。
- 一つのファイルを抽出または変更するのが困難である。一つのファイルを抽出または変更するには、アーカイブ全体を展開する必要があり、時間とディスクスペースを消費する可能性がある。
- アーカイブが破損しやすい。複数のファイルの共有データを保持する領域が破損すると、それらのファイルはすべて失われる。