YUM配置安裝使用詳解

一、YUM簡介

    1. YUM: Yellowdog Update Modifier

完成RHEL系列前端自動解決依賴關係安裝工具,依賴rpm存在

    2.工作模式:C/S 架構

      Server端(yum倉庫):依賴關係庫、原文件、校驗碼文件

      Client端:yum客戶端程序、配置文件(連接Server路徑信息)

    3.設計缺陷:

某一次安裝過程中半途終止,再次重啓後將無法解決程序間的依賴關係

yum升級版dnf就是爲了解決此類問題

    2.yum repository: yum repo,yum倉庫

存儲rpm包,以及包的相關的元數據文件(放置於特定目錄下:repodata);

 

二、YUM客戶端配置

    1.yum配置文件路徑

/etc/yum.conf:爲所有yum倉庫提供公共配置

/etc/yum.repos.d/*.repo:爲倉庫的指向提供配置

    2./etc/yum.conf主配置定義

        [root@localhost ~]# man 5 yum.conf           #可獲得yum.conf的詳解

       [root@localhost ~]# cat /etc/yum.conf

[main]            #通用主配置段

cachedir=/var/cache/yum/$basearch/$releasever          # 緩存文件路徑

keepcache=0                     # 緩存到本地的文件是否保存

debuglevel=2                   # 調試級別

logfile=/var/log/yum.log                 # 安裝的日誌文件

exactarch=1                                              # 精確嚴格的平臺release匹配

obsoletes=1

gpgcheck=1                      #檢測來源合法性和完整性

plugins=1                         #支持插件機制

installonly_limit=5                    #同時安裝多少程序包

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bu        # 追蹤bug路徑

distroverpkg=centos-release               # 當前發行版版本號從哪兒獲取

#  This is the default, if you make this bigger yum won't see if the metadata

# is newer on the remote and so you'll "gain" the bandwidth of not having to

# download the new metadata and "pay" for it by yum not having correct

# information.

#  It is esp. important, to have correct metadata, for distributions like

# Fedora which don't keep old packages around. If you don't like this checking

# interupting your command line usage, it's much better to have something

# manually check the metadata once an hour (yum-updatesd will do this).

# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

    3.倉庫(*.repo)配置文件定義:

[repositoryID]        #倉庫ID,唯一標識別,不能重複

name=Some name for this repository       #  完整的倉庫名稱

baseurl=url://path/to/repository/          # yum倉庫指明的訪問路徑

enabled={1|0}           #是否啓用此yum倉庫,默認啓用

gpgcheck={1|0}              #是否檢查完整性和來源合法性

gpgkey=URL                     #祕鑰文件位置,可能是對方倉庫提供

enablegroups={1|0}              #是否基於組來批量管理程序包

failovermethod={roundrobin|priority}    #故障轉移方法:輪詢、根據優先級選擇; 默認roundrobin隨機

cost=#                    #設置開銷,默認爲1000

… ...

     說明:

                1)*.repo可以將多個[repositoryID]的配置信息放在一個而文件內,也可以切成多個方便管理

     2)baseurl可以使用:ftp:// 、http:// 、nfs:// 、file:///  指明URL路徑

     3)baseurl等號兩邊不能有空格,其後可以填寫多個鏡像訪問路徑,每行一個,不能頂行寫

           多個訪問路徑間聯繫是鏡像相同,目的是爲了做備用訪問

     4)更多選項使用man  5  yum.conf查看,基本配置只需前三行就可以        

     5)發行版光盤鏡像安裝可能會自動配置網絡鏡像URL地址

 

三、yum命令的用法

 yum   [options]   [command]   [package ...] 

    1.OPTIONS

    --nogpgcheck:禁止進行gpg check;

            -y:    自動回答爲“yes”;

            -q: 靜默模式,不輸出顯示信息;

            --disablerepo=repoidglob:臨時禁用此處指定的repo;

            --enablerepo=repoidglob:臨時啓用此處指定的repo;

            --noplugins:禁用所有插件;

 

    2.常用COMMAND

        (1)顯示倉庫列表:repolist

   # yum repolist [all|enabled|disabled]    [所有|可用的|不可用]

wKioL1Z9WKeAo9-8AAEJ7wLMzS8141.jpg

        (2)顯示程序包:list

                 # yum list [all | glob_exp1] [glob_exp2] [...]     [所有的|符合glob通配條件的]

                # yum list {available|installed|updates} [glob_exp1] [...]   可用尚未安裝的,已經安裝的,可升級的

        (3)安裝程序包:install

             # yum  install package1 [package2] [...]

                 # yum reinstall package1 [package2] [...]  (重新安裝)

wKiom1Z9WJKRYpY4AAEtes0ErR8288.jpg

wKioL1Z9WKjhaytDAAEkLkx3kWs681.jpg

        (4)卸載程序包:此時依賴於此安裝包也會被卸載

            yum remove | erase package1 [package2] [...]         

        (5)升、降級安裝程序包:update、downgrade

            # yum update [package1] [package2] [...]         升級操作

            # yum downgrade package1 [package2] [...]       降級操作

        (6)檢查可用升級:check-uodate

            # yum check-update

        (7)查看程序包簡要信息:info

            # yum info [package1]  [package2]  [...]

wKiom1Z9WJPDD8vUAAKYLxKL4wM239.jpg

        (8)查看指定的特性(可以是某文件)是由哪個程序包所提供:provides

            yum  provides | whatprovides feature1 [feature2] [...]

wKioL1Z9WKqx7_z6AADlLnR7s8Y583.jpg

        (9)清理本地緩存:clean

            # yum  clean  <packages | metadata | expire-cache | rpmdb | plugins | all >

包、源數據、過期緩存、rpmdb、插件、所有

包安裝完了會自動清除、而元數據(依賴關係等)不會自動,但下次yum安裝會自動重新校驗wKiom1Z9WJSRWKNMAAE1KBr2CXY931.jpg

        (10)構建緩存:重新yum安裝會自動創建緩存數據:makecache

            #  yum makecache

wKioL1Z9WKyQC3VTAAMVCzfzHAg325.jpg

        (11)以指定的關鍵字搜索程序包名及summary信息:search

              # yum  search  string1  [string2]  [...]   

wKioL1Z9WK_zRu0mAAUb2NlFxAw361.jpg

        (12)查看指定包所依賴的功能(capabilities):

               # yum deplist  package1  [package2] [...]

wKiom1Z9WJqiY1ofAAJt4AVCQUE381.jpg

        (13)查看yum事務歷史:history

            history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

 

    3.COMMAND:安裝及升級本地程序包

指定安裝本地的*.rpm,但是會根據yum源現有依賴關係,解決此安裝可能出現的依賴關係

             # yum  localinstall rpmfile1 [rpmfile2] [...]

             # yum  localupdate rpmfile1 [rpmfile2] [...]

 

    4.COMMAND:包組管理的相關命令:

包組:一堆程序的一個集合,用於一起安裝,因爲某些程序安裝需要依賴包組內容

                  # yum  groupinstall group1 [group2] [...]     安裝包組

                  # yum  groupupdate group1 [group2] [...]    升級包組

                  # yum  grouplist [hidden] [groupwildcard] [...]   顯示包組列表

                 # yum  groupremove group1 [group2] [...]     移除包組

                 # yum  groupinfo group1 [...]   顯示包組信息

 

四、創建yum倉庫

    1.使用光盤當作本地yum倉庫:

光盤的鏡像本身就是一個yum源,自己安裝系統時候選擇安裝工具時就是藉助yum自動安裝

       (1)掛載光盤至某目錄,例如/media/cdrom   # mount -r [-t iso9660]  /dev/cdrom /media/cdrom

       (2)創建配置文件

            [ID]

            name=

            baseurl=file:///… …

            gpgcheck=

    2.yum的repo配置文件中可用的變量:

            $releasever: 當前OS的發行版的主版本號;

            $arch: 平臺;

            $basearch:基礎平臺,同一系列最基本的架構,如32、64;

            $YUM0-$YUM9 可做自定義

wKiom1Z9WJvhLDbrAACrHBBzXtg387.jpg

    3.手動創建yum倉庫:

        (1)安裝工具:createrepo

wKioL1Z9WLHih-v4AAGpA0WzP1k244.jpg

        (2)下載所需要的所有文件到本地某個路徑

wKiom1Z9WJvTly-fAAB1D47cksI937.jpg

        (3)創建關聯關係: createrepo - Create repomd (xml-rpm-metadata) repository

命令:createrepo   [options]   <directory>

當完成狗會生成repodata即可

wKioL1Z9WLLww27xAAFasp_-BG0446.jpg

        (4)配置yum源文件,創建*.rope寫入信息即可

wKiom1Z9WJ6yTz2-AAJ328oD7W8080.jpg

 

發佈了6 篇原創文章 · 獲贊 13 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章