搭建YUM倉庫服務

YUM倉庫服務

 

    

 

Name: 北京——東東

LINUX系統運維技術交流羣:4930609

QQ:6762567

Email:[email protected]

簡介

       在企業信息化應用環境中,安全性不僅取決於硬件防護設備、系統加固、漏洞掃與評估、服務器幾種監控、訪問控制等基礎設施,如何減少鼓掌中斷時間、提高存儲及備份的完善性也是確保企業信息安全的重要措施。

 

      通過源代碼編譯的方式來安裝程序在靈活性、可定製性方面具有無可比擬的優勢,但也正因爲這種例外特性給管理員帶來了額外的維護開銷,當需要在大規模的服務器羣應用時存在一定的侷限性。

      RHEL6系統中構建並使用軟件倉庫,實現基於網絡的軟件包安裝、更新、卸載的規範化管理。

一、部署YUM軟件倉庫

       YUM的前身是YUP(Yellow dog UpdaterYellow dog Linux 的軟件更新器),最初由TSS公司(Terra Soft SolutionsINC.)使用Python語言開發而成,後來由杜克大學的Linux開發隊伍進行改進,命名爲YUM(Yellow dog UpdaterModified)

         要成功使用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 ~]# mkdir /var/ftp/rhel6

[root@localhost ~]# cp -rfp /media/* /var/ftp/rhel6/

[root@localhost ~]# cd /var/ftp/rhel6/Packages/

[root@localhost Packages]# createrepo -g /media/repodata/repomd.xml ./

                                                                                    // 以現有的repodata目錄爲樣板

 

2、配置軟件倉庫位置(客戶機端)

 

       在客戶機上需要指定至少一個可用的軟件倉庫,然後才能使用yum工具來下載、安裝軟件包。yum工具使用的軟件倉庫信息存放在/etc/yum.repos.d/目錄下擴展名爲.repo的文件中。

 

[root@localhost ~]# vi /etc/yum.repos.d/rhel6.repo

[Packages]                                                                            //倉庫類別

name=Red Hat Enterprise Linux                                          //倉庫名稱

baseurl=ftp://192.168.1.180/rhel6/Packages                         //URL訪問路徑

enabled=1                                                                             //啓用此軟件倉庫

gpgcheck=0                                                                          //不驗證軟件包的簽名

        

     上述操作中,文件rhel6.repo需要手動創建,/etc/yum.repos.d/目錄下若有其他末用的*.repo文件建議將其刪除,配置"enabled=1"爲默認項,可以省略;"gpgcheck""gpgkey"兩行配置用來檢查軟件包是否爲Red Hat發佈,若無此要求則可以省略。

        

     作爲臨時解決辦法之一,實際上也可以使用本地文件夾作爲軟件倉庫,例如,將RHEL6光盤掛在到/media目錄以後,可以參考一下操作來進行配置。當然,這種方式僅限於在本機使用。

[root@localhost ~]# vi /etc/yum.repos.d/local.repo

[local]

name=Red Enterprise Linux

baseurl=file:///media/Server

enabled=1

gpgcheck=0

 

二、使用yum工具管理軟件包

1、查詢軟件包

       yum工具的常見查詢操作包括獲取軟件包安裝,查詢軟件包的描述信息,搜索指定的軟件包,分別可結合子命令listinfosearch來實現。

 

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工具安裝、升級軟件包、分別通過子命令installupdate來完成、操作對象爲指定的軟件包名(可以有多個),執行操作時會自動檢查並解決軟件包之間的依賴關係,期間會提示用戶按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軟件包,並自動解決其依賴關係(卸載依存的cairofprintd等軟件包)。

[root@localhost ~]# yum -y remove libX11

 

三、經驗總結

      通過查詢操作“yum grouplist”,“yum groupinfo分組名稱”可以獲得YUM倉庫中的軟件分組信息。例如,執行“yum groupinfo Desktop”命令後將列出軟件分組Desktop所包括的軟件包等信息。

 

       使用yum工具管理軟件包時,結合子命令groupinstallgroupdategroupremove、可以針對軟件分組進行安裝、升級、卸載操作。例如,執行“yum -y groupremove Destop”命令,則會刪除整個Desktop分組所包含的軟件包。

 

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