FreeBSD QandA 76
Q. ダウンロードしてきた package がうまくインストールできなかったり、アー
カイヴファイル (.gz、.tgz、.bz2 .lzh .zip など) がうまく展開できません。
また、その為か ports/packages のインストールに失敗することがあります。
例えば、以下のようなエラーが出ます。
gzip: test.tar.gz: invalid compressed data--format violated
bunzip2: test.tar.bz2: data integrity (CRC) error in data
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF on archive file
tar: child returned status 1
ports の場合だと、
>> Checksum mismatch for xxx.tar.gz.
というエラーで止まってしまうことがあります。
A. 転送時にファイルが壊れた可能性があります。
・ブラウザなどを使ってファイルを get した場合、ファイルの転送がうまく
いかないことがあるようです。
バイナリデータをきちんと転送できるようにして再度 get し直してみるか、
(WWW ブラウザではなく) FTP client でファイルを転送してみて下さい。
・FTPクライアントを用いた場合、転送モードが ASCII モードになっていると
ファイルの中の 0x0d が 0x0d、0x0a に置き換えられてしまい正常に展開で
きません。転送モードをバイナリモードにして下さい。
リモートのファイルサイズが表示される場合は、転送後のファイルサイズと等
しいか比較して確認できます。(ただし、kb オーダーで表示されていたりする
と正しく比較できないこともあります)。
ports の場合は、転送はうまくいったものの、配布ファイルが変更されていて
MD5 チェックサムが変わってしまった為、チェックにひっかかっている可能性
もあります。
配布ファイルが名前を変更せずに更新されていた場合は、MD5 のチェックを無
視するようにしてもよいですが、第三者の手によって好ましくない変更が加え
られている可能性もあるので、きちんと確認すべきでしょう。
尚、DOS 用の tar には -a オプションを有するものがあり、これを指定して
展開しようとするとうまく行かないという報告があります。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。