tar打包時報錯: 0511-194 Reached end-of-file before expected.

tianya_2011發表於2013-04-18
系統環境:AIX 6.1
#tar -cvf  /backup/oraback.tar  /oracle/product
tar打包時報錯: 0511-194 Reached end-of-file before expected.

解決方法:
經過檢視,發現系統限制了單個檔案的大小,
執行ulimit -f 返回結果為:2097151,說明系統對使用者所能用的檔案大小限制為:2097151*512=1G
vi /etc/security/limits  將fsize =2097151 修改為 fsize = -1 即無限制
為使 /etc/security/limits 檔案的修改生效,使用者登出當前登入會話然後重新登入.

重新登入後,執行ulimit -a 返回結果為:fsize =unlimited。更改已經生效,對使用者所能用的檔案大小沒有限制。
但是,無論 ulimit設定如何,AIX 上的標準檔案系統都有2GB檔案大小限制,如果要建大於2GB的檔案需要啟用大檔案選項來建立檔案系統。
重新執行 #tar -cvf  /backup/oraback.tar  /oracle/product
操作成功

檔案及引數說明:
/etc/security/limits 檔案包含所有 ulimit,即使用者的系統資源限制。
下面說明一下 /etc/security/limits 檔案中的欄位及其用途:
軟限制           硬限制               說明
------------   -------------      ------------
fsize            fsize_hard           使用者可以建立的檔案的大小
core            core_hard          使用者可以建立的核心檔案的大小
cpu             cpu_hard            允許的系統時間量
data            data_hard           程式資料段的大小
stack           stack_hard         程式堆疊段的大小
rss                rss_hard             允許的實體記憶體量
nofiles         nofiles_hard      同時開啟的檔案描述符數量
nproc          nproc_hard        同時執行的程式數量
軟限制和硬限制的區別是什麼?
        在最大值(硬限制)範圍內,使用者或應用程式可以動態地修改軟限制。硬限制 就是引數可以設定的最大值。如果把引數設定為數字值太困難(例如,如果開發人員不知道程式將使用的記憶體量或它需要開啟的檔案數量),那麼可以把引數設定為 -1,這表示無限制。
       但是,不必為每個使用者設定所有 ulimit。/etc/security/limits 檔案包含一個 default 部分,它為每個使用者定義一組標準值,如果使用者沒有設定定製的值,就會使用這些值。如果 default 部分不存在,系統會設定預先確定的限制。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25373498/viewspace-758779/,如需轉載,請註明出處,否則將追究法律責任。

相關文章