YUM 软件仓库

YUM 的介绍

YUM (Yellowdog Updater, Modified) 是一个基于 RPM 却更胜于 RPM 的管理工具,让可以更轻松的管理 Linux 系统中的软件。可以使用 YUM 来安装或卸载软件,也可以利用 YUM 来更新系统,更可以利用 YUM 来搜索一个尚未安装的软件。不管是安装、更新或者删除,YUM 都会自动的帮解决软件间的依赖性问题。通过 YUM 会比单纯使用 RPM 来得更加方便。

YUM 包含下列几项组件:

  • YUM 软件下载源:如果把所有 RPM 文件放在某一个目录中,这个目录就可称为 “YUM 仓库 (YUM Repository)”。也可以把 YUM 仓库,通过 HTTPS、HTTP、FTP 等方式分享给其他计算机使用;当然,也可以直接使用别人建好的 YUM 仓库来取得所需安装的软件。
  • YUM 工具:YUM 提供了一个名为 yum 的命令,可以使用 yum 命令来使用 YUM 提供的众多功能。
  • YUM 插件:YUM 还允许第三方厂商 (3rd Party) 开发 YUM 的插件 (Plug-in),让用户可以任意的扩充 YUM 的功能,比如说有的插件可以帮助选择最快的 yum 源。
  • YUM 缓存:YUM 运行时,会从 YUM 仓库获得软件信息与文件,并且暂存于本机的硬盘上。这个暂存的目录,称为 “YUM 缓存 (YUM Cache)” 。

YUM 源的配置

由于软件包是通过 YUM 仓库获得的,所以在使用 YUM 之前需要告诉它去什么地方获取这些软件包,也就是说需要先配置一个 YUM 软件源。

在 CentOS 操作系统中,YUM 的下载源配置文件统一都放到 /etc/yum.repos.d/ 目录下,在这个目录中自带了默认的下载源 CentOS-Base.repo。用户可以自定义下载源文件,需要注意的是必须以 .repo 结尾。

# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo

自定义一个 YUM 仓库源,软件来自挂载光盘。使用 vim 命令建立自己的下载源配置文件,软件源来自本地挂载光盘目录。需要注意的是,首先将光盘挂载到了本地 mnt 目录。

# mount | grep /mnt
/dev/sr0 on /mnt type iso9660 (ro,realtime,nololiet,check=s,blocksize=2048,uid=0,gid=8888,dmode=500,fmode=400)
# vim local_cd.repo

内容如下:

# YUM 仓库名称
[local]

# YUM 仓库描述
name=local cd

# YUM 仓库路径,这里应为本地共享,使用 file 协议
baseurl=file:///mnt

# 是否启用本 YUM 源 1 开启 0 关闭
enabled=1

# 是否通过 GPG 公钥证书验证软件包的完整性,1 使用 0 不使用
gpgcheck=0
# 如果 gpgcheck=1 要添加一行指定公钥证书的路径
#gpgkey=公钥证书路径

自建一个 YUM 仓库源:

将下载好的 RPM 软件包存放到一个指定的目录中:

# mkdir /data
# ls /data
# cp /mnt/Packages/* /data/

从光盘镜像中安装 createrepo 工具:

# yum -y install createrepo

利用 createrepo 工具生成软件包之间的依赖关系数据文件:

# createrepo /data/
Directory walk started
Directory walk done – 3025 packages
Temporary output repo path: /data/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished

建立针对该目录的下载源配置文件:

# vim local_my.repo
[myrepo]
name=local myrepo
enable=1
gpgcheck=0
baseurl=file:///data

YUM 命令

YUM – RPM 包管理工具

命令语法: yum [options] command [package ...]

常见命令选项:

  • -y 不询问用户是否安装,直接安装
  • -q 不显示安装过程
  • -h 帮助

常见命令:

  • list 列出 YUM 仓库的软件包。
  • install 安装。
  • update 升级可更新的软件,类似于 upgrade
  • check-update 列出所有可更新的软件清单。
  • upgrade 升级可更新的软件,类似于 update
  • remove 卸载软件包。
  • info 列出软件包信息。
  • clean 清除 YUM 元数据信息。
  • search 在 YUM 仓库中搜索包含关键词的包。
  • localinstall 安装本地软件包,依赖从 YUM 仓库解决。
  • localupdate 升级本地软件包,依赖从 YUM 仓库解决。
  • reinstall 重新安装软件包。
  • grouplist 以组的方式列出 YUM 仓库中的软件包。
  • groupinstall 以组的方式安装软件包。
  • groupremove 以组的方式卸载软件包。

YUM 命令练习

  1. YUM 插件安装
# yum install 插件名称

插件配置文件存放位置 /etc/yum/pluginconf.d/xxx.conf

插件的启用和停用

修改 /etc/yum/pluginconf.d/xxx.conf 文件中的 enabled 字段 1=启用 0=停用

  1. 清除 YUM 缓存
# yum clean all

如果有些时候发现 YUM 运行不太正常,这可能是 YUM 缓存数据错误导致的,所以需要将 YUM 的缓存清除。

  1. 查看软件包

查看软件包:

# yum list

查看有哪些可用组:

# yum grouplist

查看 httpd 这个包的信息:

# yum info httpd

搜索 httpd 这个软件包:

# yum search httpd
  1. YUM 安装软件

安装 httpd 软件包:

# yum install httpd -y

安装一组软件包:

# yum groupinstall '开发工具' -y
  1. 卸载软件包

删除一个软件包:

# yum remove httpd -y

删除一组软件包:

# yum groupremove '开发工具' -y

本文由mdnice多平台发布


逼格高的汤圆
10 声望2 粉丝