Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

CentOS 使用 FPM 快速打包 RPM 實戰教學

編輯:關於 Linux

FPM (Effing Package Management) 是 Ruby 寫的通用打包工具,支援 dir → rpm/deb、gem → rpm、npm → rpm 等多種來源與目標格式,讓 RPM 打包不再需要撰寫複雜的 Spec 檔。

安裝 FPM

yum -y install ruby rubygems ruby-devel
gem sources -a https://gems.ruby-china.com/  # 國內鏡像
gem sources --remove https://rubygems.org/
gem install fpm

實戰:將 Node.js 0.10.12 打包成 RPM

# 1. 下載並編譯 Node.js
wget https://nodejs.org/dist/v0.10.12/node-v0.10.12.tar.gz
tar zxvf node-v0.10.12.tar.gz -C /dev/shm/
cd /dev/shm/node-v0.10.12/
./configure --prefix=/usr --dest-cpu=x64 --dest-os=linux
make -j24
mkdir /dev/shm/node-root
make -j24 install DESTDIR=/dev/shm/node-root

# 2. 使用 FPM 打包
fpm -f -s dir -t rpm -n nodejs --epoch 0 -v 0.10.12 --iteration 1.el6 \
    -C /dev/shm/node-root \
    -p ~/rpmbuild/RPMS/x86_64/ \
    -d 'openssl >= 0.9.8' -d 'libstdc++ >= 4.4.3' \
    --verbose --category 'Development/Languages' \
    --description 'Node.js real-time applications' \
    --url 'nodejs.org' --license 'BSD' -m 'higkoo' \
    --no-rpm-sign --workdir /dev/shm \
    usr/bin usr/lib usr/share

驗證套件資訊

rpm -qpi ~/rpmbuild/RPMS/x86_64/nodejs-0.10.12-1.el6.x86_64.rpm

FPM 打包過程
RPM 套件資訊

技巧: 加上 -e 參數可在打包前手動修改 FPM 自動產生的 Spec 檔。注意 CentOS 5/6/7 之間的 RPM 不可混用,因 glibc 版本不同導致動態連結失敗。
Copyright © Windows教程網 All Rights Reserved