zoukankan      html  css  js  c++  java
  • Linux下解压超过4G的zip文件

    从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)

                                                                                                     截图如下

                         clip_image001

    从网上搜索了一下相关资料,发现是当前的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]# 

  • 相关阅读:
    mybatis分页插件pagehelper 5.1.2遇到的问题
    IDEA中SSM框架转变为SOA dubbo框架 zookeeper注册中心
    zookeeper注册中心搭建
    dubbo搭建
    作业三:程序设计大赛项目管理WBS
    无效的绑定声明(未找到)包名.mapper.XXXMapper.方法。IDEA中接口与映射文件未在一起问题
    IDEA中循环依赖解决方法
    Linux环境安装jdk
    在MainActivity的内部静态类PlaceholderFragment 类中的onCreateView中获取fragment_main.xml中控件
    Eclipse: Android Device Chooser
  • 原文地址:https://www.cnblogs.com/kerrycode/p/3511946.html
Copyright © 2011-2022 走看看