ファイルアーカイバ()は、複数のファイルを一つのアーカイブファイルまたは一連のアーカイブファイルにまとめ、転送や保管を容易にするコンピュータプログラムである。ファイルアーカイバは、アーカイブのサイズを縮小するために、アーカイブフォーマットで可逆圧縮を使用する場合がある。
基本的なアーカイバは、ファイルのリストを取得し、その内容を順に連結してアーカイブする。アーカイブファイルには、適切な再構築が可能な場合、少なくとも元のファイルの長さなどのメタデータを保存する必要がある。より高度なアーカイバは、ファイル名、元のタイムスタンプ、、アクセス制御リストなどの追加のメタデータを保存する。
歴史 初期のアーカイバはMulticsのコマンドであり、同じ名前のCTSSコマンドから派生した。これは基本的なアーカイバであり、圧縮は行わなかった。Multicsには、と略されるコマンドもあり、これはおそらくUnixコマンドの前身であった。
Unixのアーカイバ Unixツールのar、tar、cpioはアーカイバとして機能するが、圧縮ツールとしては機能しない。Unixツールのユーザーは、gzip、bzip2、xzなどの追加の圧縮ツールを使用し、アーカイブファイルを作成した後に圧縮し、アーカイブファイルを展開する前にはファイルを解凍する。拡張子は、このプロセスの各ステップで順次追加される。たとえば、を使用して一連のファイルをアーカイブし、その結果得られたアーカイブファイルをで圧縮する。拡張子としてはとなる。
このアプローチには二つの目的がある。
一つのツールですべてを実行しようとするのではなく、各プログラムが一つのタスクを完璧に実行するというUNIX哲学に従う。圧縮技術が進歩するにつれ、ユーザーはアーカイバを変更したり放棄したりすることなく、さまざまな圧縮プログラムを使用できる。 アーカイブはソリッド圧縮を使用する。ファイルが結合されることで、圧縮ツールは複数のアーカイブファイルにわたる冗長性を活用し、各ファイルを個別に圧縮する方法よりも高い圧縮率を実現できる。
しかし、このアプローチには欠点もある。
一つのファイルを抽出または変更するのが困難である。一つのファイルを抽出または変更するには、アーカイブ全体を展開する必要があり、時間とディスクスペースを消費する可能性がある。 アーカイブが破損しやすい。複数のファイルの共有データを保持する領域が破損すると、それらのファイルはすべて失われる。
MS-DOSのアーカイバ (MS-)DOSでは、マルチプロセスでなくパイプは一時ファイルを使った擬似的な実現であったため、アーカイブとデータ圧縮は同時に行うツールがもっぱらであった。
Windowsのアーカイバ Microsoft Windowsの組み込みアーカイバや、WinRAR、7-Zipなどのサードパーティ製アーカイブソフトウェアでは、多くの場合、グラフィカルユーザインタフェースが使用される。また、オプションとしてコマンドラインインタフェースを提供するものもあるが、Windows自体には提供されていない。Windowsのアーカイバは、アーカイブと圧縮の両方を実行する。ソリッド圧縮は圧縮ツールによって提供される場合と提供されない場合がある。Windows自体はソリッド圧縮をサポートしていないが、WinRARと7-zipではオンまたはオフにできるオプションとして提供されている。
関連項目
脚注