1. 程式人生 > >Linux系統紅帽軟件包管理器(RPM)

Linux系統紅帽軟件包管理器(RPM)

ont 軟件包管理器 win 歸檔壓縮 設計 器) 詳細 linux linux系統

1、源代碼管理

絕大多數開源軟件都是直接以源代碼形式發布的,一般會被打包為tar.gz 的歸檔壓縮文件。程序源代碼需要編譯為二進制可執行文件後才能夠運行使用。源代碼的基本編譯流程為

  1. ./configure:解壓縮後運行該命令,它主要檢查編譯環境、相關庫文件以及配置參數並生成 makefile
  2. make:對源代碼進行編譯,生成可執行文件
  3. make install:將生成的可執行文件安裝到計算機中

源代碼形式的軟件使用起來較為麻煩,但是兼容性和可控性較好。並且開源軟件一般會大量使用其他開源軟件的功能,所以開源軟件會有大量的依賴關系(使用某軟件需要先安裝其他軟件)。

2、RPM包管理器

在RPM(Redhat Package Manager,紅帽軟件包管理器)公布之前,要想在Linux系統中安裝軟件只能采取源碼包的方式安裝。早期在Linux系統中安裝程序是一件非常困難、耗費耐心的事情,而且大多數的服務程序僅僅提供源代碼,需要運維人員自行編譯代碼並解決許多的軟件依賴關系,因此要安裝好一個服務程序,運維人員需要具備豐富知識、高超的技能,甚至良好的耐心。而且在安裝、升級、卸載服務程序時還要考慮到其他程序、庫的依賴關系,所以在進行校驗、安裝、卸載、查詢、升級等管理軟件操作時難度都非常大。

RPM機制是專門為解決這些問題而設計的。RPM有點像Windows系統中的控制面板,會建立統一的數據庫文件,詳細記錄軟件信息並能夠自動分析依賴關系。目前RPM的優勢已經被公眾所認可,使用範圍也已不局限在紅帽系統中了,下表是一些常用的RPM軟件包命令

常用的RPM軟件包命令

安裝軟件的命令格式

rpm -ivh packagename.rpm

升級軟件的命令格式

rpm -Uvh packagename.rpm

卸載軟件的命令格式

rpm -e packagename.rpm

查詢軟件描述信息的命令格式

rpm -qpi packagename.rpm

列出軟件文件信息的命令格式

rpm -qpl packagename.rpm

查詢文件屬於哪個RPM的命令格式

rpm -qf packagename

查看某一個軟件包是否安裝

rpm -qa|grep packagename.rpm

 

 

  -i:  install 安裝   

  -v:  verboes 可視化

  -h:  hash 顯示安裝進度

另外的常用的附帶參數為:

  --force:  強制安裝,即使覆蓋其他包的文件也要安裝

  --nodeps:  當要安裝的rpm包依賴其他包的時候,即使其他包沒有安裝,也要安裝這個包

  -U:  upgrade 即升級的意思

  查詢一個包是否安裝

  rpm -q packagename(這裏的包名是不帶有平臺信息以及後綴名的)

  eg:rpm -q alacarte-0.10.0-1.fc6(如果加了平臺信息及後綴名alacarte-0.10.0-1.fc6.noarch.rpm反而不能查出來)

  rpm -qa 查詢當前系統上所安裝的所有rpm包

  rpm -qa | grep packagename 查看某個軟件包是否安裝(這裏的包名是帶有平臺信息以及後綴名的)

Linux系統紅帽軟件包管理器(RPM)