Yum基础介绍
一、Yum简介
(Yellow dog Udater Modified)
用Python写成,用于自动化升级、安装/移除rpm包,收集RPM包的相关信息,检查依赖性并自动提示用户解决。根据RPM的header自动化完成安装任务,能从指定的服务器自动下载RPM包并且安装,自动处理依赖性关系。本身也可做yum服务器。
Yum的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可以知道所有相关联的软件。所以Yum的基本工作流程如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得
所有相关的软件,一次全部下载下来进行安装。
二、插件介绍
presto 插件让 Yum 在升级时能够下载差异 RPM 软件包(delta RPM packages) 。差异软件包仅包含了已安装软件包与升级软件包两者之间不同的内容,通过下载差异软件包,能够大大降低下载时间、加快下载速度。
不过使用差异软件包需要对已经安装的软件包进行重建 (rebuild),即将不同中的内容应用到已经安装的软件包中,需要一定的时间。
protect-packages 插件用于避免 Yum 软件包或其它 Yum 所依赖的软件包被移除,它也能避免许多系统运行所必要的软件包被移除。另外,你可以编辑
/etc/sysconfig/protected-packages 配置文件 (如果不存在可以自己创建) ,向其中添加的软件包都将受保护不被移除,添加时每行一个。
当 Yum 运行时,这个插件为 PackageKit 更新元数据,该插件默认安装并被启用。
Yum Priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如 Linux 发行版的官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。
yum-fastestmirror #自动选择最快的yum源
yum-priorities #多yum源下优先级支持
yum-downloadonly #只下载rpm包而不安装
yum install lrzsz #虚拟机用xshell连接时,拖拽传输插件
三、RPM包简单查询
rpm -qa查询所安装的所有rpm软件包
rpm -qa | more带个分页
rpm -qa | grep xxx查询指定安装的rpm软件包
rpm -q 软件包名查询软件包是否安装
rpm -qi 软件包名查询安装的软件包信息
rpm -ql 软件包名查询安装的软件包文件信息
rpm -qf 文件全路径名查询该文件隶属于那个软件包
四、Yum安装
centos等系统自带yum,无需安装
下载压缩包,解压安装
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
进入目录,开始安装
cd yum-3.2.28
yummain.py install yum
更新系统
yum check-update
yum update
yum clean all
五、/etc/yum.repo.d/文件参数解释
repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。
#####
[Centos] (标识,无要求,必须唯一)
name=CentOS (名字,无要求,必须唯一)
baseurl=file:///media/Server/ (本地的路径)
enabled=1 (为1则是打开仓库,为0则是关闭仓库)
gpgcheck=1 (公钥值)
gpgkey=
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 (检测公钥值的文件路径)
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
baseurl 仓库的位置
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)
gpgcheck的存放地址我们需要用下面的命令导入这个签名,才能使用这项功能。
(添加一行priority=num,num代表优先级。)
全局配置:/etc/yum.conf yum
cachedir:软件包缓存目录
keepcache:缓存是否保存,1保存0不保存
debuglevel:调试级别(默认为2)
logfile:日志文件路径
gpgcheck:是否检查密钥,一种检验软件完整性的方式
六、Yum的常用命令
1.启用与禁用仓库
禁用仓库:yum-config-manager --disable “仓库名"
启用仓库:yum-config-manager --enable “仓库名”
2.显示软件仓库列表
yum repolist
3.显示软件包列表
yum list
4.安装卸载与更新
安装:yum install package1 package2...
重新安装:yum reinstall package
卸载:yum remove package
更新:yum update package
降级:yum downgrage package
检查可用的更新:yum check-update
5.缓存命令
清除缓存:yum clean all
构建缓存:yum makecache
6.查看依赖性
yum deplist package1
7.包组相关命令
安装:yum groupinstall group1 [group2] [...]
更新:yum groupupdate group1 [group2] [...]
列表:yum grouplist [hidden] [groupwildcard] [...]
删除:yum groupremove group1 [group2] [...]
信息:yum groupinfo group1 [...]