Yum

打包後二進製文件損壞

  • May 8, 2016

快速概述一下,我正在做的是將使用enclose.js的 nodejs 應用程序捆綁到一個二進製文件中,然後使用rpmbuild將帶有配置文件的整個項目轉換為一個包。打包之前一切都很好,但是在安裝結果 rpm 後有一個二進製文件損壞了。該文件是一個 40MB 的二進製文件,而 rpm 是 52MB,但安裝後提取的二進製文件只有 15MB。

這是我的規格文件:

Name: Packager
Version: 2.0
Release: 0
License: Proprietary
Group: System/Extras
Distribution: Linux CentOS
Packager: Ammar Lakis <ammar.lakis@gmail.com>
Requires: mongodb-server
Summary: A quick packager

%description
Package made for packaging

%build
cd %{my_source}
npm run build

%install
cp -r %{my_source}/pkg/ $RPM_BUILD_ROOT

%post
systemctl enable packager

%files
/usr/bin/packager
/usr/bin/packager-tools
/etc/packager

並使用此命令完成建構過程

rpmbuild -bb --define 'my_source /root/Packager/' packager.spec

是否有任何原因導致捆綁文件的截斷?

預設情況下,rpmbuild 會在將二進製文件和庫/usr/lib/rpm/brp-compress放入 rpm 文件後將其剝離(使用 )。您應該可以通過添加到規範文件的開頭來禁用它

%global __os_install_post %{nil}

引用自:https://unix.stackexchange.com/questions/281854