Linux下解压超过4G的zip文件
2014-01-09 11:52 潇湘隐者 阅读(28088) 评论(0) 编辑 收藏 举报
从Windows平台通过FTP上传一个大小约为6G的zip文件到Linux系统(Oracle Linux Server release 5.7)上,解压过程中出现如下错误:
1: [root@gsp 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: [root@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: [root@gsp tmp]# tar -xjpf p7zip_9.20.1_src_all.tar.bz2
2: [root@gsp tmp]cd p7zip_9.20.1
3: [root@gsp 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: [root@gsp Server]# rpm -q gcc gcc-c++
2: package gcc is not installed
3: package gcc-c++ is not installed
于是配置YUM源后,安装gcc 和 gcc-c++
1: [root@gsp 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: [root@gsp 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: [root@gsp 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: [root@CEG-eSCM yum.repos.d]#
124:
然后使用[root@gsp p7zip_9.20.1]# make && make install安装好p7zip后,使用7za x OracleLinuxandPataches.zip成功解压该zip压缩文件。
1: [root@gsp 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: [root@gsp tmp]#
扫描上面二维码关注我
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.