RHEL6入門系列之二十五,利用yum進行軟體管理

2021-09-21 23:00:08 字數 3568 閱讀 5834

一、 linux系統中安裝軟體的三種方法

linux系統中安裝軟體有三種方法:源**安裝、rpm包安裝、yum安裝。

這其中最古老的是原始碼安裝,這種方法雖然古老並且複雜,但仍然有很多人在用。這是由於在

linux系統中使用的絕大多數軟體都是開源軟體,軟體作者在發布軟體時直接提供的就是軟體的源**。使用者在取得應用軟體的原始碼檔案後,可以根據自身需求對軟體進行修改或定製,然後在自己的系統上重新編譯,即可生成能在該系統上執行的程式檔案。通過原始碼安裝,使用者可以獲得最新的應用程式,可以定製更靈活、豐富的功能,而且使軟體可以跨越計算機平台,在所有版本的linux系統中都能使用。

但原始碼安裝方式過於複雜,耗時又長,對使用者的軟體開發能力要求也比較高。為此

red hat特別設計了一種名為rpm(redhat packet manager)的軟體包管理系統,rpm是一種已經編譯並封裝好的軟體包,使用者可以直接安裝使用。通過rpm,使用者可以更加輕鬆方便地管理系統中的所有軟體。rpm軟體包只能在使用rpm機制的linux作業系統中使用,如rhel、fdeora、suse等。在linux世界中,還有另外一種名為deb的軟體包管理機制,可以在debian、ubuntu等系統中使用。相比較而言,還是rpm安裝包應用更為廣泛,基本已成為linux系統中軟體安裝包事實上的標準。但是rpm也有乙個很大的缺點,即rpm軟體包之間存在著複雜的依賴關係。在多數情況下,乙個軟體都是由多個相互依賴的rpm軟體包組成的,而大部分的rpm包又有相互之間的依賴關係。例如,安裝a軟體需要b軟體的支援,而安裝b軟體又需要c軟體的支援,那麼在安裝a軟體之前,必須先安裝c軟體,再安裝b軟體,最後才能安裝a,有時甚至還可能會出現死迴圈。所以後來又出現了一種更加簡單、更加人性化的軟體安裝方法,這就是yum安裝。

yum(

yellow dog updater,modified)是乙個基於rpm卻勝於rpm的軟體管理工具,它的最大優點是可以自動解決rpm軟體包間的依賴性問題,從而可以更輕鬆的管理linux系統中的軟體。從rhel5開始,red hat就推薦用yum作為軟體安裝的首選方式,所以今天我們就首先來學習yum安裝。

二、配置yum源

要使用 yum安裝方式,首先必須要配置好yum源(也稱為「yum倉庫」),即指定所有rpm軟體包的存放位置。

如果是合法的

rhel使用者,並且已經成功地在紅帽官方的red hat network(rhn)上註冊,那麼rhel系統會自動使用rhn作為預設yum源,也就是說我們安裝的所有軟體都可以直接來自紅帽官網。但估計有這樣實力的人並不多,何況是對於我們初學者,所以更多的情況下我們需要自己來配置yum源。

由於在rhel6的系統光碟中已經整合了絕大多數應用軟體的rpm包,因此一般可以指定系統光碟作為yum源,或者是指定網路中的某台ftp或web伺服器作為yum源。 設定

yum源需要配置定義檔案,定義檔案必須存放在指定的「/etc/yum.repos.d/」目錄中,而且必須以「.repo」作為副檔名。

下面我們就配置乙個名為「

***.repo」、以系統光碟作為yum源的定義檔案。

首先掛載光碟:

# mount /dev/cdrom /mnt/cdrom

然後生成並配置

yum源定義檔案:

# vim /etc/yum.repos.d/***.repo

檔案中各行的含義:

(1)[***]:yum源的識別名稱,可自由定義。

(2)name=rhel6 ***:對yum源的描述,可自由定義。

(3)baseurl=file:///mnt/cdrom:指定yum源的url位址,這是整個定義檔案中最重要的一行。url位址可以有三種不同的表示方法:

所以「baseurl=file:///mnt/cdrom」就表示url指向的是本機中的「/mnt/cdrom」目錄。

( 4) enabled=1:啟用當前yum源,如果設為0則表示禁用。預設值為1。 (

5)gpgcheck=1:指定在安裝yum源中的軟體包之前是否檢查rpm軟體包的數字簽名,1表示檢查,0表示不檢查。 在

