2017-08-02 60 views
0

我創建的rpm包需要很長時間才能安裝。它只包含Berkely db格式的數據庫文件和大小爲2.2GB的數據庫文件。自定義rpm pkg需要很長時間才能安裝,並在最後導致cpio錯誤

下面是我的RPM規範

#AutoReq: no 
AutoReqProv: no 
%define PYTHON /usr/bin/python 
%define RPM_BUILD_DIR %{_topdir}/BUILD 
%define RPM_BUILD_ROOT %{_topdir}/tmp 
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') 

%define _source_payload w0.gzdio 
%define _binary_payload w0.gzdio 

# 
Summary: Prefixcat db package 
Name:  prefixcat 
Version: %{VERSION} 
Release: %{RELEASE} 
Source: %{_sourcedir} 
BuildRoot: %{_tmppath}/%{name} 
License: internal-only 
Distribution: WR Linux 
Vendor: XXX xxx 
Packager: XXX xx<[email protected]> 
Group:  Test/Applications 
#BuildArch: x86_64 

%description 
Prefixcat db 

#%prep 

#%build 

%install 
mkdir -p %{buildroot}/data/db/wbrs/factory/db 
cp -r %{_sourcedir}/data/db/wbrs/factory/db/prefixcat_db %{buildroot}/data/db/wbrs/factory/db 

%clean 
%{__rm} -rf %{buildroot} 

%pre 

%post 
echo "Prefixcat DB installed successfully in /data folder" 


%files 
%defattr(-,admin,root,-) 
/data 

%changelog 
* Tue Aug 01 2017 Sudharsan C <[email protected]> 
- Create prefixcat db as a seperate rpm 

轉IVH prefixcat-1.1.100.x86_64.rpm,需要近15分鐘來安裝。

而且上面的命令將導致此錯誤

error: unpacking of archive failed on file /data/db/wbrs/factory/db/prefixcat_db;59818e12: cpio: read failed - Bad file descriptor

如何壓縮的尺寸和安裝快捷任何幫助嗎?我正在CentOS7上構建這個rpm並在windriver 8上安裝。在兩個操作系統上的RPM版本都是相同的。

+0

我更擔心rpm安裝錯誤比安裝所需的時間, root @ xxx:〜#rpm -ivh /home/prefixcat-10.1.1-102.x86_64.rpm 準備...# ########################################## [100%] 1:prefixcat ########################################### [100%] 錯誤:解壓縮檔案在file/data/db/wbrs/factory/db/prefixcat_db上失敗; 59819882:cpio:讀取失敗 - 文件描述符錯誤 – Darshan

+0

EBADF誤導:錯誤發生時恰好是errno中的內容。你幾乎肯定會超過極限(如果2.2Gb的文件)可以放入cpio有效負載和rpm包中。將數據拆分爲附加的子包(可能使用文件清單)。如果要使用depsolver安裝整個文件集,請添加一個「任務包」,該任務包需要:每個子包。 –

+0

嗨,我知道分裂文件和縫合文件回%作爲%帖子。但我們在閱讀rpm文檔(http://rpm.org/devel_doc/large_files.html)和https://www.google.co.in/search?q=rpm+bug+with+bigger+files&rlz=1C1CHBD_enIN734IN734&oq = rpm + bug + with + larger + files&aqs = chrome..69i57.8321j0j4&sourceid = chrome&ie = UTF-8支持最高4GB的版本可用於較新的rpm版本。 – Darshan

回答

1

如果目標體系結構是32位,則可能會遇到2GB的文件大小限制。什麼是目標架構和根文件系統類型?

編輯:由於您使用的是64位內核,2GB的限制遠不太可能。

您是否驗證過(使用sha256sum或類似軟件)遠程系統上的.rpm文件是否與開發系統上的文件相匹配?

+0

目標體系結構:64位,輸出#uname -a // Linux xxx-4.1.21-WR8.0.0.10_standard#1 SMP PREEMPT Fri Jul 21 23:50:45 IST 2017 x86_64 x86_64 x86_64 GNU/Linux – Darshan

+0

SHA相同跨兩個位置。我不認爲它的問題 – Darshan

相關問題