apacheで公開されているディレクトリに4.7GBぐらいのファイルを置いて、
友達にダウンロードさせようとしたところ、「ファイルが見えない!」と言われた。
確かに、ブラウザから見えるディレクトリ内ファイルの一覧(+Indexes利用)に表示されない。
しかし、サーバ上のディレクトリを確認すると4.7GBのファイルは確かに存在している。
しかたがないので分割ダウンロードさせた。
環境
$ uname -a Linux localhost 2.6.9-55.0.12.EL #1 Fri Nov 2 10:57:39 EDT 2007 i686 i686 i386 GNU/Linux $ rpm -qa | grep httpd system-config-httpd-1.3.1-1 httpd-suexec-2.0.52-32.3.ent.centos4 httpd-devel-2.0.52-32.3.ent.centos4 httpd-manual-2.0.52-32.3.ent.centos4 httpd-2.0.52-32.3.ent.centos4
access.logの内容
192.168.xxx.yyy - - [03/Feb/2008:21:52:04 +0900] "GET /DEKAI.ISO HTTP/1.1" 403 428 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
error.logの内容
[Sun Feb 03 21:52:04 2008] [error] [client 192.168.xxx.yyy] (75)Value too large for defined data type: access to /DEKAI.ISO failed
ログの内容が示すとおり、デカ過ぎるのが問題らしい。
同じ症状の人をvdrめも – Large File Support の日 – apache2 2GB, 4GB の壁。発見するも、apacheのコンパイルが必要?
面倒なので、splitコマンドでファイルを分割することにした。
$ ll -rwxr--r-- 1 squld squld 4649607168 2月 24 2006 DEKAI.ISO $ split -b 1073741824 DEKAI.ISO DEKAI.ISO. $ ll -rwxr--r-- 1 squld squld 4649607168 2月 24 2006 DEKAI.ISO -rw-r--r-- 1 squld squld 1073741824 2月 3 21:57 DEKAI.ISO.aa -rw-r--r-- 1 squld squld 1073741824 2月 3 21:59 DEKAI.ISO.ab -rw-r--r-- 1 squld squld 1073741824 2月 3 22:01 DEKAI.ISO.ac -rw-r--r-- 1 squld squld 1073741824 2月 3 22:02 DEKAI.ISO.ad -rw-r--r-- 1 squld squld 354639872 2月 3 22:03 DEKAI.ISO.ae
これでブラウザからも見れるようになった。
windows用結合バッチファイルは以下の通り。
$ cat join.bat COPY /B DEKAI.ISO.aa +DEKAI.ISO.ab +DEKAI.ISO.ac +DEKAI.ISO.ad +DEKAI.ISO.ae DEKAI.ISO
分割ファイルと同じディレクトリにjoin.batを置いて、起動すれば結合される。
おしまい。
0件のコメント