• ベストアンサー

tbz、tgz、ソースファイル?バイナリファイル?

Unixをやるようになったんですが、色々なソフトをダウンロードしようとおもったところ、色々な拡張子があり困っています。 tbzは「bzip2で圧縮されたtarファイル。」tgzは「gzipで圧縮されたtarファイル。」とかいてあります。bzip2とgzipの違いはなんでしょうか?単に圧縮率の違いだけなんでしょうか? また、色々なOSの本を読んでいるうちに混乱してしまったのですが、tbz、tgzとも中身はソースコードの場合とバイナリコードの場合があるんでしょうか? 今の主流は、バイナリコードを配布するのが主流でしょうか?それとも、ソースコードを配布して自分でコンパイル・インストールするということもあるのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

bzip2とgzipでは圧縮アルゴリズムが異なっており、gzipで圧縮したファイルはbzip2で伸長できませんし、逆もできません。 bzip2のほうが後発なので、圧縮率は高いですが、圧縮アルゴリズムが複雑な分、gzipの方が高速で使いやすい場合もあります。 まあ、WinZIPとLHAぐらいに別物と考えれば。 > tbz、tgzとも中身はソースコードの場合とバイナリコードの場合があるんでしょうか? そういった区別は、tarとかbzip2/gzipにとっては余り意味がありません。例えばtbzを展開した中身が単なるExcelファイルだったりしても全然かまわないわけで。tarやbzip2/gzipは単なるファイルやバイトストリームを操作してるだけなのです。 ここらへん、man tarや、man gzipなどとやると背景情報などが書かれてたりしますので、そういった部分も読んでみては。 > それとも、ソースコードを配布して自分でコンパイル・インストールするということもあるのでしょうか? FreeBSDのPortsやGentoo Linuxのportageは、ソースからコンパイルしてくれます。FreeBSDにはバイナリをインストールするPackageという仕組みもあったりしますので、適宜使い分けがなされてゆくと思われます。

kamkamkam3
質問者

お礼

どうも詳しい解説ありがとうございました。 tbzやtgzが「ソースコード」「バイナリコード」との関連性がないと聞き、参考になりました。また、gzipとbzip2の歴史やそれぞれの長所がわかり、違いが分かりました。おっしゃるとおり、WinzipとLhaの違いくらいですね。 教えていただいたとおり、マニュアルも見てみようと思います。昨日FreeBSDのマニュアルを日本語化しました(成功しているかどうかは確認してませんが・・)。 FreeBSDのアプリケーションのインストールもPortsとパッケージが主流みたいですね。 私は初心者なので、大変参考になりました。お二方の説明のおかげでだいぶ理解がすすみました。 どうもありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

細かく多岐にわたるファイルを一つにまとめる アーカイブとファイルの容量を小さくする 圧縮は、わけて考えてください。 それを複合的に使用してtgzなどができあがります。 アーカイブの方法、圧縮の方法によりファイル 形式はちがいますし、圧縮解凍するソフトも ちがいます。何がちがうというというとたいていの 圧縮は静的ハフマン法に基づいているので 対して違いませんが、ソフト毎に拡張されて 特徴があるので、具体的には使ってみないと 理解できないと思います。とりあえずは違うという ことだけ理解すればよいでしょう。 さて、最近はあまりソースからのコンパイルは 主流ではないですね。 バージョンアップや初期設定など apt,yum,up2dateなどの方がサスガにやりやすい でしょうしね。 オプションをいろいろ試したいわたしとしては なるべくソースからのコンパイルをするように しています。 メンテをとるか拡張性をとるかという感じですかね。

kamkamkam3
質問者

お礼

どうもありがとうございます。 「ファイルを1つにまとめる」と「圧縮」を分けて考えるんですね。「両方ともしてあるよ」というのが、tbzやtgzとなるわけですね。 圧縮方法(ソフト)の違いも対象となるファイル毎に適したものがあるということですね。 おかげさまでだいぶスッキリしました。また、ソースからのコンパイルの長所や現状も解説していただき大変参考になりました。 Unix初心者なので、でてくる度に「なんだろう?」と思っていて非常に苦心していたので、おかげさまで助かりました。 どうもありがとうございました。