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

Linux 快速建立客製化 RPM 套件實戰指南

編輯:Linux 教學

為何要打包成 RPM?

  • 安裝過程自動追蹤檔案,便於後續管理(升級、移除、查詢)。
  • 多台伺服器部署只需發佈 RPM 至資料庫,統一更新極便利。

RPM 結構

包含 Shell 腳本與 README,若能打包兩個檔案,同理可打包大型軟體。

建立簡易 RPM 完整流程

  1. 建立目錄結構(命名含版本號,如 test-1.0):
    mkdir ~/test-1.0; cd ~/test-1.0
    echo 'echo this is a test' > test.sh; chmod +x test.sh
    echo 'just launch the script' > README
  2. 產生來源壓縮包放入 ~/rpmbuild/SOURCES:
    mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/SPECS
    tar -czf ~/rpmbuild/SOURCES/test-1.0.tar.gz test-1.0
  3. 撰寫 .spec 規範檔放入 ~/rpmbuild/SPECS/test.spec:
    Name: test
    Version: 1.0
    Release: 1%{?dist}
    Summary: A test package
    Group: Test Packages
    License: GPL
    URL: https://test.example.com
    Source0: %{name}-%{version}.tar.gz
    BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX
    BuildRequires: /bin/rm, /bin/mkdir, /bin/cp
    Requires: /bin/bash, /bin/date
    
    %description
    單一檔案套件部署示範
    
    %prep
    %setup -q
    
    %build
    # ./configure
    # make %{?_smp_mflags}
    
    %install
    rm -rf $RPM_BUILD_ROOT
    mkdir -p $RPM_BUILD_ROOT/usr/local/bin
    cp test.sh $RPM_BUILD_ROOT/usr/local/bin/myscript
    
    %clean
    rm -rf $RPM_BUILD_ROOT
    
    %files
    %defattr(-,root,root,-)
    %attr(0755,root,root) /usr/local/bin/myscript
    
    %changelog
    * Today
    - Initial RPM creation

    關鍵點:

    • Source0 必須與 tarball 檔名完全一致。
    • %build 區段若無編譯需求,註解掉 %configure/%make。
    • %install 實際複製檔案至 $RPM_BUILD_ROOT 模擬根目錄。
    • %files 列出安裝檔案,%attr 設定權限/擁有者。
  4. 安裝 rpmbuild 工具並打包:
    yum install rpm-build   # 需 root
    rpmbuild -ba ~/rpmbuild/SPECS/test.spec

    產出 RPM 檔於 ~/rpmbuild/RPMS/。

Copyright © Windows教程網 All Rights Reserved