軟件包管理之rpm與yum

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

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

  1.安裝一個rpm包數據庫

      rpm -ivh package_file小程序

      -i:安裝vim

      -v:可視化工具

      -h:顯示安裝進度blog

    另外的經常使用的附帶參數爲:rem

      --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包]」

相關文章
相關標籤/搜索