yum:全称为Yellowdog Update Modifier,是rpm包管理器的前端工具,能够从指定的yum源下载并安装rpm包,并且能够自动处理包的依赖关系并安装所有依赖的软件包。不用依次下载安装所依赖的软件包,从而提高工作效率。
yum repository,即yum仓库。储存了众多的rpm包,以及包相关的元数据文件。放置于特定目录下,它可以在远程的一个服务器上,也可以是本地的光盘镜像,也可以自己创建yum库。但需要创建仓库指向,指向仓库所在的路径。
yum客户端的配置文件:
/etc/yum.conf:为所有仓库提供公共配置;
/etc/yum.repos.d/*.repo:为仓库的指向提供配置;
仓库指向的定义:
[repositoryID]仓库名
name=Some name for this repository 仓库名;
baseurl=url://path/to/repository/ 仓库访问路径;注意:“=”左右无空格,可指多个。
enabled={1|0} 是否启用仓库,默认为启用;
gpgcheck={1|0} 启用前是否检测完整信息合法性;
gpgkey=URL 秘钥文件路径;
enablegroups={1|0} 是否允许在仓库上使用组批量管理rpm包;
failovermethod={roundrobin|priority} 故障管理方法;
默认为:roundrobin,意为随机挑选(轮询);
cost=#:各路径开销;
默认为1000
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号;
$arch: 平台;
$basearch:基础平台;
$YUM0-$YUM9:用户可自定义的变更;
例如:使用光盘镜像当作本地yum仓库:
(1)挂载光盘至某目录:此处挂载至/media/cdrom目录下
(2)创建配置文件:
下面我们开始介绍yum命令的使用方法:
格式:yum [options] [command] [package ...]
常用选项:
--nogpgcheck:禁止进行gpgcheck;
-y: 自动回答为“yes”;
-q:静默模式;
--disablerepo=repoidglob:临时禁用此处指定的repo;
--enablerepo=repoidglob:临时启用此处指定的repo;
--noplugins:禁用所有插件;
命令选项:
显示仓库列表:
repolist [all|enabled|disabled]
all:所有的;
enabled:启用的;默认为显示启用的;
disabled:没启用的;
可以查看到,刚才创建的local仓库为启用状态;
显示程序包:
list:
# yum list [all | glob_exp1] [glob_exp2] [...]
all:显示所有程序包;默认显示所有程序包;
glob_exp1:显示符合glob风格通配符的程序包;
# yum list {available|installed|updates} [glob_exp1] [...]
available:可用未安装的程序包;
installed:已安装的程序包;
updates:可用升级的程序包;
安装程序包:
install package1 [package2] [...]
reinstall package1 [package2] [...] (重新安装)
例如:安装tree程序包:
选“y”确定安装:
升级程序包:
update [package1] [package2] [...]
downgrade package1 [package2] [...] (降级)
例如:在CentOS 6.7 系统上升级zsh
选“y”确定升级;
检查可升级的包:
check-update
卸载程序包:
remove | erase package1 [package2] [...]
例如:卸载刚安装的tree程序包:
选:“y”确定卸载;
查看程序包information:
info [...]
例如:查看zsh程序包信息:
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] [...]
例如:查看/bin/sed文件是由哪个程序包提供:
清理本地缓存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
packages:程序包
metadata:元数据
expire-cache:过期缓存
rpmdb:rpmdb缓存
plugins:插件
all:所有
例如:清除过期缓存
构建缓存:
makecache
搜索:
search string1 [string2] [...]
以指定的关键字搜索程序包名及summary信息;
例如:搜索bash相关程序包
查看指定包所依赖的capabilities:
deplist package1 [package2] [...]
例如:查看bash所依赖的capabilities:
查看yum事务历史:
history [info|list|packages-list|packages-info|summary|
addon-info|redo|undo|rollback|new|sync|stats]
安装及升级本地程序包:
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
CentOS 5 之前用,6以后可直接用install命令;
包组管理的相关命令:
* groupinstall group1 [group2] [...]安装包组
* groupupdate group1 [group2] [...]升级包组
* grouplist [hidden] [groupwildcard] [...]包组列表
* groupremove group1 [group2] [...]删除包组
* groupinfo group1 [...]查看包组信息
例如:查看包组列表:
现在yum命令的用法已经介绍完了,那么我们再来一起看一直如何利用createrepo命令创建一个本地yum仓库:
(1)创建目录,并将光盘镜像中所有rpm程序包复制到此目录下,此处在根目录下创建/yum/repo;
(2)安装createrepo命令;
(3)运行createrepo命令;
格式:createrepo [options] <directory>
(4)创建repo配置文件:
由于之前创建过本地光盘镜像yum仓库,可在后面加一条指向路径即可。
至此本地yum仓库创建完成,仅本地可用。