データ圧縮の保存形式について調べた。

昔「セキュリティパッチをダウンロードしてください」と言われて、ダウンロードサイトにいったら、.tarとか.gzとかいろんな拡張子があって、どれをダウンロードしたら良いかわからなかったので、調べた。

 

実際は、Mac OSを使っていたので、アップルが公式に提供しているパッチをダウンロードした。GNU Projectのサイトには色々な形式で圧縮されたファイルが置いてある。

GNU Project Archives

 

f:id:bambinya:20150426100654p:plain

ちなみにパッチとは、変更前と変更後のファイルのdiffをとったもの。diffコマンドを使って、パッチファイルを作ったり、適用したりできる。今度自分でもやってみよう。

 

.gz

GNU zipの略。

 

.bzip2

なぜBがついているのだろうか。圧縮のためにBurrows–Wheeler transformという変換方式を用いるから、、、だと思われる。bzip2の方がgzより圧縮率が優れている。ネットワーク経由で配布される比較的サイズの大きなファイルの圧縮に用いられることが多く、代表的なものとしては、Linuxカーネルソースコード群がある。

 

.tar

「ター」と読む。tape archives の略。

ファイルアーカイブの保存形式。tarballと呼ばれることもある。本来tarが行うのは、アーカイブ、つまり複数のファイルをまとめることのみで、圧縮の機能はない。そのため、大半の場合にはtarでアーカイブをした後、他の圧縮方法を用いて圧縮を行う。(compressやgzip、bzip2など)

これにより、ファイルの拡張子はそれぞれ下記のようになる。

.tar.Z (.taz)

.tar.gz (.tgz)

.tar.bz2

この形式はファイルが一部でも破損した場合、破損箇所に含まれていたファイル以降は取り出すことができない。

<圧縮の流れ>

f:id:bambinya:20150523144912p:plain

 

.sig  /  .asc  /  .pgp

signature(署名)  /  ASCII  /  Pretty Good Privacy  の略。電子署名付きのファイル。

ダウンロードしたファイルが信頼できるかどうか、PGPコマンドを使って検証できる。

 

.rar

「ラー」とか「アールエーアール」とか読む。

データ圧縮形式の一つ。ZIPに比べ、高い圧縮率である。一種のハミング符号を付加することで、圧縮ファイルの破損をある程度まで修復することができる。ハミング符号とは,データに冗長ビットを付加して, 1ビットの誤りを訂正できるようにしたもの。この機能をリカバリレコードと呼び、この機能は他の圧縮形式にはあまり見られない特徴である。また、一定のサイズごとに分割して圧縮することができる。WinRAR や MacRAR などの専用ソフトウェアで圧縮・解凍を行う。