Linux rpm更新了很多版本更新,我本人認為Linux rpm很好使的檔案系統,在此向大家推薦。如今技術不斷更新,各種使用檔案都已經淘汰。我認為還是有很不錯的如Linux rpm值得大家來運用。
一、安裝Linux rpmbuild
// for fedora linux yum install Linux rpmbuild -y
// for ubuntu apt-get install Linux rpmbuild
二、Linux rpm specification file
spec檔案規格能熟練掌握以上命令以及部分參數含義,管理日常的Linux rpm軟體包就不成問題了。然而隨著Linux風靡全球,越來越多的開發人員喜歡採用Linux rpm格式來發布自己的軟體包。那麼Linux rpm軟體包是怎樣製作的呢?對大多數Linux開發工程師來說是比較陌生的。
其實,製作Linux rpm軟體包並不是一件複雜的工作,其中的關鍵在於編寫SPEC軟體包描述檔案。要想製作一個Linux rpm軟體包就必須寫一個軟體包描述檔案 SPEC)。這個檔案中包含了軟體包的諸多資訊,如軟體包的名字、版本、類別、說明摘要、建立時要執行什麼指令、安裝時要執行什麼操作、以及軟體包所要 包含的檔案清單等等。描述檔案說明如下:
1) 檔案頭
一般的spec檔案頭包含以下幾個域:Summary:用一句話概括該軟體包盡量多的資訊。Name:軟體包的名字,最終Linux rpm軟體包是用該名字與版本號碼,釋出號及體系號來命名軟體包的。Version:軟體版本號碼。僅當軟體包比以前有較大改變時才增加版本號碼。
Release:軟體包釋出號。一般我們對該軟體包做了一些小的補丁的時候就應該把釋出號加1。Vendor:軟體開發人員的名字。Copyright:軟體包所採用的著作權規則。具體有:GPL自由軟體),BSD,MIT,Public Domain公用域),Distributable貢獻),commercial商業),Share共用)等,一般的開發都寫GPL。
- Group: 軟體包所屬類別,具體類別有:
- Amusements/Games 娛樂/遊戲)
- Amusements/Graphics娛樂/圖形)
- Applications/Archiving 應用/文檔)
- Applications/Communications應用/通訊)
- Applications/Databases 應用/資料庫)
- Applications/Editors 應用/編輯器)
- Applications/Emulators 應用/模擬器)
- Applications/Engineering 應用/工程)
- Applications/File 應用/檔案)
- Applications/Internet 應用/網際網路)
- Applications/Multimedia應用/多媒體)
- Applications/Productivity 應用/產品)
- Applications/Publishing應用/印刷)
- Applications/System應用/系統)
- Applications/Text 應用/文本)
- Development/Debuggers 開發/調試器)
- Development/Languages 開發/語言)
- Development/Libraries 開發/函數庫)
- Development/System 開發/系統)
- Development/Tools 開發/工具)
- Documentation 文檔)
- System Environment/Base系統內容/基礎)
- System Environment/Daemons 系統內容/守護)
- System Environment/Kernel 系統內容/核心)
- System Environment/Libraries 系統內容/函數庫)
- System Environment/Shells 系統內容/介面)
- User Interface/Desktops使用者介面/案頭)
- User Interface/X 使用者介面/X視窗)
- User Interface/X Hardware Support 使用者介面/X硬體支援)
Source:來源程式軟體包的名字。如 stardict-2.0.tar.gz。%description:軟體包詳細說明,可寫在多個行上。
2)%prep段
這個段是預先處理段,通常用來執行一些解開來源程式包的命令,為下一步的編譯安裝作準備。%prep和下面的%build,%install段一樣,除 了可以執行Linux rpm所定義的宏命令以%開頭)以外,還可以執行SHELL命令,命令可以有很多行,如我們常寫的tar解包命令。
3)build段
本段是建立段,所要執行的命令為產生軟體包服務,如make 命令。
4)%install段
本段是安裝段,其中的命令在安裝軟體包時將執行,如make install命令。
5)%files段
本段是檔案段,用於定義軟體包所包含的檔案,分為三類--說明文檔doc),設定檔config)及執行程式,還可定義檔案存取許可權,擁有者及組別。
6)%changelog段
本段是修改日誌段。你可以將軟體的每次修改記錄到這裡,儲存到發布的軟體包中,以便查詢之用。每一個修改日誌都有這樣一種格式:第一行是:* 星期 月 日 年 修改人 電子信箱。其中:星期、月份均用英文形式的前3個字母,用中文會報錯。接下來的行寫的是修改了什麼地方,可寫多行。一般以減號開始,便於後續的查閱。
三、原始碼打包
將原始碼打包,如 stardict-2.0.tar.gz,並將檔案放到spec檔案Source段所描述的路徑下,通常為/usr/src/redhat/SOURCES/目錄下不同的Linux發布版本略有不同,如OpenSUSE為 /usr/src/packages/SOURCES/)
四、Linux rpm打包
Linux rpmbuild -ba ‘spec檔案路徑’Linux rpmbuild常用參數: -bb 只編譯二進位Linux rpm包 -bs 只編譯源碼Linux rpm包 -ba 同時編譯二進位和源碼Linux rpm包)build完後,可以在/usr/src/redhat/Linux rpmS/下找到二進位Linux rpm包,Linux rpm包按照其對應的cpu體繫結構分類,通常在/usr/src/redhat/Linux rpmS/i386目錄下/usr/src/redhat/SLinux rpmS/下找到源碼Linux rpm包,此時由於是原始碼,所以無須按體繫結構分類。
- Linux rpm包的更新和安裝與刪除
- SELinux伺服器不關閉配置 samba的方法
- Linux進程狀態解析之R、S、D
- Linux tomcat安裝步驟測試JDK是否安裝成功
- 簡單概述Linux進程操作命令