Linux 之 rpm 與 yum 包管理

(一)RPM 包管理
前端

1、RPM 軟件包管理器
node

  RPM是RedHat Package Manager(RedHat軟件包管理工具),一種用於互聯網下載包的打包及安裝工具它包含在某些Linux分發版中。它生成具備.RPM擴展名的文件。與Dpkg相似。數據庫

  RPM文件在Linux系統中的安裝最爲簡便。以著名的圖像處理軟件XV爲例,其RPM包'xv-3.10a-13.i386.rpm'能夠在該程序的主頁中下載取得。緩存

2、RPM 的優勢
服務器

   1,RPM內含已編譯過的二進制程序與配置文件等數據,使用戶不用再用源代碼編譯;網絡

   2,RPM在安裝前,能先檢測操做系統的版本和rpm包的來源合法性、完整性,避免錯誤安裝;使用命令 rpm -k 來檢測,實現驗證機制。ide

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# rpm -K package_name


   3,RPM包自己提供了軟件版本信息、依賴屬性軟件名稱、軟件用途說明、軟件所含信息等,方便理解軟件;工具

   4,RPM管理的方式使用數據庫記錄了RPM包的相關參數,便於驗證,查詢,升級和刪除。post

3、RPM 的主要功能測試

 1,安裝、卸載、升級和管理軟件

 2,rpm包的查詢功能

 3,驗證功能:軟件包GPG和MD5數字簽名的導入、驗證和發佈

 4, 校檢功能

 4,軟件包依賴處理:選擇安裝

 5,網絡遠程安裝功能

4、RPM 的安裝於卸載

 1,rpm包的安裝

 命令格式 rpm -i /path/to/RPM_FILE

# rpm -i /path/to/RPM_FILE

 安裝的命令選項

 -i | --install :安裝

 -v :查看更詳細的安裝信息

 -h : 以#顯示安裝進度,一個#表示2%的進度

 -ivh :組合使用

 --nodeps :忽略依賴關係的安裝

 --test :測試安裝

 --replacepkgs :從新安裝

 2,rpm包的卸載

  命令格式:rpm -e  FILENAME

  卸載的命令選項

 -e :卸載rpm

 -- nodeps :忽略依賴關係的卸載

5、RPM 的查詢

 命令格式 rpm -q | --query FILENAME

# rpm -q | --query FILENAME


 查詢的命令選項

  -qa : 查詢全部已經安裝的包

  -qi : 查詢包的摘要信息

  -ql : 查詢包安裝生成的文件清單

  -qc :查詢包安裝生成的配置文件

  -qd :查詢包安裝生成的幫助文檔

  -q --scripts :查詢包相關的腳本

preinstall: 安裝前腳本  ;postinstall: 安裝後腳本;

preuninstall: 卸載前腳本 ;postuninstall: 卸載後腳本

  查詢還沒有安裝的包的相關信息

  命令格式 rpm -qp FILENAME

相關的命令選項

  -qpi ,-qpl,-qpc,-qpd,-qp --scripts

6、RPM 的升級與校檢

 1,rpm的升級

 命令格式 rpm -U | -F RPM_FILE

 相關的命令選項

 -U :升級並安裝

 -F :升級 只升級完成更新,須要老版本

 -Uvh | -Fvh :升級過程顯示詳細信息,並顯示升級進度

 --force :強行升級忽略依賴關係

 --nodeps:忽略依賴關係

2,rpm的校檢

 命令格式

  rpm - V

(二)YUM 包管理

1、YUM 軟件包管理器

 Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。

2、YUM 的配置文件

   YUM的一切配置信息都存儲在/etc/yum.conf的配置文件中,這是整個yum系統的重中之重,能夠用來定義一個yum倉庫。

section:

[main]


[repository_ID]

name= 描述信息

baseurl= 基本連接路徑

enabled={1|0} 是否啓動 ,1爲啓動、0爲禁用

gpgcheck={1|0} 檢測rpm簽名 ,1爲檢測、0爲不檢測

gpgkey=  

3、YUM 的主要功能

1,安裝包: yum install package_name

  2,刪除包:yum remove package_name或者yum erase package_name

  3,升級包:yum upgrade foo或者yum update foo

  4,查詢信息:yum info foo

  5,搜索包(以包含foo字段爲例):yum search foo

6,顯示軟件包依賴關係:yum deplist foo

4、YUM 的主要命令

1, 命令格式

  yum SUBCOMMAND package_name

2,yum 的相關命令

# yum subcommand


list {all|installed|available}:列出{全部|已安裝|可安裝}的包

repolist [all|enabled|disabled]:查看當前{全部|啓用|禁用}的包

info package_name:查詢包的詳細信息

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]:

清空{包|元數據|過時的緩存|rpm包日誌|插件程序|全部}

makecache:手動創建緩存

3,yum 包組的相關命令

groupinfo "group_name" :包組的詳細信息

groupinstall : 包組的安裝

開發組:

RHEL6,CentOS6: "Development tools"、"Server Platform Development" "Desktop Platform Development"

RHEL5, CentOS5: "Development tools"、"Development Libraries"

groupupdate :包組的更新

groupremove :包組的移除

5、YUM 包的安裝、升級、卸載

1,yum 的安裝

  命令格式

yum install  package_name 安裝包



   yum -y 自動回答爲yes

  yum reinstall  package_name  從新安裝包



2,check-update :檢查可升級的包

  update package_name : 升級包

  update-to :指定包所升級的版本

  remove package_name : 卸載包



  provides | whatprovides:查詢文件由哪些包生成

6、YUM倉庫的建立

一、在yum倉庫的文件(/etc/yum.repos.d/)中創建一個以.repo結尾的文件;

二、[  ]裏面是寫倉庫的ID,名稱能夠隨便取,但必須惟一;

三、name是yum的名稱也能夠隨便取,也必須惟一;

四、baseurl指定能夠經過本機、http或者ftp訪問到的rpm包的所在路徑,該路徑下必須有一個repodata的文件;

五、enabled默認爲11表示啓用此倉庫,0表示不啓;

六、gpgcheck默認也是爲11表示檢查公鑰,當檢查公鑰時要指定gpgkey的地址,0表示不檢查,不檢查公鑰就不用指gpgkey的地址,若是是本地光盤搭建yum倉庫,則能夠設置gpgcheck=0;

七、當gpgcheck=1時,gpgkey指向包含RPM-GPG-KEY-CentOS-6這個文件的路徑;

八、cost是表示花費代價,cost默認是2000,越小越先訪問。

相關文章
相關標籤/搜索