rhel6系統光碟中的rpm軟體包都是由red hat封裝製作的,這稱為官方軟體包。普通使用者自己也可以製作封裝rpm包,這就稱為第三方軟體包。對於第三方的軟體包,很難保證其安全性,而且即使是官方軟體包,也有可能被篡改,所以red hat就在自己的官方軟體包中用私鑰進行了數字簽名,並將公鑰自動放置在已經安裝好的linux系統中,也就是由下面的gpgkey項所指定的位置。這樣在安裝rpm包時就要先檢查數字簽名,只有檢查通過才能繼續安裝。

當然也可以將

gpgcheck項設定為0,這樣就無需檢查數字簽名了,下面的gpgkey項也就無需設定。在我們的學習或實驗環境中可以將gpgcheck設為0,以簡化操作。但在生產環境中,為了保證安全性,一定要將該項設定為1。

在同乙個系統中可以同時配置並啟用多個

yum源,但是必須要保證這些yum源都是正確的,如果其中有任何乙個yum源出現錯誤,都會導致無法正常安裝軟體。

yum源設定好之後,可以執行「

yum list」命令進行檢測,該命令可以列出系統中已經安裝的以及yum源中所有的軟體包。

三、安裝/解除安裝軟體

安裝軟體使用「

yum install」命令,下面使用yum來安裝一款名叫telent-server的軟體。 使用

yum方式安裝軟體時,無論當前處在哪個工作目錄,都會自動從yum源裡查詢所要安裝的軟體包。

# yum install telnet-server

yum會自動檢查軟體包之間的依賴關係,可以發現要安裝telnet-server,還必須要安裝乙個依賴包xinetd。系統詢問是否確認安裝這兩款軟體,輸入「y」,按下回車鍵,就可以開始安裝了。軟體如果正確安裝,在最後將出現「complete!」的提示。

解除安裝軟體可以使用「yum remove」命令,如將剛才安裝的telnet-server軟體解除安裝掉:

按「y」確認之後,就可以將軟體解除安裝掉了。

四、yum命令的其它用法

1)yum info:檢視軟體包的資訊。

例,檢視

system-config-lvm軟體包的資訊。

從中可以檢視到軟體包的版本、適用平台、軟體描述等資訊。尤其是對一些不熟悉的軟體可以通過該命令了解其基本功能。

( 2)yum clean all:清除快取 在

yum系統中會建立乙個名為yum快取的空間,用來儲存一些yum的資料,以提高yum的執行效率。在大部分情況下無需費心管理yum快取中的資料,但有時如果發現yum執行不太正常,這也許是由yum快取錯誤造成的,此時就可以用「yum clean all」命令清除快取以解決問題。

五、yum故障排錯

在講課的過程中發現不少同學在使用

yum時出現問題,下面說一下排錯的思路: (

1)確認光碟是否已經掛載。 (

2)檢查yum源定義檔案是否存在錯誤。這個檔案要求非常嚴格,其中任何乙個單詞或字母出現錯誤,都會導致yum出現問題。 (

3)檢查是否還有別的yum源定義檔案。系統中可能會存在一些預設設定的yum源,最好將這些yum源設為禁用,或者是將其定義檔案刪除。 (

4)用「yum clean all」命令清除快取。 (

5)執行「yum list」命令檢測能否正確列出yum源中的軟體包。

RHEL6入門系列之二十一,管理交換分割槽

換分割槽的概念在前面曾提到過,交換分割槽類似於windows系統中的虛擬記憶體,能夠在一定程度上緩解物理記憶體不足的問題。當物理記憶體接近不足時,系統會將記憶體中不經常呼叫 cpu不經常處理的資料轉移到交換分割槽中,以騰出更多的記憶體空間讓常用的程式使用。在windows系統中是採用乙個名為page...

cas入門之二十五 ticket清理器

當ticket儲存器,沒有能力管理ticket的狀態時,則需要ticket清理器。預設的記憶體ticket儲存器,jpa儲存器等都需要ticket清理器 memecached ehcache等儲存器則不需要ticket清理器。預設情況下,ticket 清理器配置在cas web inf spring...

RHEL6入門系列之三十,服務管理

服務是在系統後台執行,並等待使用者或其它軟體呼叫的一類特殊程式。由於linux主要是用作伺服器作業系統,因而當學習完入門課程之後,接下來就要學習對各種常用服務的配置與管理,如實現web伺服器的httpd服務 實現ftp伺服器的vsftpd服務 實現郵件伺服器的postfix服務等。在我們的入門課程中...