wangbin
  • wangbin
  • 2018-10-06
  • IT

yum:CentOS系统的软件包管理工具

一. 简介

每次重装完系统,执行的第一个命令就是yum -y update来更新系统软件,很好用,这次就介绍下它。

yum:Yellowdog Update Modifier,是一种基于rpm的包管理工具,它能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

通俗来讲,就是可以用它来安装软件。

这里顺便简单介绍下,常见的Linux发行版主要是ReadHat系和Debian系。

  1. ReadHat系是商业公司维护的发行版本,包括ReadHat、Fedora Core、CentOS等,默认使用的软件包格式是*.rpm,手动安装命令rpm(Redhat Package Manager),软件包管理工具是yum。

  2. Debian系是社区组织维护的发行版本,包括Debian、Ubuntu等,默认使用的软件包格式是*.deb,手动安装命令dpkg,软件包管理工具是apt-get。

我个人使用的是CentOS,后面有时间再研究研究Debian。

二. /etc/yum.conf

yum的配置文件/etc/yum.conf,简单介绍下其中的参数

# 启用缓存
keepcache=1
# 安装包缓存目录
# cachedir=/var/cache/yum/x86_64/7
cachedir=/var/cache/yum/$basearch/$releasever
# 是否检查GPG(GNU Private Guard),一种密钥方式签名
gpgcheck=1            

其中

  1. $basearch变量定义了系统的架构,可以是i386、x86_64、ppc等值,通过命令arch可以得到,我这里$basearch=x86_64

  2. $releasever变量定义了发行版本,通常是6,7等数字,通过命令rpm -qi centos-release可以得到,我这里$releasever=7

三. /etc/yum.repos.d

repo文件放在这个目录下,一个repo文件配置了一个或者多个软件仓库的细节内容,这里以CentOS-Base-163.repo为例,解释下参数

CentOS-Base-163.repo

[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
  1. [base] 方括号里面的是软件源的名称,将被yum取得并识别
  2. name 软件仓库名称,通常是为了方便阅读配置文件
  3. mirrorlist 镜像服务器的地址列表,如果baseurl访问不了,会尝试使用这个
  4. baseurl 该源的服务器地址
  5. gpgcheck 是否进行gpg校验,以确定rpm包的来源是有效和安全的
  6. gpgkey 用于校验的gpg密钥

通常配置上面几个参数就可以了,除了这些,还支持配置的参数有

  1. exclude=kernel*

    exclude用来禁止这个软件仓库中的某些软件包的安装和更新,
    可以使用通配符,并以空格分隔,可以视情况需要自行添加

四. 常用命令

安装指定的安装包

yum -y install lrzsz

删除程序包

yum -y remove lrzsz

全部更新

yum -y update

修改/etc/yum.repos.d下repo文件后,执行下面命令生效

yum clean all
yum makecache

五. 不常用命令

显示安装包信息

yum info lrzsz

查看程序lrzsz依赖情况

yum deplist lrzsz   

显示所有已经安装和可以安装的程序包

yum list 

程序组操作

# 安装
yum -y groupinstall "Development Tools"
# 删除
yum -y groupremove "Development Tools"

六. 结尾

yum使用起来很是方便。

参考:

  1. http://blog.chinaunix.net/uid-23069658-id-3944462.html

  2. https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/09/2203916.html