码迷,mamicode.com
首页 > 其他好文 > 详细

yum软件包管理器

时间:2018-02-26 11:19:19      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:yum软件包管理器   yum源   关于yum库文件的编辑   

一、 yum软件包管理器

?1、 yum的作用

??YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date 的替代工具。
??yum repository:(yum资源库) 以.repo结尾的yum库文件中存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
??yum库文件中支持的文件的服务器:
???http:// (外部网站的rpm包地址)
???https:// (外部网站的rpm包地址)
???ftp:// (内部网的共享rpm包地址)
???file:// (本机上存储的rpm包地址)

?2、 yum客户端配置文件:

??/etc/yum.conf:为所有仓库提供公共配置
??/etc/yum.repos.d/*.repo:为仓库的指向提供配置
??下面我们来看看这两个文件:
技术分享图片
??cachedir :指定缓存目录
??logfile : 日志文件
??gpgcheck : 是否查包的合法性
技术分享图片
??[repositoryID] (标题,这个库的id,相当于身份证号,不可重复)
??name=Some name for this repository (库名字,名字可以重复)
??baseurl=url://path/to/repository/ (指定rpm包的路径)
??enabled={1|0} (是否有效0表示这个repo无效,1表示有效,默认值为1)
??gpgcheck={1|0} (是否检验包的合法性默认为1)
??gpgkey=URL (公钥路径)
??enablegroups={1|0} (是否开启组功能)
??failovermethod={roundrobin|priority} (一个源是可以跟多个地址(baseurl)的,此选项是设置多个地址的使用顺序的)
???roundrobin:意为随机挑选,默认值
???priority:按顺序访问
??cost= 默认为1000(优先级)

?3、 yum的repo配置文件中可用的变量

??$releasever: 当前OS的发行版的主版本号
??$arch: 平台,i386,i486,i586,x86_64等
??$basearch:基础平台;i386, x86_64
??$YUM0-$YUM9:自定义变量
??例如:
???http://server/centos/$releasever/$basearch/
???如果当前服务器是centos7版本x86_64平台的
????则实际网址为http://server/centos/7/x86_64
???如果当前服务器是centos6版本i384平台的
????则实际网址为http://server/centos/6/i384

?4、 yum源

??yum源路径指定的不是包含软件包的那个目录,而是指定在包含有repodata的目录的上一级目录
??阿里云repo文件:http://mirrors.aliyun.com/repo/
???CentOS系统的yum源
????阿里云: https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
????教学环境: http://172.16.0.1/cobbler/ks_mirror/$releasever/
???EPEL的yum源:
????阿里云: https://mirrors.aliyun.com/epel/$releasever/x86_64
????教学环境: http://172.16.0.1/fedora-epel/$releasever/x86_64/

?5、 yum命令

??1. yum命令的用法:

???yum [options] [command] [package ...]
???yum的命令行选项:
????-y: 自动回答为“yes”,避免交互式
????-q:静默模式(但是仍会显示安装的过程,彻底静默建议使用yum -y install pkg1 &> /dev/null,把结果扔进垃圾桶)
????--nogpgcheck:临时不进行gpg check(不检验包的合法性)
????--disablerepo=repoidglob:临时禁用此处指定的repo
????--enablerepo=repoidglob:临时启用此处指定的repo
????--noplugins:禁用所有插件

??2. 显示仓库列表

???yum repolist [all|enabled|disabled]
????all 显示全部repo
????enabled 只显示生效的repo
????disabled 只显示无效的repo

??3. 显示程序包

???yum list [all] 显示所有的程序包
???yum list available 显示所有可用的,且未安装的
???yum list installed 显示所有已安装的包
???yum list updates 显示可更新的包

??4. 安装程序包

???yum install package1(包名) [package2]…
????安装软件包,可以同时跟多个包名,安装多个包
???yum reinstall package1 [package2]
????重新安装一个或多个已安装的包

??5. 升级程序包

???yum update [pkg1] [pkg2] (升级安装)(后跟多个包名可升级多个包)
???yum downgrade pkkg1 [pkg2] (降级安装)

??6. 检查可用升级

???yum check-update

??7. 卸载程序包

???yum remove 包名1 [包名3]… 删除程序包(后跟多个包名可同时删除多个包)
???yum erase 包名1 [包名2]… 卸载程序包

??8. 查看程序包

???yum info pkg 显示包的详细信息

??. 查看指定的特性(可以是某文件)是由哪个程序包所提供

???yum provides 文件路径(支持文件名通配符) 查询一个文件来自哪一个rpm安装包(不论这个包是否已安装)
???yum whatprovides 文件路径(支持文件名通配符) 查询一个文件来自于哪一个rpm安装包(不论这个包是否已安装)

??10. 清除本地缓存

???yum clean all 清空所有缓存

??11. 构建缓存

???yum makecache

??12. 搜索以指定的关键字搜索程序包名及summary信息

???yum search str1 [str2] (str代表关键字文本)

??13. 查看指定包所依赖的功能

???yum deplist pkg1 [pkg2]…

??14. 查看yum事务历史(下列#代表一个具体的数字)

???yum history 显示yum的历史操作
???yum history info # 详细显示某条历史记录
???yum history undo # 撤销某条yum的操作
???yum history redo # 重新执行一遍某条yum的操作

??15. 安装升级本地程序包(下列|代表或)

???yum localinstall |install rpm路径 安装本地的rpm包,并用yum解决依赖性关系
???yum localupdate |update rpm路径 更新本地的rpm包,并用yum解决依赖性关系

??16. 包组管理的相关命令

???yum groupinstall grppkg1 安装该包组(grppkg1)
???yum grouplist 列出所有的包组
???yum groupinfo grppkg1 显示该包组包含的rpm包
???yum groupremove grppkg1 卸载包组

??17. 创建yum仓库

???为什么yum能帮我们解决一些依赖性关系呢?其实是因为在yum仓库下有一个repodata的目录,而在这个目录下就保存着各个包的信息及其依赖性关系,所以yum仓库指定的位置必须指定在有repodata目录的上一层目录,而如果想自己创建一个yum仓库,除了在该目录下拷贝一些包以外还需要自动创建一个repodata的目录。createrepo这个命令就会帮助我们自动搜索该目录下的所有包及依赖性关系,并创建repodata目录将其保存在该目录下语法格式如下:
?????createrepo 仓库路径(存放着rpm包的路径)
???创建一个yum仓库的步骤:

???1、 创建一个yum仓库的目录

???2、 拷贝一些rpm包至该目录下

???3、 使用createrepo命令创建repodata目录

???4、 在目录/etc/yum.repos.d下创建一个以.repo结尾的仓库文件,创建一个yum库,指定该yum仓库的路径

yum软件包管理器

标签:yum软件包管理器   yum源   关于yum库文件的编辑   

原文地址:http://blog.51cto.com/13570214/2072909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!