linux解壓超過2G大檔案

2022-09-01 11:51:09 字數 1237 閱讀 9393

最近資料伺服器出現問題 通過exp命令備份 資料達到14g

壓縮命令

zip -r 20130314.zip ./20130314.dmp

ls -l 檢視檔案大小 壓縮zip格式也有3.2g

-rw-r--r-- 1 root   root  3826207807 03-28 22:14 20130314.zip

新準備的機器 將20130314.zip 檔案拷貝到新伺服器

通過 unzip 20130314.zip 出現錯誤

[root@tianchi154 ygcg]# unzip 20130314.zip

archive:  20130314.zip

warning [20130314.zip]:  76 extra bytes at beginning or within zipfile

(attempting to process anyway)

error [20130314.zip]:  reported length of central directory is

-76 bytes too long (atari stzip zipfile?  j.h.holm zipsplit 1.1

zipfile?).  compensating...

skipping: 20130314.dmp            need pk compat. v4.5 (can do v2.1)

檢視資料原來是unzip命令不能解壓超過2g的檔案 通過查詢資料有個7z的程式可以解壓超過2g的壓縮包

首先通過

file /bin/ls命令檢視linux是32位還是64位

[root@tianchi154 ygcg]# file /bin/ls

/bin/ls: elf 64-bit lsb executable, amd x86-64, version 1 (sysv), for gnu/linux 2.6.9, dynamically linked (uses shared libs), for gnu/linux 2.6.9, stripped

可以看出是8086cpu中的單字64位長的系列

上傳到linux通過rpm命令安裝

rpm -ivh p7zip-9.04-1.el3.rf.x86_64.rpm

rpm -ivh p7zip-plugins-9.04-1.el3.rf.x86_64.rpm

安裝完成後 通過命令解壓

7z e 20130314.zip解壓成功

Linux C 讀寫超過2G的大檔案 注意事項

在專案中做大檔案的增量讀寫,遇到了問題 fopen value too large for defined data type.習慣性地根據這個提示查閱的有關資料顯示 1 工具鏈太老了 海思的工具鏈我目前找不到更換的方法,也為了穩定性,不再增加新的ulibc庫 2 檔案系統的 inde是 64位的 ...

fopen開啟2G以上大檔案

fopen開啟2g以上的檔案,是無法開啟的,我估計是跟32bit有關係,跟記憶體大小有關係。網上說的一些方法 1 用fopen64 2 undef file offset bits define file offset bits 64 include include 3 在makefile編譯選項裡...

獲取檔案大小,尤其是超過2G的大檔案

define file offset bits 64 include include include long long get file size const char filename return long long buf.st size long long ftell test const...