一、部署YUM軟件倉庫
要成功使用YUM機制來更新系統和軟件,需要有一個包含各種rpm安裝包文件的軟件倉庫(Repository),提供軟件倉庫的服務器也稱爲“源”服務器,在客戶機中只要正確指定軟件倉庫的地址等信息,就可以通過對應的“源”服務器來安裝或更新軟件了。
1、服務器端
YUM軟件倉庫通過藉助於HTTP或者FTP協議來進行發佈,這樣 可以面向網絡中所有客戶機提供軟件源服務。爲了便於客戶機查詢軟件包、獲取依賴關係等信息,在軟件倉庫中需要提供倉庫數據(Repodata),其中收集了目錄下所有RPM包的頭部信息。
①安裝並啓用vsftpd服務
[root@localhost ~]# rpm -ivh /media/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# service vsftpd start
②準備軟件倉庫目錄
[root@localhost ~]# cp -rfp /media/cdrom/* /var/ftp/pub/
2、客戶機端
在客戶機上需要指定至少一個可用的軟件倉庫,然後才能使用yum工具來下載、安裝軟件包。yum工具使用的軟件倉庫信息存放在/etc/yum.repos.d/目錄下擴展名爲.repo的文件中。
[root@localhost ~]# vi /etc/yum.repos.d/rhel6.repo
[rhel-server] //倉庫類別
name=Red Hat Enterprise Linux server//倉庫名稱
baseurl=ftp://192.168.1.180/pub/Server //URL訪問路徑
enabled=1 //啓用此軟件倉庫
gpgcheck=0 //不驗證軟件包的簽名 =1 //驗證吧包的簽名
gpgkey=ftp://192.168.1.180/pub//RPM-GPG-KEY-redhat-release
上述操作中,文件rhel6.repo需要手動創建,/etc/yum.repos.d/目錄下若有其他末用的*.repo文件建議將其刪除,配置"enabled=1"爲默認項,可以省略;"gpgcheck"和"gpgkey"兩行配置用來檢查軟件包是否爲Red Hat發佈,若無此要求則可以省略。
作爲臨時解決辦法之一,實際上也可以使用本地文件夾作爲軟件倉庫,例如,將RHEL6光盤掛在到/media目錄以後,可以參考一下操作來進行配置。當然,這種方式僅限於在本機使用。
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[rhel-server]
name=Red Enterprise Linux server
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
二、使用yum工具管理軟件包
1、查詢軟件包
yum工具的常見查詢操作包括獲取軟件包安裝,查詢軟件包的描述信息,搜索指定的軟件包,分別可結合子命令list、info、search來實現。
①yum list ————查詢軟件包列表
直接執行“yum list”命令可以獲得系統中的軟件安裝情況,也可以查詢軟件倉庫中可用的軟件包列表。其中子命令list表示列表查看。
[root@localhost ~]# yum list
若執行“yum list installed”則表示只列出系統中已安裝的軟件包,執行“yum list available” 則表示只列出軟件倉庫中可用(尚未安裝)的軟件包,執行“yum list updates”則表示只列出可以升級版本的軟件包。
②yum info ————查詢軟件包的描述信息
當前要查看某個軟件包的描述信息時,可以執行“yum info軟件包名”,其中子命令info表示獲取信息。例如,以下操作可以查看軟件包httpd的信息
[root@localhost /]# yum info httpd
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Installed Packages
Name : httpd
Arch : i686
Version : 2.2.15
Release : 9.el6
Size : 2.8 M
Repo : installed
From repo : local
Summary : Apache HTTP Server
URL : http://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
③yum search————查新指定的軟件包
當需要根據某個關鍵詞來查找相關的軟件包時,可以執行“yum search關鍵詞”,默認僅根據軟件包名稱和描述信息進行搜索;若執行“yum search all關鍵詞”,可以擴大搜索範圍。例如,以下操作將搜索軟件倉庫並列出與”httpd“相關的軟件包。
[root@localhost /]# yum search all httpd
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
============================================================================ Matched: httpd ============================================================================
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.i686 : Tools for use with the Apache HTTP Server
httpd.i686 : Apache HTTP Server
mod_dav_svn.i686 : Apache httpd module for Subversion server
mod_dnssd.i686 : An Apache HTTPD module which adds Zeroconf support
mod_ssl.i686 : SSL/TLS module for the Apache HTTP Server
2、安裝、升級、卸載軟件包
使用yum工具安裝、升級軟件包、分別通過子命令install、update來完成、操作對象爲指定的軟件包名(可以有多個),執行操作時會自動檢查並解決軟件包之間的依賴關係,期間會提示用戶按y鍵確認安裝或升級操作,若希望自動確認爲y,可以在yum命令後添加“-y”選項,例如,一下操作將從軟件倉庫下載並安裝autofs軟件包,並自動解決其依賴關係(安裝必須的hesiod等軟件包)。
[root@localhost ~]# yum -y install autofs
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package autofs.i686 1:5.0.5-31.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================
Package Arch Version Repository Size
=================================================================================
Installing:
autofs i686 1:5.0.5-31.el6 Packages 464 k
Transaction Summary
=================================================================================
Install 1 Package(s)
Total download size: 464 k
Installed size: 2.9 M
Downloading Packages:
autofs-5.0.5-31.el6.i686.rpm | 464 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing 1:autofs-5.0.5-31.el6.i686 1/1
duration: 246(ms)
Installed products updated.
Installed:
autofs.i686 1:5.0.5-31.el6
Complete!
使用yum工具卸載軟件包時,通過子命令remove來完成,卸載操作通過軟件倉庫也可以完成。例如,以下操作將卸載libX11軟件包,並自動解決其依賴關係(卸載依存的cairo、fprintd等軟件包)。
[root@localhost ~]# yum -y remove libX11