Linux 入門記錄:二10、Linux 包管理工具 YUM

1、YUM(Yellowdog Updater, Modified)

1. YUM 簡介

RPM 軟件包形式管理軟件雖然方便,可是須要手動解決軟件包的依賴問題。不少時候安裝一個軟件首先須要安裝 1 個或多個(有時多達上百個)其餘軟件,手動解決依賴問題很複雜。使用 YUM能夠解決這個問題。Linux 底層也是經過 YUM 來進行軟件包管理的(包括圖形界面)。php

 

2. 設計目標

YUM(Yellowdog Updater, Modified)是一個基於 RPM 包管理的字符前端軟件包管理器,設計目的主要是用來自動解決 RPM 的依賴問題。其特色以下:前端

  • 自動解決依賴關係
  • 能夠對 RPM 進行分組,並基於組進行安裝操做
  • 引入倉庫概念,支持多個倉庫
  • 配置簡單(/etc/yum.conf 和 /etc/yum.repos.d/*.repo)

 

2、YUM倉庫(Repository)

1. 倉庫簡介

YUM 引入了倉庫(Repository)的概念,用來存放全部現有的 RPM包。當使用 YUM 安裝一個 rpm 包的時候,若是存在依賴關係,YUM 會自動地在倉庫中查找依賴並進行安裝。倉庫能夠是本地的,也能夠經過 http、ftp 或 nfs 形式使用集中、統一的網絡倉庫。YUM 經過倉庫來很好地管理 RPM 包。linux

 

2. 配置文件

YUM 的配置文件有 2 種:centos

(1)YUM 的主配置文件 /etc/yum.conf,爲全部倉庫提供公共配置。配置參數格式以下:緩存

[main]
cachedir=/var/cache/yum/$basearch/$releasever   包的緩存目錄
keepcache=0      安裝後是否保留緩存
debuglevel=2     調試級別,默認爲2(0~10)
logfile=/var/log/yum.log   日誌文件
exactarch=1      是否須要平臺徹底匹配
obsoletes=1      是否須要檢查已過時倉庫
gpgcheck=1       是否檢查包的完整性和合法性
plugins=1        是否容許支持YUM插件功能
installonly_limit=5        容許保留內核包的數量
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release  指定一個軟件包,YUM會根據這個包判斷你的發行版本,CentOS裏默認centos-release

(2)各個倉庫的配置文件 /etc/yum.repos.d/ *.repo。配置參數格式以下:bash

[base]           倉庫名,必須惟一
name=CentOS-$releasever - Base   描述信息
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra   鏡像列表,根據該地址動態獲取baseurl
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/   真正的倉庫地址,能夠多個
enabled=1        是否啓用該倉庫
gpgcheck=1       是否進行包的合法性檢測
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 軟件包的公鑰所在的文件路徑
enablegroups=1   是否基於組來批量管理程序包
failovermethod={roundrobin|priority} 有多個url可供選擇時,YUM的選擇次序,默認roundrobin(隨機選擇)
cost=1000        倉庫優先級,默認1000
備註部分:
    base庫:一般爲系統發行版所提供的程序包(光盤)
    updates庫:存放更新包
    extra庫:存放額外包
    epel庫:epel庫文件

  

3、YUM基本命令

YUM 管理軟件包的經常使用命令有:網絡

yum install package-name  安裝指定軟件包
yum remove package-name   卸載指定軟件包
yum update package-name   升級指定軟件包

  

4、YUM查詢

yum search keyword          關鍵字搜索相關包
yum list [all|installed|recent|updates]   列出[所有|已安裝的|最近的|更新]全部包
yum info package-name       查詢包信息
yum whatprovides filename   查詢哪一個包提供了目標文件

  

5、建立YUM倉庫

能夠經過如下方式手動建立 YUM 倉庫:ide

1. 將全部 rpm 文件拷貝到一個文件夾中url

2. 經過 rpm 命令手動安裝 createrepo 軟件spa

3. 運行 createrepo -v /rpm-directory 

4. 若是有分組信息,則再運行命令的時候使用 -g 參數指定分組文件

createrepo -g /tmp/*comps.xml/rpm-directory

(CentOS/RHEL 的分組信息保存在光盤目錄下 repodata/,文件名以 comps.xml 結尾)

 

建立好以後,本機能夠經過 file 方式直接使用,或者能夠經過 http、ftp 或 nfs 協議共享出去。

 

6、YUM緩存

YUM 爲了提升速度會有不少緩存,但有時候緩存會形成一些故障,能夠經過如下命令來清理緩存:

yum clear all

每次運行 YUM 安裝或查詢一類的命令時會生成緩存。

 

OK,Linux 入門記錄系列暫時告一段落。

參考連接:YUM 的使用和YUM源的配置

相關文章
相關標籤/搜索