2009年11月5日木曜日

(Solaris8) gzipってファイルサイズ2GBまでだっけ? ~ あぁ、そういえば昔Solarisでファイルサイズが2GBになる制限があったっけ

たまには、ハードディスク内のファイルの整理。



ここ数年、まったく使ってないファイルを、tar+gzipで圧縮。



・・・しばらく時間がたって

gzip: stdout: File too large
tar: Failed write to archive volume: 1 (Broken pipe)
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file

おぉっ!?
2GBくらいのファイルができて、エラー終了してました。



あー、そういえば、昔、Solarisで、2GB以上のファイルを作るときは、なんか変なオプションが必要だったような気がする。
うーん、あまりにも昔のことで、忘れてました。



検索してみて、最初に見つけたのがこれ。参考になりました。

UNIXの部屋 コマンド検索: gzip
http://x68000.q-e-d.net/~68user/unix/pickup?gzip

gzipは、pkgsrcでインストールしたものを使っているので、こんな感じでいいんじゃないかな。ports同様に、pkgsrcも便利だね。



cd /usr/pkgsrc/archivers/gzip
bmake CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"



もう一度やってみる。
あ、またエラー。なんで?



おっと、今度はtarが、2GBでダメみたい?

tar: End of archive volume 1 reached
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file
tar: Unexpected EOF on archive file

tarもビルドしなおしかな。



cd /usr/pkgsrc/archivers/gtar-base
bmake CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"



うーん、まだダメだった。



あ、そうか。tarが違う。tarじゃなくて、gtarだった。



なにやってんだ [E:coldsweats01]





Solaris9だと、上記のようなオプションをつけて無くても大丈夫みたい。



「みたい」ってのは、ちゃんと動作確認してないから、自身をもって断言できないんです。



tar+gzipで、2GB以上のファイルを作るのって、けっこう時間がかかるんです。



それに、2GBもあるtar+gzipなファイルって、扱いづらいですね。



さらには、もしもファイルの途中でデータが壊れたりしたら、それ以降全滅です。



というわけで、もうちょっとましなバックアップ方法を使うべきだった、と学びました。



0 件のコメント:

コメントを投稿