1. 程式人生 > 實用技巧 >Linux_yum工具基本概述

Linux_yum工具基本概述

一、什麼是yum

1️⃣:yum是yellowdog update manager的簡稱,它能夠實現rpm管理的所有操作,並能夠自動解決各rpm包之間的依賴關係。

2️⃣:yum是rpm的前端工具,是基於rpm來實現軟體的管理的一個工具

3️⃣:不能用yum去管理windows的exe程式包,也不能用yum去管理ubuntu的deb程式包,只能用yum來管理redhat系列的rpm包

二、yum的優劣

1️⃣:yum最大的優勢就是能夠解決rpm的依賴問題,yum能夠自動解決軟體安裝時的依賴關係

2️⃣:yum的缺陷就是如果在未完成安裝的情況下強行中止安裝過程,下次再安裝時將無法解決依賴關係

3️⃣:dnf是redhat7上用來代替yum的一個工具,其存在的意義就是處理yum的缺陷,但其用法與yum是完全一樣的

三、yum的原理

1、yum伺服器端工作原理

1️⃣:所有要發行的rpm包都放在yum伺服器上以提供別人來下載,rpm包根據kernel的版本號,cpu的版本號分別編譯釋出

2️⃣:yum伺服器只要提供簡單的下載就可以了,ftp或者http的形式都可以

3️⃣:yum伺服器有一個最重要的環節就是整理出每個rpm包的基本資訊,包括rpm包對應的版本號、conf檔案、binary資訊,以及很關鍵的依賴資訊

4️⃣:在yum伺服器上提供了createrepo工具,用於把rpm包的基本概要資訊做成一張“清單”,這張“清單”就是描述每個rpm包的spec檔案中資訊

2、clinet端工作原理

1️⃣:client每次呼叫yum install或者search的時候,都會去解析/etc/yum.repos.d下面所有以.repo結尾的配置檔案

2️⃣:yum會定期去更新yum伺服器上的rpm包清單,然後把清單下載儲存到yum客戶端自己的cache裡面

3️⃣:根據/etc/yum.conf裡配置(預設是/var/cache/yum下面),每次呼叫yum裝包的時候都會去這個cache目錄下去找清單,

4️⃣:根據清單裡的rpm包描述從而來確定安裝包的名字、版本號、所需要的依賴包等,然後再去yum伺服器下載rpm安裝(前提是不存在rpm包的cache)

四、yum的配置檔案

1、yum的配置檔案有:

  • /etc/yum.conf //為所有倉庫提供公共配置 
  • /etc/yum.repos.d/*.repo //為倉庫的指向提供配置(軟體倉庫的配置檔案,必須以.repo結尾)

2、yum的repo配置檔案中可用的變數:

  • $releaseversion //當前OS的發行版的主版本號
  • $arch //平臺型別
  • $basearch //基礎平臺

3、yum的配置檔案示例

 //首先在/etc/yum.repo.d/下面建立一個repo檔案
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# touch dvd.repo    //檔名必須以.repo結尾
[root@localhost yum.repos.d]# ls 
dvd.repo  redhat.repo(redhat.repo是自帶的,可以不用管,裡面啥也沒有)
[root@localhost yum.repos.d]# vim dvd.repo 
[BaseOS]             //倉庫的名稱(可以隨意寫)
name=baseos       //描述資訊(可以隨意寫)
baseurl=file:///mnt/BaseOS          //倉庫的絕對路徑(我這是用的本地源)
gpgcheck=0         //檢測軟體倉庫來源的合法性,0為不檢查,1為檢測;如果為1,則需要指明gpgkey=
enabled=1           //是否啟用此倉庫,1為啟用,0為不啟用

[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
 //RHEL8版本的Packages被分在了BaseOS和AppStream中,所以需要配置兩個倉庫
[repo_name]    //倉庫的名稱
name=           //倉庫的描述資訊

baseurl=      //倉庫的具體路徑,接受以下三種類型
     ftp://             #ftp上的倉庫源
     http://           #網路上的倉庫源
     file:///           #本地的絕對路徑

enabled=1或者0
    1為啟用此倉庫;0為禁用此倉庫

gpgcheck=1或者0
    1為檢查軟體包來源合法性;0為不檢查來源
    如果gpgcheck設為1,則必須用gpgkey定義金鑰檔案的具體路徑:
    gpgkey=/PATH/TO/KEY    
repo引數說明

4、yum的其他引數說明  

cachedir=/var/cache/yum/$basearch/$releasever     //快取目錄
keepcache=0        //快取軟體包, 1啟動 0 關閉
debuglevel=2       //除錯級別
logfile=/var/log/yum.log    //日誌記錄位置
exactarch=1        //檢查平臺是否相容
obsoletes=1        //檢查包是否廢棄
gpgcheck=1         //檢查來源是否合法,需要有製作者的公鑰資訊
plugins=1          //是否啟用外掛
tolerant={1|0}     //容錯功能,1為開啟,0為關閉,當設為0時,如果用yum安裝多個軟體包且其中某個軟體包已經安裝過就會報錯;當設為1時,當要安裝的軟體已經安裝時自動忽略
installonly_limit=5
bugtracker_url
# metadata_expire=90m     //每小時手動檢查元資料
# in /etc/yum.repos.d         //包含repos.d目錄