源代碼形式
·絕大多數開源軟件都是直接以源代碼形式發布的
·源代碼一般會被打包成tar.gz的歸檔壓縮文件
·程序源代碼需要編譯成為二進制形式之后才能夠運行使用
·源代碼基本編譯流程:
- ./configure 檢查編譯環境,相關庫文件以及配置參數并產生成makefile
- make 對源代碼進行編譯,生成可執行文件
- make install 將生成的可執行文件安裝到當前計算機中
·源代碼形式的軟件使用起來較為麻煩,但是兼容性及可控性較好
·開源軟件一般都會大量使用其他開源軟件的功能,所以開源軟件會有大量的依賴關系(使用某軟件需要先安裝其他軟件)
RPM
·源代碼形式的缺點:操作復雜,編譯時間較長,極容易出現錯誤
·源代碼形式的優點:適用所有系統,可定制
·為了方便實用,Erik Troan和Marc Ewing開發了RPM(redhat Package Manager)
·RPM通過將源代碼基于特定平臺系統編譯為可執行文件,并保存依賴關系,來簡化開源軟件的安裝管理
·RPM設計目標如下:
- 使用簡單
- 使用單一軟件包格式文件發布(.rpm)
- 可升級
- 追蹤軟件依賴關系
- 基本信息查詢
- 軟件驗證功能
- 支持多平臺
軟件包常用命令規范:
- linuxcast-1.2.0-30.ei6.i686.rpm
RPM基礎命令:
- 安裝軟件:rpm -i software.rpm
- 卸載軟件:rpm -e software
- 升級形式安裝:rpm -U software-new.rpm
- rpm支持通過http,ftp協議安裝軟件:
rpm -ivh http://linuxcast.net/software.rpm
可以加入以下參數: - -v 顯示相信信息
- -h 顯示進度條
RPM查詢
RPM會保存軟件相關的很多信息,可通過以下命令查詢:
- rpm -qa 列出所有安裝的rpm軟件
- rpm -qf filename 查詢目標文件屬于哪個rpm包
- rpm -qi packagename 查詢指定已安裝rpm軟件的信息
- rpm -ql packagename 查詢指定已安裝rpm軟件包含的文件
- rpm -qip software.rpm 查詢rpm文件的信息
- rpm -qlp software.rpm 查詢rpm文件包含的文件
RPM驗證
- 軟件在傳播的過程中可能會被惡意的修改,所以為了安全起見現代系統都加入了對軟件的驗證功能
- 驗證一般使用非對稱加密算法,所以需要一個密鑰
- 導入密鑰
rpm --import RPM-GPG-KEY-CENTOS-6
- 驗證rpm文件:
rpm -K software.rpm
- 驗證已安裝的軟件:
rpm -V software