
yum是rhel系統中提供的一個安裝,解除安裝和搜尋軟體包的工具。它能做的不僅僅是安裝、解除安裝軟體包,它能做的還有更多,下面我們将在本文中為你展示。
yum可以自動安裝軟體包的依賴包,例如當你使用yum安裝httpd時,它還會自動安裝https apache server以及它依賴的軟體包。通過rpm軟體包安裝時就沒有這麼友善咯(譯注:就是不會自動處理軟體包依賴問題咯!),你必須下載下傳所有它依賴的軟體包,然後依序安裝它們。
yum工具從遠端伺服器上的軟體倉庫(通常由os提供商提供)擷取軟體包的資訊。一個軟體倉庫是能在特定架構上運作的一系列rpm軟體包的集合。例如,對于32位和64位系統各有一個軟體倉庫,還有針對rhel5以及rhel6的軟體倉庫。你也可以建立一個本地倉庫,配置你的yum讓其從你的本地倉庫裡搜尋安裝軟體包。在接下來的例子中,我将向你展示除了安裝和解除安裝軟體,yum還可以做的其它事情。為友善了解,我将在我的amazon ec2 rhel 6.4伺服器上使用httpd軟體包為例。
<a target="_blank"></a>
想獲得詳細的輸出資訊,可以使用下面的指令:
yum provides httpd在軟體倉庫裡搜尋含有httpd的軟體包。
以上指令将為你顯示已經安裝的以及可用的軟體組。你可以使用軟體組安裝選項來安裝其中一個軟體組。例如,我們将安裝一個php support的軟體組。這個軟體組内包含需要的php軟體包。
可以使用yum install指令安裝軟體包,如下所示:
如你所見,在安裝httpd時yum安裝了額外的軟體包。這稱為yum完成的依賴包解析。
假如你不想讓yum彈出[y/n]選項,可以使用yum install -y httpd
這意味着你系統中安裝的httpd軟體包已經是yum軟體倉庫裡的最新版本的了。
以上指令将系統上的所有軟體包更新到最新版本,包括核心軟體包,這意味着你的os更新到了rhel提供的最新版本了。
可以使用yum從rhel或者centos的軟體倉庫裡下載下傳rpm軟體包但是不安裝。你首先需要下載下傳一個插件讓yum隻下載下傳rpm軟體包而不安裝。插件名字叫downloadonly,可以通過yum安裝,如下所示:
現在你就可以從軟體倉庫裡隻下載下傳軟體包而不安裝了,指令如下:
預設情況下軟體包會被下載下傳到/var/cache/yum/目錄,但是你可以添加額外選項将其下載下傳到指定位置
假如你有一個rpm軟體包但是沒有它所依賴的軟體包,你不知道到哪去得到它所依賴的軟體包。你仍然可以通過yum安裝這個rpm軟體包,并從軟體倉庫裡得到它所依賴的軟體包。讓我們安裝剛剛下載下傳的httpd-devel-2.2.15-29.el64.x8664 rpm軟體包。
使用 yum remove 解除安裝軟體包。舉例如下:
假如你要列出你系統上安裝的所有軟體包,你可以使用yum list installed指令。這條指令結合grep指令是非常有用的,可以用來檢查某個特定的軟體包是否已被安裝。這與使用rpm -qa指令詢問已經安裝的軟體包相似。
原文釋出時間為:2013-11-19
本文來自雲栖社群合作夥伴“linux中國”