軟件包管理之rpm與yum


  軟件包的安裝和卸載時很平常的事,但在Linux上面卻不簡單。。Linux的其中一個哲學就是一個程序只做一件事,並且做好。組合小程序來完成復雜的任務,這樣做有很多好處,但是各個小程序之間往往會存在着復雜的依賴關系。源碼安裝的軟件更貼近本機的系統運行環境,但也更復雜。這時就有了包管理器,其中一個包管理器就是redhat系的rpm(redhat package manager).

  rpm是以一種數據庫記錄的方式來將將所需要的套件安裝在Linux主機的一套管理程序。也就是說Linux系統中存在一個關於rpm的數據庫,它記錄了安裝的包與包之間的依賴相關性。rpm包是預先在Linux主機上編譯好並打包的文件,安裝起來非常快捷。下面就介紹rpm常用的命令

  1.安裝一個rpm包

      rpm -ivh package_file

      -i:安裝

      -v:可視化

      -h:顯示安裝進度

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

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

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

  2.升級一個rpm包

    rpm -Uvh filename

      -U:即升級的意思

  3.卸載一個rpm包

    rpm -e filename  filename通過rpm查詢功能查詢到的,卸載時的filename和安裝時的是有區別的。

  4.查詢一個包是否安裝

    rpm -q rpm包名(這里的包名是不帶有平台信息以及后綴名的)

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

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

      rpm -qa

  5.得到一個rpm包的相關信息

    rpm -qi 包名(同樣不需要加平台信息和后綴名) 

  6.列出一個rpm包安裝的文件

    rpm -ql 包名

  7.列出某一個文件屬於哪個rpm包

    rpm -qf 文件的絕對路徑

    文件的絕對路徑如何查找:which vim

    rpm -qf `which vim`

  yum工具比rpm工具更好用,當然前提是你使用的linux系統支持yum.yum最大的優勢是可以去互聯網下載所需要的rpm包,然后自動安裝,在這個工程中如果要安裝的rpm包有依賴關系,yum會能幫你解決掉這些依賴關系依次安裝所有的rpm包。下面筆者介紹常用的yum命令。

    1.列出所有可用的rpm包

      yum list

      

     安裝信息如果安裝了就顯示installed,未安裝則顯示base或者extras,如果是該rpm包已經安裝但需要升級則顯示updates.

    2.搜索一個rpm包

      有兩種搜索方法:

      1)yum search [相關關鍵詞]   

        eg:yum serch vim

      2)使用grep過濾  

        yum list|grep vim

    3.安裝一個rpm包“yum install [-y][rpm包名]”

      如果不加-y選項,則會以用戶交互方式安裝,首先列出需要安裝的rpm包信息,然后會問用戶是否需要安裝,輸入y安裝,輸入n不安裝。直接加上-y選項,就省略掉了問用戶是否安裝的那一步。

    4.卸載一個rpm包“yum remove [-y][rpm包名]”

      -y選項和安裝時時一樣的作用

    5.升級一個rpm包“yum update [-y][rpm包]”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM