軟體包管理(二)–yum

Dabric發表於2018-08-12

yum


yum其實相當於是對rpm格式的軟體包進行管理,yum倉庫中有一個資料庫,通過該資料庫可以解決軟體包安裝的依賴關係,顯示當前yum倉庫中所有的rpm軟體把、安裝了哪些軟體包以及可以安裝的軟體包等功能。

  • yum倉庫中的後設資料檔案:
(1)primary.xml.gz
    所有RPM包的列表;
    依賴關係;
    每個RPM安裝生成的檔案列表;
(2)filelists.xml.gz
    當前倉庫中所有RPM包的所有檔案列表;
(3)other.xml.gz
    額外資訊,RPM包的修改日誌;
(4)repomd.xml
    記錄的是上面三個檔案的時間戳和校驗和;
(5)comps*.xml: RPM包分組資訊

/etc/yum.conf  yum的配置檔案
  • 如何為yum定義repo檔案(配置yum源)
在/etc/yum.repos.d/目錄下建立以.repo結尾的檔案,編輯以下內容:
[Repo_ID]           repo的id,來標識不同的yum源
name=Description    repo檔案的描述資訊
baseurl=            配置yum源的地址,有三種方式的地址
    ftp://
    http://
    file:///
enabled={1|0}       是否啟用該yum源,1代表啟用,0代表不啟用
gpgcheck={1|0}      是否檢查軟體包,1代表檢查,0代表不檢查
gpgkey=             如果啟用檢查軟體包,就得配置該選項,即金鑰檔案的地址

yum實現軟體包管理


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

    -y: 自動回答為yes
    --nogpgcheck
        list: 列表 
            支援glob
            all
            available:可用的,倉庫中有但尚未安裝的
            installed: 已經安裝的
            updates: 可用的升級

        clean: 清理快取
            [ packages | headers | metadata | dbcache | all ]

        repolist: 顯示repo列表及其簡要資訊
            all
            enabled: 預設
            disabled

        install: 安裝
        # yum install PACKAGE_NAME

        update: 升級
        update_to: 升級為指定版本

        remove|erase:解除安裝

        info: 

        provides| whatprovides: 檢視指定的檔案或特性是由哪個包安裝生成的; 
    
    軟體組相關的命令:
        groupinfo
        grouplist
        groupinstall   組軟體    -y
        groupremove
        groupupdate
/media/cdrom/{Server,VT,Cluster,ClusterStorage}

如何建立yum倉庫:


1、首先得安裝createrepo
2、將所有的rpm軟體包存放在一個資料夾內
3、利用createrepo生成yum倉庫中的後設資料檔案

RPM安裝:

二進位制格式:
源程式-->編譯-->二進位制格式
    有些特性是編譯選定的,如果編譯未選定此特性,將無法使用;
    rpm包的版本會落後於原始碼包,甚至落後很多;bind-9.8.7, bind-9.7.2

相關文章