YUM包管理器:
yum是一个C/S架构的程序包管理器。yum的配置文件,需要指定源的url。客户端会先将rpm下载到本地的缓存目录中。
注意:yum支持两种类型文件系统服务武器,常用的:ftp和http。
注意:yum的元数据文件是通过rpm包的元数据抽取出来的。createrepo命令。不过使用createrepo命令很难创建出一些高级仓库,因为需要对程序包做分组。因为分组的配置是在xml格式的文件中定义的。需要人工手动维护。
- YUM:yellow dog/yellowdog Update Modifer
注意:yum并不是redhat公司开发的。 - yum repository:yum repo
注意:存储了众多的rpm包,以及包的相关的元数据文件(放置于特定的目录下:repodata)repodata所在的位置,是仓库所应该指定的路径。
注意:centos、redhat的安装工具是anaconda,他也会使用到yum工具。安装的时候,使用的仓库是光盘。
注意:yum会同时分析多个仓库,然后找一个最新的包安装到服务器上。
yum客户端
- 配置文件:
- /etc/yum.conf:为所有仓库提供公共配置。
- /etc/yum.repos.d/*.repo:为仓库的指向,提供配置信息。
示例:
[repositoryid] # 仓库的ID必须唯一。必须
name= # 仓库的名称,可以随意起。 必须
baseurl=url # 指定仓库的url路径。可以指定多个,默认使用第一个。必须
mirrorlist # 和baseurl二选一,不常用。
enabled=0/1 # 是否启用该仓库。默认启用。
gpgcheck=0/1 # 是否进行gpg校验。
gpgkey=URL # gpg的密钥文件。
enablegroups=0/1 # 是否启用组形式,批量管理程序包。
failovermethod= # 故障转移方法,当baseurl为多个的时候,有用,默认是roundrobin。{roundrobin|priority}
keepalive # 是否启用保持连接功能。
username/password # 部分服务器需要用户名和密码。
cost= # 开销,默认是1000。
yum命令
- repolist
- repolist:列出已经启用的仓库。[all|enabled|disabled]
- repolist all:列出所有仓库。
- list:显示程序包。
- '@'前缀的表示已经安装的。
- XX*:模糊匹配
- available:列出仓库中有,但是尚未安装的包。
- installed
- updates
- install:安装
- 示例:yum intall package1 [package2]
- update:升级程序包
- 示例:yum update package1 [package2]
- check-update:检查可用升级
- upgrade:和update含义一样。
- remove:卸载指定巡检包。
- 示例:yum remove|erase package1 [package2]
- info:查看包的简要信息
- 示例:yum info package
- provides:查看指定的特性是由哪个程序包提供的。
- 通常用来验证某个文件来自哪个包。
- clean:清理本地的缓存。
- clean [packages|metadata|expire-cache|rpmdb|plugins|all]
- 安装rpm包的时候,yum需要将元数据和包下载到本地。然后rpm包便会删除。元数据保留,删除的话需要手动执行命令。
- makecache:构建缓存。
- 可以忽略该操作。
- search:模糊搜索
- 示例:yum search ls
- 搜索包名、summary信息。
- reinstall:重新安装
- downgrade:降级
- deplist:列出依赖信息
- 示例:yum deplist gcc
- history:查看yum事务历史
- list
- stat
- 只有执行安装、卸载等操作的时候,才属于事务。
- localinstall:安装本地程序包,建议使用install参数
- localupdate:升级本地程序包,建议使用update参数