一、了解 YUM
YUM(Yellow dog Update Manager)是 RedHat 新一代的软件包管理器,目前的 RHEL、Fedora Core、CentOS 等红帽子出产的 Linux 系列发行套件都采用了这种包管理方法。软件包的安装、更新和补丁的下发都可以用 YUM 来管理。
YUM 管理软件包的依据是 repo 下载源,这是一个采用 http 协议的 Web 站点,在 /etc/yum.repos.d/ 文件夹下的 repo 文本文件中定义。repo 文件可以理解为下载源的配置文件,用于为 YUM 导航。
二、了解 repo 文件
以下是 CentOS5.5 下的 /etc/yum.repos.d/CentOS-Base.repo 文本文件的内容:
# CentOS-Base.repo [base] name=CentOS-$releasever – Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#released updates [updates] name=CentOS-$releasever – Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released [addons] name=CentOS-$releasever – Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful [extras] name=CentOS-$releasever – Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever – Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#contrib – packages by Centos Users [contrib] name=CentOS-$releasever – Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
这个文件有[base]、[updates]、[addons]、[extras]、[centosplus]和[contrib]6个节的配置。
每个部分定义了节的名称、下载源镜像站点的地址,如果 mirrorlist 指向的站点无法下载,,可以去掉 baseurl 前的注释试一下。gpgkey 指向了一个公钥文件,公钥用于进行信息加密、防止信息传输中的欺骗和抵赖。gpgcheck=1表示进行密钥检查,0 表示关闭它。enabled=0 表示暂时关闭本节的下载源定义,不定义的时默认认为 enabled=1。
在用 yum 命令安装、更新、检测软件包时,yum 程序会依次检查 enabled=1 的节中定义的下载源,进行软件包的管理。
如果 /etc/yum.repos.d/ 路径下有别的 repo 文件,YUM 会自动加载它,与 CentOS-Base.repo 文件同样对待。
比如,utterramblings.repo 文件:
[utterramblings] name=Jason’s Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitk
这个文件定义了一个 AMP 安装下载源,会被 yum 程序自动加载。定义了新的下载源后,如果新的下载源里包含有目前一些软件包的更新,那么 CentOS 5.5 的“Package Updater”(软件包更新管理器,出现在桌面的右上角)就会适时检测到这些更新,并通知我们。请根据需要,谨慎选择可以更新的软件包。
你的脸是为了呈现上帝赐给人类最贵重的礼物–微笑,一定要成为你工作最大的资产。