「圧縮ファイル」と「アーカイブファイル」の違い、知っていますか?
「圧縮ファイル」とは
「圧縮ファイル」は、その名の通り「圧縮アルゴリズムによりサイズを小さくしたファイル」です。通常、「圧縮ファイル」には「元に戻すことができる可逆圧縮」が用いられます。データを利用する際に、元のデータに伸張されます。ファイルサイズが小さくなれば、ストレージ容量が節約でたり、別ストレージへの転送や、ネットワークを介した転送にかかる時間が短くなるといったメリットがあります。
(なお、多くの画像ファイルや動画ファイル、音声ファイルといったファイルも、一種の圧縮ファイルであると言えます。これらのファイルには、多くの場合「劣化を伴う非可逆圧縮」が用いられます。劣化を許容することにより、高能率圧縮が可能となり、ファイルサイズをより小さくすることができるためです。)
「アーカイブファイル」とは
インターネットでソフトウェアを配布したり、特定のディレクトリをバックアップしたりする場合に、複数ファイルのデータとメタデータ(ディレクトリ、ファイル名、所有者や所有グループ、ファイルモードや日時など)を1つのファイルにまとめると便利です。この複数ファイルをまとめたファイルを「アーカイブファイル」と呼びます。
「圧縮ファイル」と「アーカイブファイル」が混同される理由
アーカイブファイルを作るとき、ファイルサイズを小さくするため、同時に圧縮を行うのが一般的です。Windowsで広く使われる「ZIP」や、日本でパソコン通信時代から使われている「LHA」、データの破損をある程度修復できる「RAR」、「LZMA」など高効率の圧縮方式に対応した「7z」といったファイルフォーマットは、「アーカイブ」と「圧縮」を兼ねた「圧縮アーカイブ」です。
一方Linuxにおいては、広く使われているアーカイバー「tar」自身は圧縮の機能は持ちません。しかし、オプション指定により「gzip」「bzip2」「xz」といった圧縮プログラムに「フィルター」して「圧縮アーカイブ」を作成する機能を備えているため、ユーザーから見れば「tar」が圧縮も行っているかのように感じられることが多いでしょう。
このように、多くの環境で「圧縮」と「アーカイブ」はワンセットで用いられ、「圧縮アーカイブ」として作成するのが常であるため、「圧縮ファイル」と「アーカイブファイル」は混同されがちであると言えるでしょう。
コメント
LHAは圧縮しないアーカイブだけもできますね。ZIPはできたかな?