Linux下解压超过4G的zip文件

来源:互联网 时间:1970-01-01

从Windows平台通过FTP上传一个大小约为6G的zip文件到Linux系统(Oracle Linux Server release 5.7)上,解压过程中出现如下错误:

 1: [[email protected] tmp]# unzip -n OracleLinuxandPataches.zip -d /u02/tmp

 2: error: Zip file too big (greater than 4294959102 bytes)

 3: Archive: OracleLinuxandPataches.zip

 4: warning [OracleLinuxandPataches.zip]: 2107863523 extra bytes at beginning or within zipfile

 5: (attempting to process anyway)

 6: error [OracleLinuxandPataches.zip]: start of central directory not found;

 7: zipfile corrupt.

 8: (please check that you have transferred or created the zipfile in the

 9: appropriate BINARY mode and that you have compiled UnZip properly)



                                                                                                 截图如下

                    

从网上搜索了一下相关资料,发现是当前的unzip版本不支持4G以上的压缩包。要么升级到最新版本的unzip,要么使用7-Zip forLinux版本的的p7zip。

如下所示,当前的unzip版本为5.52

 1: [[email protected]gsp database]# unzip -v

 2: UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send

 3: bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

 4:  

 5: Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;

 6: see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.

 7:  

 8: Compiled with gcc 4.1.2 20080704 (Red Hat 4.1.2-44) for Unix (Linux ELF) on Apr 8 2009.

 9:  

 10: UnZip special compilation options:

 11: COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)

 12: SET_DIR_ATTRIB

 13: TIMESTAMP

 14: USE_EF_UT_TIME

 15: USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)

 16: USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)

 17: VMS_TEXT_CONV

 18: [decryption, version 2.9 of 05 May 2000]

 19:  

 20: UnZip and ZipInfo environment options:

 21: UNZIP: [none]

 22: UNZIPOPT: [none]

 23: ZIPINFO: [none]

 24: ZIPINFOOPT: [none]



于是我从http://sourceforge.net/projects/p7zip/files/p7zip/上下载了p7zip_9.20.1_src_all.tar.bz2 安装包文件。

 1: [[email protected] tmp]# tar -xjpf p7zip_9.20.1_src_all.tar.bz2

 2: [[email protected] tmp]cd p7zip_9.20.1

 3: [[email protected] p7zip_9.20.1]# make && make install

 4: mkdir -p bin

 5: make -C CPP/7zip/Bundles/Alone all

 6: make[1]: Entering directory `/u02/tmp/p7zip_9.20.1/CPP/7zip/Bundles/Alone'

 7: g++ -O -pipe -s -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DNDEBUG -D_REENTRANT -DENV_UNIX -D_7ZIP_LARGE_PAGES -DBREAK_HANDLER -DUNICODE -D_UNICODE -c -I. -I../../../myWindows -I../../../ -I../../../include_windows ../../../myWindows/myGetTickCount.cpp

 8: make[1]: g++: Command not found

 9: make[1]: *** [myGetTickCount.o] Error 127

 10: make[1]: Leaving directory `/u02/tmp/p7zip_9.20.1/CPP/7zip/Bundles/Alone'

 11: make: *** [7za] Error 2

 12:  



结果安装过程中出现上面错误,出现上面错误是因为这台服务器是刚安装的测试服务器,还没有安装gcc和gcc-c++包。

 1: [[email protected] Server]# rpm -q gcc gcc-c++

 2: package gcc is not installed

 3: package gcc-c++ is not installed



