[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00881] Re: tar file format
- Subject: [FDclone-users:00881] Re: tar file format
- From: Rikito INAKAZU <riki1017kazu@gmail.com>
- Date: Sun, 20 Jun 2010 22:46:48 +0900
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;d=gmail.com; s=gamma;h=domainkey-signature:received:received:date:from:to:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type:content-transfer-encoding;bh=yg690LhSHFpJb1T4IlafZ1ZktxJhXQ+ZZxubsV138Zk=;b=o1Z3vZmGdOTvJ08SLaBbKa2lYCUppyYZUMj8rF9ksunerCHpZ5/Foa6Tc1r+J8fn19+YNSwBsTxxRd8bUIss97Q0E1GVwRPHUZjBjK83xOMAjt5ji1dvrVd237XX+GMVjgx2BTe3LlH1blTQ3y6MEzGyk22cHUhVY3PRU1EsX50=
- Domainkey-signature: a=rsa-sha1; c=nofws;d=gmail.com; s=gamma;h=date:from:to:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type:content-transfer-encoding;b=KTDQINuHurebdjiJOQxVo+e/myd25Hn7m9uunv0qKhxNjraY/IUfaTL4W9i6zQ7mHPU7lXIzb+Zb2XZJooRRsYkQFVjOMM7kaXV6Zg8bFCSQGqcImBiA9INvyegAdV7zKh1k0nUKrDyWrJ1zfA5CshgHMzo/RQ64kBZpLaGNe3g=
稲員です。
On Sun, 20 Jun 2010 20:05:53 +0900
Takashi SHIRAI <shirai@unixusers.net> wrote:
> あれ?GNU tar 1.15.1 では A lone zero block の warning は
> 吐きませんでしたよ。ChangeLog には載ってないので検証が難しい
> ですが、もっと後なのでは?
> 私がこの warning を見始めたのもここ数年のことだと思うので、
> 時期的には 1.18 辺りなんじゃないかと思います。
おやっ?豊田さんによる元の指摘が GNU tar 1.15.1 によるものだった
はずですが、なにが違うんでしょうね?
私は ChangeLog の以下の箇所が該当すると思っていたんですが、実際に
旧版を build して調べたわけではないので違うのかもしれません。
この記述の後 2004-04-04 に 1.13.94 になっています。
> 2004-03-12 Sergey Poznyakoff <gray@Mirddin.farlep.net>
>
> * src/list.c (read_and): Stop processing the archive after
> encountering a single zero record. Many old archives contain
> arbitrary garbage after it.
> The warning is issued anyway.
On Sun, 20 Jun 2010 20:05:53 +0900
Takashi SHIRAI <shirai@unixusers.net> wrote:
> で、その結果判ったのは BSD な tar は zero block どころか、
> padding を全くしていないということです。
> HDD 上のゴミなんだか read buffer のゴミなんだか判りません
> が、file 終端はその周辺 file の一部で埋められていて、ぱっと
> 見では終端が判らない構造になってます。
uuencode なんかも半端な分はバッファのゴミをそのまま使いますし、
古き良き時代のスタイルなんでしょう。
> 流石にこういう形式だと GNU tar も warning を吐かずに処理し
> てくれますね。
>
> 因みにその他の tar ですが、*BSD や Solaris や Mac OS X 等、
> どれも 2 つ以上の zero block を作成してくれるようです。POSIX
> 規格なのかな?
POSIX.1 の pax の仕様の中で記述されています (私が確認したのは SUSv2
ですが、まあほとんど同じでしょう)。テキトー訳だと「最後の block group
は必ず full size 必要で、2 つの zero block の後ならゴミがあっても
かまわない」みたいな記述になってます。
IEEE Std 1003.1-2001 以降の POSIX.1 や SUSv3 ではコマンドとしての
tar の仕様は削除されてしまったようですが、フォーマットとしては pax の
仕様中で言及されているようです。
> > あと、これ書いてる途中もう一度 GNU tar 1.23 で FD-3.00h.tar.gz を
> > 展開してメッセージを見直そうとしたところ、 LANG=ja_JP.eucJP で実行し
> > てしまった為に日本語のメッセージが表示されたのですが、翻訳が「7980 に長い
> > ゼロブロック」となっており、どうやら "A lone" を "A long" と勘違いして
> > 誤訳されてしまっているようで余計に意味不明になってました。
>
> これってずっと前からそうなってますよ。ただ、元の英語も意味
> 明瞭な訳ではないので、誰も気にしてないだけのことだと思います。
ええ、多分最初からでしょう。でも、元が明瞭でないからといって誤訳の
ままでも良いとは思えないので、報告して修正してもらいました。
そもそも、私もこんな warning を出す意義を感じないので、元の記述を
書き直そうとまでは思いませんし、だからといって仕様について議論して
までデフォルトでメッセージを出さないようにさせようとも思いませんが。
> 昔、知合いに指摘されたことがあるんですが、世の中には特殊な
> 事情で稼働している computer もあって、その特殊さ故に大量消費
> 型の proprietary から取り残されることがままあるんです。
> 毎日電源を落とせないどころか、大きな工場だと再起動に何日も
> かかるので、頻繁に更新を要求される Windows なんか論外だそう
> ですよ。
> そういうところでは未だに MS-DOS やら CP/M やらが現役で活躍
> してるんですが、余りに旧式過ぎて大手メーカはどこもメンテして
> くれないんだとか。
>
> 私は、そういうところまで救済してこその free software だと
> 思っています。新しい技術やデバイスに追随するばかりではなくて、
> たまには後ろも振り向いてあげないとね。
私はそこまで深刻な事情を抱えたことはありませんが、たまにきまぐれで
古い環境を使ったりする時に最新版が未修正で build できて動作も完璧
だと素直に感動しますね。
FDclone もいまだに DOS/V, PC98 版が当たり前のように提供されて
いて、そのモチベーションの高さに感心します。
--
Rikito INAKAZU (稲員力士) <riki1017kazu@gmail.com>