CentOS/使用YUM工具更新系统

来自站长百科
跳转至: 导航、​ 搜索

CentOS | CentOS安装 | CentOS使用手册

yum概述[ ]

Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装A软件,但是编译的时候告诉你X软件安装之前需要B软件,而当你安装Y软件的时 候,又告诉你需要Z库了,好不容易安装好Z库,发现版本还有问题等。

由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如Yellow Dog的YUM,DebianAPT等。开发这些工具的目的都是为了要解决安装R PM时的依赖性问题,而不是额外再建立一套安装模式。这些软件也被开源软件爱好者们逐渐移植到别的发行版上。目前,APT和YUM都可以运行在Red Hat系统上。目前yum是Red Hat/Fedora系统上默认安装的更新系统。

yum特点[ ]

  • 自动解决包的倚赖性问题能更方便的添加/删除/更新RPM包
  • 便于管理大量系统的更新问题
  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 保持与RPM数据库的一致性
  • 有一个比较详细的log,可以查看何时升级安装了什么软件包等
  • 使用方便

yum是CentOS/Fedora系统自带的,因此它能使用CentOS官方的软件源,完成各种官方发布的各种升级。对于第三方软件源的支持,yum也不差,大多数支持apt的repository,也能支持yum 。

配置yum客户的更新源[ ]

在.repo文件中,配置语法是分段的,每一段配置一个软件仓库,配置语法如下:

[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
mirrorlist=url://path/to/mirrorlist/repository/
enabled=0/1
gpgcheck=0/1
gpgkey=A URL pointing to the ASCII-armoured GPG key file for the repository

其中:

  • repositoryid : 用于指定一个仓库
  • name: 用于指定易读的仓库名称
  • baseurl : 用于指定本仓库的URL,可以是如下的几种类型:
    • http — 用于指定远程 HTTP 协议的源
    • ftp — 用于指定远程 FTP 协议的源
    • file — 用于本地镜像或 NFS 挂装文件系统
  • mirrorlist : 用于指定仓库的镜像站点
  • enabled : 用于指定是否使用本仓库,默认值为1,即可用
  • gpgcheck : 用于指定是否检查软件包的 GPG 签名
  • gpgkey : 用于指定GPG签名文件的URL

在name baseurl中经常使用如下的变量:

  • $releasever — 当前系统的版本号
  • $basearch — 当前系统的平台架构
  • 文件中以“#”开头的行是注释行
  • 若指定mirrorlist,系统将从CentOS的镜像站点中选择离您最近的仓库
  • 并非所有的国内镜像都在CentOS的镜像站点列表中,所以我们可以直接使用baseurl直接指定离您最近的仓库
  • baseurl 可以指定多个 UR L,系统会依次检查您列出的仓库,以便在某个服务器宕机时可以使用另外的服务器
  • 为了加快更新,在确保更新服务器及线路良好的情况下,在baseurl中只指定一个URL既可

设置网络更新源[ ]

下面是一个CentOS-Base.repo文件的实例,在此文件中没有设置mirrorlist ,使用baseurl只指定了一个URL。

[base]
name=CentOS-$releasever - Base
baseurl=http://centos.candishosting.com.cn/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[updates]
name=CentOS-$releasever - Updates
baseurl=http://centos.candishosting.com.cn/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-$releasever - Addons
baseurl=http://centos.candishosting.com.cn/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-$releasever - Extras
baseurl=http://centos.candishosting.com.cn/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://centos.candishosting.com.cn/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

设置本地更新源[ ]

为了使用安装光盘作为更新源,可以修改CentOS-Media.repo 文件,下面是一个配置实例。

[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
  • 为了使用 c5-media仓库,需将CentO S-Base .repo文件中的base仓库使用enabled=0设置成不可用。
  • 若本地磁盘空间有足够空间,您也可以将安装光盘复制到本地磁盘的一个目录中

yum命令简介[ ]

下面是一些较常见的用法。

命令 功能
yum check-update 检查可更新的所有软件包
yum update 下载更新系统已安装的所有软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum install <packages> 安装新软件包
yum update <packages> 更新指定的软件包
yum remove <packages> 卸载指定的软件包
yum groupinstall <groupnames> 安装指定软件组中的软件包
yum groupupdate <groupnames> 更新指定软件组中的软件包
yum groupremove <groupnames> 卸载指定软件组中的软件包
yum grouplist 查看系统中已经安装的和可用的软件组
yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list <regex> 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available <regex> 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates <regex> 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed <regex> 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras <regex> 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包
yum search <regex> 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum provides <regex> 检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件
yum deplist <packages> 显示软件包的依赖信息
  • 当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于 /var/cache /yum 目录下,所需时间可能较长。
  • 还可以使用 yum info 命令列出包信息,yum info 可用的参数与 yum list 的相同。
  • yum 命令还可以使用 -y 参数用于用 yes 回答命令运行时所提出的问题。

参考来源[ ]

http://www.centospub.com/bbs/forumdisplay.php?fid=10

CentOS使用手册导航

CentOS安装

CentOS安装 | 系统安装后的初始环境设置 | 服务器方式安装CentOS 5

CentOS使用手册

使用RPM管理包 | 使用YUM工具更新系统 | 使用rsync服务 | 使用rsync同步 | 使用tar备份 | 使用tar恢复文件 | Samba 服务器的构建 | 用SWAT让Samba服务器的管理温和化 | SMTP服务器的构建 | POP/IMAP服务器的构建 | 病毒查杀系统的构建 | 入侵监测系统的构建 | 用OpenSSH构建SSH服务器 | 用SSH客户端软件登录到服务器 | 让服务器支持安全HTTP协议 | 开放一般用户的网页发布权限 | 虚拟主机的构建 | Servlet/JSP服务器的构建 | 基于日志的站点统计系统的构建 | 构建MySQL数据库服务器 | 用phpMyAdmin让MySQL数据库管理温和化 | 数据库的自动备份与恢复 | 用ProFTPD构建FTP服务器 | 用FTP客户端软件连接到服务器