于是配置YUM源后,安装gcc 和 gcc-c++

 1: [[email protected] yum.repos.d]# more rhel-debuginfo.repo 

 2: [rhel-debuginfo]

 3:  

 4: name=Red Hat Enterprise Linux LOCAL SOURCE

 5:  

 6: baseurl=file:///mnt/cdrom/Server

 7:  

 8: enabled=1

 9:  

 10: gpgcheck=0

 11:  

 12:  

 13:  

 14: [[email protected] yum.repos.d]# yum install gcc

 15: Loaded plugins: rhnplugin, security

 16: This system is not registered with ULN.

 17: ULN support will be disabled.

 18: Setting up Install Process

 19: Resolving Dependencies

 20: --> Running transaction check

 21: ---> Package gcc.x86_64 0:4.1.2-51.el5 set to be updated

 22: --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc

 23: --> Running transaction check

 24: ---> Package glibc-devel.x86_64 0:2.5-65 set to be updated

 25: --> Processing Dependency: glibc-headers = 2.5-65 for package: glibc-devel

 26: --> Processing Dependency: glibc-headers for package: glibc-devel

 27: --> Running transaction check

 28: ---> Package glibc-headers.x86_64 0:2.5-65 set to be updated

 29: --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers

 30: --> Processing Dependency: kernel-headers for package: glibc-headers

 31: --> Running transaction check

 32: ---> Package kernel-uek-headers.x86_64 0:2.6.32-200.13.1.el5uek set to be updated

 33: --> Finished Dependency Resolution

 34:  

 35: Dependencies Resolved

 36:  

 37: ====================================================================================================================================

 38: Package Arch Version Repository Size

 39: ====================================================================================================================================

 40: Installing:

 41: gcc x86_64 4.1.2-51.el5 rhel-debuginfo 5.3 M

 42: Installing for dependencies:

 43: glibc-devel x86_64 2.5-65 rhel-debuginfo 2.4 M

 44: glibc-headers x86_64 2.5-65 rhel-debuginfo 594 k

 45: kernel-uek-headers x86_64 2.6.32-200.13.1.el5uek rhel-debuginfo 724 k

 46:  

 47: Transaction Summary

 48: ====================================================================================================================================

 49: Install 4 Package(s)

 50: Upgrade 0 Package(s)

 51:  

 52: Total download size: 9.0 M

 53: Is this ok [y/N]: y

 54: Downloading Packages:

 55: ------------------------------------------------------------------------------------------------------------------------------------

 56: Total 2.6 GB/s | 9.0 MB 00:00 

 57: Running rpm_check_debug

 58: Running Transaction Test

 59: Finished Transaction Test

 60: Transaction Test Succeeded

 61: Running Transaction

 62: Installing : kernel-uek-headers 1/4 

 63: Installing : glibc-headers 2/4 

 64: Installing : glibc-devel 3/4 

 65: Installing : gcc 4/4 

 66:  

 67: Installed:

 68: gcc.x86_64 0:4.1.2-51.el5 

 69:  

 70: Dependency Installed:

 71: glibc-devel.x86_64 0:2.5-65 glibc-headers.x86_64 0:2.5-65 kernel-uek-headers.x86_64 0:2.6.32-200.13.1.el5uek 

 72:  

 73: Complete!

 74: [[email protected] yum.repos.d]# yum install gcc-c++

 75: Loaded plugins: rhnplugin, security

 76: This system is not registered with ULN.

 77: ULN support will be disabled.

 78: Setting up Install Process

 79: Resolving Dependencies

 80: --> Running transaction check

 81: ---> Package gcc-c++.x86_64 0:4.1.2-51.el5 set to be updated

 82: --> Processing Dependency: libstdc++-devel = 4.1.2-51.el5 for package: gcc-c++

 83: --> Running transaction check

 84: ---> Package libstdc++-devel.x86_64 0:4.1.2-51.el5 set to be updated

 85: rhel-debuginfo/filelists | 3.1 MB 00:00 

 86: --> Finished Dependency Resolution

 87:  

 88: Dependencies Resolved

 89:  

 90: ====================================================================================================================================

 91: Package Arch Version Repository Size

 92: ====================================================================================================================================

 93: Installing:

 94: gcc-c++ x86_64 4.1.2-51.el5 rhel-debuginfo 3.8 M

 95: Installing for dependencies:

 96: libstdc++-devel x86_64 4.1.2-51.el5 rhel-debuginfo 2.8 M

 97:  

 98: Transaction Summary

 99: ====================================================================================================================================

 100: Install 2 Package(s)

 101: Upgrade 0 Package(s)

 102:  

 103: Total download size: 6.6 M

 104: Is this ok [y/N]: y

 105: Downloading Packages:

 106: ------------------------------------------------------------------------------------------------------------------------------------

 107: Total 3.5 GB/s | 6.6 MB 00:00 

 108: Running rpm_check_debug

 109: Running Transaction Test

 110: Finished Transaction Test

 111: Transaction Test Succeeded

 112: Running Transaction

 113: Installing : libstdc++-devel 1/2 

 114: Installing : gcc-c++ 2/2 

 115:  

 116: Installed:

 117: gcc-c++.x86_64 0:4.1.2-51.el5 

 118:  

 119: Dependency Installed:

 120: libstdc++-devel.x86_64 0:4.1.2-51.el5 

 121:  

 122: Complete!

 123: [[email protected] yum.repos.d]# 

 124:  



然后使用[[email protected] p7zip_9.20.1]# make && make install安装好p7zip后,使用7za x OracleLinuxandPataches.zip成功解压该zip压缩文件。

 1: [[email protected] tmp]# 7za x OracleLinuxandPataches.zip 

 2:  

 3: 7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18

 4: p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

 5:  

 6: Processing archive: OracleLinuxandPataches.zip

 7:  

 8: Extracting Oracle Linux and Pataches

 9: Extracting Oracle Linux and Pataches/OEL5.7_x85-64

 10: Extracting Oracle Linux and Pataches/OEL5.7_x85-64/V27570-01.zip

 11: Extracting Oracle Linux and Pataches/ora10gr2

 12: Extracting Oracle Linux and Pataches/ora10gr2/10201_companion_linux_x86_64[1].cpio.gz

 13: Extracting Oracle Linux and Pataches/ora10gr2/10201_database_linux_x86_64[1].cpio.gz

 14: Extracting Oracle Linux and Pataches/ora10gr2/instruction.doc

 15: Extracting Oracle Linux and Pataches/ora10gr2/p6810189_10204_Linux-x86-64.zip

 16: Extracting Oracle Linux and Pataches/ora10gr2/p6810189_Oracle庐 Database Patch Set Notes.htm

 17: Extracting Oracle Linux and Pataches/ora10gr2/p6810189_Oracle庐 Database Patch Set Notes_files

 18: Extracting Oracle Linux and Pataches/ora10gr2/p6810189_Oracle庐 Database Patch Set Notes_files/oracle.gif

 19:  

 20: Everything is Ok

 21:  

 22: Folders: 4

 23: Files: 7

 24: Size: 6403564486

 25: Compressed: 6402832490

 26: [[email protected] tmp]# 




相关阅读:
Top