rpm 講解

  CentOS7主要有rpm和yum這兩種包軟件的管理。兩種包的管理各有用處,其中主要區別是:YUM使用簡單但需要聯網,YUM會去網上的YUM包源去獲取所需要的軟件包。而RPM的需要的操作經度比較細,需要我們做的事情比較多。

  軟件包的安裝和卸是很平常的事,但在Linux上面卻不簡單。Linux的其中一個哲學就是一個程序只做一件事,並且做好。組合小程序來完成複雜的任務,這樣做有很多好處,但是各個小程序之間往往會存在着複雜的依賴關係。這時就有了redhat包管理器rpm。英文是redhat package manager ,redhat 軟件包的管理

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

首先是:

rpm –help

可以看到這裏有很多的命令,是rpm需要命令,下面列出了常用命令。

 

RPM常用命令:

       -i   安裝軟件包
          --nodeps   不驗證軟件包的依賴
  -v  可視化,提供更多的詳細信息的輸出
  -h  顯示安裝進度
  另外的常用的附帶參數爲:
    --force 強制安裝,即使覆蓋其他包的文件也要安裝
      -a 查詢所有已經安裝的軟件包
      -f 查詢 文件所屬於的軟件包
      -q 查詢軟件包(通常用來看下還未安裝的軟件包)
      -l 顯示軟件包的文件列表
      -d 顯示被標註爲文檔的文件列表
      -c 顯示被標註爲配置文件的文件列表 最後這兩個用的很少了

rpm 包名字結構:

glibc-2.17-196.el7_4.2.x86_64

  glibc      -2             .17                             -el7            x86              64

軟件名   主版本號   次版本號   修訂號     RHEL7    CPU架構平臺  支持系統位數

-el我是哪個平臺的,rpm包有個特點,我是centOS7的rpm包一般只能裝到CentOS7的系統裏,一般是CentOS6的軟件包只能裝到CentOS6的系統裏。

大家可能也看到過後面以i686結尾的rpm包,這類是32位的rpm軟件包。

分清楚之後我們就進行安裝。

-i ,--install  安裝軟件包

--nodeps 不驗證軟件包的依賴,什麼叫軟包的依賴,大家都習慣windows的雙擊下一步,下一步,Linux不是這樣子的。

-v, --verbose 提供更多的詳細信息輸出

-h ,--hash 軟件包安裝的時候列出哈希標記

大家就記住ivh這幾個都需要。

比如說我想安裝一個vagrant的安裝包。

rmp –ivh vagrant_1.9.8_x86_64.rpm

加入-h 安裝的進度條就有了。


如果想要升級這個rpm軟件包,輸入:

rpm -Uvh 加這個軟件包的名字-U:即升級的意思,這裏就不演示了。,一般升級用的比較少,只用在有漏洞的時候可能會用到,

接着我們剛剛安裝了vagrant,如何能查詢到安裝的信息,輸入:

rpm –qa

其中 –a選項是查詢所有已經安裝的軟件包。

q是查詢一個包是否安裝

從這裏可以看大將所有安裝的rpm都列了出來,那麼安裝了這麼多軟件包。


我僅想搜索剛剛安裝的vagrant,輸入正則搜索是不是可以啊:

rpm -qa |grep vagrant


使用管道和搜索,現在顯示了這個包的信息,rpm還提供了一種簡單的方法:

rpm –q vagrant


這樣就能搜索到我們剛剛安裝的rpm包了,下面在做一個演示。

rpm –q vagrant_1.9.8_x86_64.rpm

如果你這樣搜索,加入了後綴,是搜索不出來的:如果加了平臺信息及後綴名,反而不能查出來,這點大家要注意。

rpm 包的卸載,

rpm –e 包的名字  ,e是擦除的意思,卸載的時候,我們要寫查詢出來的這個名字:

rpm –e vagrant-1.9.8-1.x86_64

而不能寫安裝時候的名字,這兩個名字是不一樣的。

在查詢一下,已經沒有了。

下面我再將這個包進行安裝,安裝的命令相信大家都會了,輸入:

rpm –ivh vagrant_1.9.8_x86_64.rpm

安裝好了之後,輸入

rpm –qi vagrant

其中,q 是查詢,i是安裝,一起用就是查詢安裝的軟件包vagrant的信息。


這裏同樣不需要輸入後綴,我們可以看到vagrant這個rpm軟件包的詳細信息。有name是..,等等。

輸入:rpm -ql 包名

列出一個rpm包安裝的文件


-l 顯示軟件包的文件列表

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

 rpm -qf 文件的絕對路徑

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

 rpm -qf`which vim`

-f 查詢文件所屬於的軟件包。


RPM下載網址:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章