2011/04/13

Linuxではzip圧縮の4GB制限をtarコマンドで越えましょう

32bitのLinuxサーバで、単一のファイルを圧縮しようと思い立ちました。
参考までに既存のシェルを除くと、

# tar czvf xxx.txt

と、何故かtarコマンドを使っています。

そんなのzipコマンドで良いんじゃないの?
ということで、そちらを実行したところ見事にエラーが発生。

# zip xxx.txt
zip error: Entry too big to split, read, or write (file exceeds Zip's 4GB uncompressed size limit)

んー。google先生に聞いてみよう。

おえかきWindows: ZIPの4GB制限

調べてみるとzipは基本的に 4GB制限 があり、それ以上のファイルを扱うには64bit拡張に対応したzipソフトを使わなければならないとのことです。よくよく考えてみたらzipを使う理由も特にありませんし、改めてgzipで圧縮 して保管するように修正して事なきを得ました(えー)。

ということで、どうやらzipコマンドでは、
4GB以上のファイルが圧縮できないようです。
でも、gzipならいけるようですね。

では、早速。

# gzip xxx.txt

lsで確認すると、xxx.txt.gzがちゃんとできていました。

でも、元ファイルがなくなってるYo!

ふ〜。あぶない×2。
gzipは元ファイルを消しちゃう仕様なんですね。
大事なファイルだったらと思うとゾッとします。。。(-_-;

そして結局、

# tar czvf xxx.txt

に行き着いたとさ。
おしまい。


See also:
Windowsで2GBを超えるzipファイルが壊れる
  このエントリーをはてなブックマークに追加
tsutaken at 12:45│Comments(0)技術 | Linux

コメントする

名前
 
  絵文字