1. 程式人生 > >liunx安裝包rpm及yum命令詳解

liunx安裝包rpm及yum命令詳解

liunx rpm yum

rpm及yum的優缺點

**RPM是由紅帽公司開發的軟件包管理方式,使用rpm我們可以方便的進行軟件的安裝、查詢、卸載、升級等工作。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。
YUM(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

一丶rpm命令詳解

-i 安裝
-v 顯示安裝過程
-vv 顯示安裝詳細過程
-h 顯示安裝進度

-ivh 常用的安裝選項
    --nodeps忽略安裝包依賴性關系檢測
    --replacepkgs 重復安裝已安裝過的安裝包,文件覆蓋
    --replacefiles 即將安裝的安裝包的部分文件與其他已安裝的安裝包文件沖突,可繼續安裝,文件不覆蓋
    --nosignature: 不檢查來源合法性
    --nodigest:不檢查安裝包的完整性
    --noscripts:不執行程序包腳本

-U 指定的安裝包比已安裝的安裝包新或者未安裝

  -F 指定的包比已安裝的包新
  --oldpackage 指定的包比已安裝過的包舊

-q 查詢包是否安裝
  -qa 查詢已安裝的所有包
  -qf 文件路徑  查詢指定的文件來源於哪一個rpm包
  -ql 包名 查詢該包提供了哪些文件
  -qp rpm包 對未安裝的包,指定rpm文件再配合其他查詢子選項來進行各項查詢操作
  -q --changelog 包名 查看更新日誌
  -qc 包名 查看該軟件包所提供的配置文件
  -qd 包名 查看該軟件包所提供的文檔文件
  -qi 包名 查看該軟件包的詳細信息
  -q** --scripts 查看安裝前及安裝後的腳本** 
  -q --provides 包名 查看一個軟件包提供了哪些能力
  -qR 包名 查看一個軟件包的運行所依賴的能力
  -q --whatprovides 能力名 查看一個能力由哪個包提供
  -q --whatrequires 能力名 查看一個能力依賴於哪些包
-e 卸載
    -e 包名
        rpm -e `rpm -q vsftpd` 
        或
        rpm -e vsftpd --allmatches 安裝了多個版本的某個rpm可以一次性全部刪除
        --nodeps 刪除時不檢查依賴性關系

-K rpm包 驗證包的合法性
--import 公鑰 導入公鑰
rpm -qa "gpg-pubkey" 查詢公鑰
rpm -e `rpm -qa "gpg-pubkey
"` 刪除公鑰

--initdb 初始化/var/lib/rpm數據庫
--rebuilddb 重建包頭索引目錄

rpm2cpio 將rpm包轉換為cpio歸檔文件

例子:模擬刪除/etc/init/rcS.conf文件並恢復
    1.rm -f /etc/init/rcS.conf      #刪除文件
    2.rpm -qf /etc/init/rcS.conf        #查詢刪除的文件來自哪個包
        initscripts-9.03.58-1.el6.centos.x86_64        #查出擁有該文件的安裝包     
    3.cp /media/Packages/initscripts-9.03.58-1.el6.centos.x86_64 /app  #將安裝包拷貝出來
    4.cd /app    #進入安裝包所在目錄
    5.rpm2cpio initscripts-9.03.58-1.el6.centos.x86_64 |cpio -id  #將安裝包轉換為歸檔文件
    6.cp etc/init/rcS.conf /etc/init    #找到該文件拷貝至所欲要的目錄

二丶yum

yum repolist
        all 顯示所有的倉庫
        enabled 顯示已啟用的倉庫
        disabled 顯示已禁用的倉庫 

yum list [all]
available 顯示所有可用的,且未安裝的
installed 顯示所有已安裝的包
updates 顯示可更新的包

yum info pkg1 顯示包的詳細信息
yum provides | whatprovides 文件路徑(支持文件名通配符) 查詢一個文件來自哪一個rpm包無論是否已安裝
yum clean all清空緩存
yum makecache 建立新緩存
yum deplist pkg1 查詢指定包所依賴的能力
yum localinstall |install rpm路徑 安裝本地的rpm包,並用yum解決依賴性關系
yum localupdate |update rpm路徑 更新本地的rpm包,並用yum解決依賴性關系

yum groupinstall grppkg1
grouplist 列出所有的包組
groupinfo grppkg1 顯示該包組包含的rpm包
groupremove grppkg1 卸載包組

liunx安裝包rpm及yum命令詳解