YUM


YUM(yellow dog updater):基于rpm但更胜一筹的软件管理工具
主要软件包:yum-3.2.29-30.el6.noarch
createrepo.noarch(创建仓库索引文件的软件包,靠它来解决依赖关系)

yum 是前台,rpm 是后台
优点:更方便的管理rpm软件包
一定程度上自动解决了依赖关系(通过资源仓库)
可以配置多个资源仓库,且可同时配置

图形界面中的”添加/删除软件“要正常运行,依赖于YUM机制。

工作流程及原理
服务端:提供软件包的就是服务端,存放了所有的rpm软件包,然后以相关的功能去分析每个rpm文件的依赖关系,将这些数据记录成文件存放在服务器的某特定目录
客户端:下载服务器上面的记录的依赖关系文件,即仓库索引listing(可通过WWW或FTP方式)——> 通过对服务器端下载的记录数据进行分析,找到依赖关系——> 然后一次全部下载所有相关的软件并进行安装(后台rpm进行)

yum 的一些文件
yum全局配置文件/etc/yum.conf (通常无需修改)
cachedir=/var/cache/yum/$basearch/$releasever /var/cache/yum下存放仓库索引文件
keepcache=0 下载后自动删除,下次又要重新下载,互联网源建议改成1
gpgcheck= 1,检查软件包的数字签名,不合法的不进行安装(严格)

仓库配置文件目录 :/etc/yum.repos.d/ (常出问题) repo = repository : 仓库,贮藏室
YUM的缓存目录:/var/cache/yum 存放仓库索引文件listing
YUM的日志文件:/var/log/yum.log


服务端配置
1.真实环境中推荐做
mkdir /yum
mount -o loop /download/rehl6.4.iso /mnt
mount /dev/cdrom /mnt
cp -r /mnt*/ /yum
2.虚拟环境中,挂载光盘即可,讲yum源指向挂载点中

客户端配置
#vim /etc/yum.repos.d/yum.repo 文件名后缀必须是.repo
[Server] 仓库名字不能重复
name=Server
baseurl=file:///Server 源路径 file:// 本地路径,第三个“/”代表根目录 http://网络路径
enabled=1 //是否允许访问仓库
gpgcheck=0 //是否开启密钥验证 , 优先级比全局配置内的该选项高
gpgkey = /mnt/RPM-GPG-KEY-redhat-release

切记:源路径指向仓库索引位置,不是指向包所在位置,不推荐指向/mnt , /mnt下的repodata和库Server下的repodata一样
一般情况下只需配置以上一个库,另外还有三个库ResilientStorage LoadBalancer HighAvailability

本地YUM源的gpg验证
验证gpg可以保证软件包的完整合法性 ,确保第三方软件是从官网下载的,否则开启gpgcheck, 使用公钥验证 ; 若源是互联网的则最好开启gpgcheck
公私钥加密,公私钥是一对,公钥可以解密私钥,同样私钥可以解密公钥;公钥对大家开放,私钥不被知道
1.使用配置文件导入密钥
gpgkey = 指向源所在的位置 (如:本地公钥/mnt/RPM-GPG-KEY-redhat-release) 导入gpgkey实际上安装下面两个软件
#rpm -qa |grep pubkey
gpg-pubkey-0608b895-4bd22942
gpg-pubkey-c105b9de-4e0fd3a3
2.手动导入密钥
#rpm -e gpg-pubkey-c105b9de-4e0fd3a3
#rpm --import /mnt/RPM-GPG-KEY-redhat-release 手动导入密钥
#rpm -qa |grep pubkey

互联网源开启密钥验证时,需要到软件官网下载密钥

本地YUM源测试
当需要对某个yum源进行测试时或检查时,先把其他yum源改名避免干扰(如:mv yum.repo yum.repo.bak)
#yum clean all 切记:菜单更新后一定要清空缓存,配置文件更新后也最好清空缓存
#yun list :重新下载菜单文件
#yum list | grep server 过滤仓库名字(检验yum源是否搭建成功)
已经安装的软件 ,会指定本机名字 (@...)

在本地YUM源中增加自己的软件包
法1.(不推荐)
复制自己的rpm包到/yum/Server目录下,然后使用createrepo命令更新仓库配置文件
法2.
重新创建一个文件夹soft,存放自己下载的rpm包——>修改改客户配置文件.repo ——>#createrepo /soft(此时会该目录下会生成repodata文件夹)——>#yum clean all ;yum list
#createrepo /soft 重新创建YUM仓库的软件包数据,速度慢
#createrepo --update /soft 更新YUM仓库的软件包数据,速度较快

相关命令
查看/安装/删除/升级rpm包/查看rpm包信息
#yum list rpm -qa :#yum list "bind*"
#yum install rpm -ivh
#yum remove rpm -e
#yum update rpm -uvh
#yum info rpm -qi
#yum provides rpm -qf
#yum reinstall rpm --force

#yum repolist 列出当前有效的仓库
#yum search 包名

-y 自动回答 (脚本中运用)

查看/安装/删除rpm包组信息
#yum grouplist
#yum groupinstall :#yum groupinstall "PHP 支持“
#yum groupremove
#yum groupinfo

其它官方YUM源
国外官方YUM源 http://vault.centos.org (发行版与红帽最匹配的,不过速度较慢)
国内YUM源 http://mirrors.163.com
http://mirrors.sohu.com
http://mirrors.yun-idc.com
搭建方法:
法1. 自己编辑
法2. wget 网址 (推荐)
#vim .repo
% s/ $basearch /6/g

第三方YUM源由社区提供
epel, rpmforge 和 rpmfusion
搭建方法:到以上官网下载相应版本的repo文件到/etc/yum.repos.d目录即可(或下载repo.rpm包,安装后自动生成.repo配置文件)

yum源出现的问题
1.配置文件.repo编辑错误
2. 目录下出现var/run/yum.pid 文件,该文件为上次运行yum 的进程结果,进程没结束,此时无法关闭进程(kill),只需将该文件删除即可,这种情况在卡的机器上常出现
3./etc/yum.repo.d/packagekit-media.repo 该文件是运行yum命令时从/mnt/media.repo中复制过来,可能导致只能安装软件,不能卸载软件;该问题 YUM源指向镜像时(mount -o loop)会出现
解决方法:将该文件删除,或将enabled置为1 (不过可能会再次生成该文件或被覆盖,此时可以锁定该文件即加隐藏权限 -i )
4.[root@stu120 Packages]# yum list bind* 在该目录下关键字会将通配符解释成当前的包全名,而仓库索引中只有包名,所以将无法列出软件包,并非yum源出现问题,此时关键字因使用“” ,即:# yum list "bind*"


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值