yum程序包管理
Yum是RPM前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。 我们可以使用yum命令对程序包执行安装、卸载、升级、查询的工作。
yum的配置文件有两个
主配置文件:
/etc/yum.conf为个仓库指向提供公共默认规则,比如定义调用仓库资源时默认是不是要检测程序包合法性的gpgcheck。
各个分仓库文件的定义:
分仓库一般是在/etc/yum.repos.d/*.repo中定义的。每个分仓库文件必须用.repo命名才能生效,且每个文件中可以定义多个库指向。
文件中通常需要定义以下几项内容:
[repositoryid]:此ID唯一标识此分库的指向,必须是整个单词,不能与别的库相同;
name=描述信息
mirrorlist=url指向仓库列表
baseurl=url指向仓库路径
url分为:
本地:file:///生成了repodata目录仓库;
ftp路径:ftp://生成了repodata目录仓库;
http路径:http://生成了repodata目录的仓库;
gpgcheck={1|0}:1表示启用检测,0表示关闭
enabled={1|0}:1表示启用该分库,0表示关闭
由于使用yum命令必须有可用的仓库,所以我们必须创建一个本地库
1.我们建立一个http指向的本地仓库,首先要开启httpd服务(如果无法开启则需要安装httpd包),还要关闭防火墙service iptables stop;
2.我们使用cp命令到挂载的光盘中下载一些程序包到/var/www/html/xen4中,然后使用createrepo命令在此目录下创建repodata(此命令需要提前安装createrepo程序包)
3.cd到/etc/yum.repos.d/下创建一个仓库配置文件
4.使用yum clean命令清理缓存,使用yum makecache命令创建新缓存,使用yum repolist查看可以使用的仓库
我们已经创建了一个包含许多PHP程序包的本地仓库,使用http可以访问,下面我们介绍一下yum对仓库内程序包的管理。
yum [options] [command] [package ...]
可用选项: -
y: 自动回答为“yes”
--disablerepo=: 临时禁用在配置文件中配置并启用的某repository;
--enablerepo=:临时启用指定的某repo;
--nogpgcheck: 禁止做包校验;
一、查看所有以创建的仓库配置文件.repo yum listrepo
二、清理缓存文件 yum clean all
三、创建新的缓存 yum makecache
四、程序包查找
yum list [all | glob_exp1] [glob_exp2] [...] 查找所有的程序包文件,后面可以使用glob表达式给定查看条件
yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...] 查找 可用的/可升级的/已安装的/更新的/过时的程序包
yum grouplist [hidden] [groupwildcard] [...] 查找包组文件
五、程序包安装
yum install package1 [package2] [...]
注意: 只需要提供包名;如果某包有在不同仓库中有多个不同版本,默认会安装最新版本;如果要安装指定版本:install PACKAGE-VERSION ...
重新安装(覆盖安装) yum reinstall package1 [package2] [...]
程序包升级 update [package1] [package2] [...]
程序包降级: downgrade package1 [package2] [...]
检查有哪些升级可用: check-update
七、程序包卸载 yum remove|erase package
所有依赖于此程序包的其他程序包都会被卸载
八、程序包信息查询
查询程序的相关简要信息:info PACKAGE ...
在包名和sumary信息中搜索指定的关键字:search KEYWORD ...
查询指定文件由哪个程序包安装生成:provides|whatprovides /PATH/TO/SOMEFILE
九、安装或升级本地程序包
localinstall rpmfile1 [rpmfile2] [...] 用于安装仓库中并不存在的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包;我们可以从其他途径获取一些程序包下载到本地目录,使用此命令安装。
localupdate rpmfile1 [rpmfile2] [...] 用本地下载的程序包对已安装的一些包进行升级 十、包组管理:
列出所有包组:grouplist
显示指定包组详情:groupinfo group1 [...]
安装:groupinstall group1 [group2] [...]
卸载:groupremove group1 [group2] [...]
升级:groupupdate group1 [group2] [...]
Note: 可直接用install、remove或update来管理包组:
@GROUP_NAME 例如:# yum install @"Server Platform Development"
原文地址:http://10086101.blog.51cto.com/10076101/1632063