yum

yum - 包管理器

yum = Yellow dog Updater, Modified

主要功能是更方便的添加,删除,更新RPM包,它能自动解决包的倚赖性问题,它能便于管理大量系统的更新问题。
可以同时配置多个资源库(Repository),简洁的配置文件/etc/yum.conf,自动解决增加或删除rpm包时遇到的倚赖性问题,使用方便,保持与RPM数据库的一致性。

查询搜索与安装  

yum search whois # 搜索匹配特定字符的rpm包  

yum list # 列出所有包  

yum list pcre* # 列出以pcre开头的包  

yum list updates # 列出资源库中所有可以更新的rpm包  

yum list installed # 列出已经安装的所有的rpm包  

yum list extras # 列出已经安装的但是不包含在资源库中的rpm包  

yum info # —rpm包信息显示(info参数同list),列出资源库中所有可以安装或更新的rpm包的信息  

yum info firefox* # 列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息  

yum info updates # 列出资源库中所有可以更新的rpm包的信息  

yum info installed # 列出已经安装的所有的rpm包的信息  

yum info extras # 列出已经安装的但是不包含在资源库中的rpm包的信息  

yum provides firefox # 搜索包含特定文件的rpm包  

yum install pcre-devel # 安装对应的包  

yum remove packagename # 删除对应的包  

清理缓存以及更新包  

yum repolist # 查看系统中已经启动的源  

yum clean packages # 清除缓存中rpm包文件  

yum clean headers # 清除缓存中rpm的头文件  

yum clean old headers # 清除缓存中旧的头文件  

yum clean all # 清除缓存中旧的rpm头文件和包文件  

yum check-update # 检查可以更新的软件包  

yum update # 更新所有的软件包  

yum update kernel # 更新特定的软件包  

yum upgrade # 大规模的升级  

Copy

配置文件

/etc/yum.config  

[main]  

cachedir=/var/cache/yum/releasever  

keepcache=1 # 下载的同时, 保留文件到本地/var/cache/yum/x86_64  

debuglevel=2  

logfile=/var/log/yum.log  

exactarch=1  

obsoletes=1  

gpgcheck=1  

plugins=1  

installonly_limit=5  

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum  

distroverpkg=centos-release  

Copy

仅下载不安装

下载插件:yumdownloader  

yum install yum-utils* -y  

下载rpm包  

[root@node7 ~]# yumdownloader bind # 不包含依赖.  

[root@node7 ~]# yumdownloader —resolve httpd # 包含依赖.  

已加载插件:fastestmirror  

Loading mirror speeds from cached hostfile  

  • base: mirrors.163.com  

  • extras: mirrors.tuna.tsinghua.edu.cn  

  • updates: mirrors.tuna.tsinghua.edu.cn  

bind-9.8.2-0.62.rc1.el6_9.4.x86_64.rpm | 4.0 MB 00:00  

默认会下载到当前目录中。  

Copy

自动下载依赖包

借助插件,我们来完成这个操作。  

yum install yum-plugin-downloadonly  

yum install —downloadonly —downloaddir=/opt/packages/ zabbix-web-pgsql  

Copy

配置自己的源

在一个机器上安装http服务。

准备对应的iso文件,全部解压到http目录(类似/var/www/html/)

备份原来的配置mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.dbak

配置客户端

# 在/etc/yum.repos.d/* 备份CentOS-Base.repo  
 
# 备份后创建一个新的配置文件  
 
[base]  
 
name=CentOS 7.x  
 
baseurl=http://192.168.1.114/CentOS7.x  
 
gpgcheck=0 # 不验证  
 
enabled=1 # 开启源  
 
gpgkey=http://192.168.1.114/CentOS6.9/RPM-GPG-KEY # 验证的密钥,可不要。  
 
# 注意自己的版本  
 
yum clean all  
 
yum makecache  

互联网公开源地址

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  

wget http://centos.ustc.edu.cn/CentOS-Base.repo # 中科大的yum源,服务器位于合肥,南方用户与教育网用户推荐。  

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo # sohu的yum源,服务器位于山东省联通。  

wget http://ftp.sjtu.edu.cn/centos/ # 上海交大,服务器位于北京,北方用户与教育网用户推荐。  

Copy

其他内容

手动创建CentOS-Base.repo文件。  

/etc/yum.repos.d/CentOS-Base.repo # 源配置文件  

[base]  

name=CentOS-$releasever - Base  

baseurl=http://mirrors.163.com/centos/6.4/os/$basearch/  

gpgcheck=1  

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  

[updates]  

name=CentOS-$releasever - Updates  

baseurl=http://mirrors.163.com/centos/6.4/updates/$basearch/  

gpgcheck=1  

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  

[addons]  

name=CentOS-$releasever - Addons  

baseurl=http://mirrors.163.com/centos/basearch/  

gpgcheck=1  

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  

[extras]  

name=CentOS-$releasever - Extras  

baseurl=http://mirrors.163.com/centos/6.4/extras/$basearch/  

gpgcheck=1  

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  

[centosplus]  

name=CentOS-$releasever - Plus  

baseurl=http://mirrors.163.com/centos/6.4/centosplus/$basearch/  

gpgcheck=1  

enabled=0  

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  

从以上配置文件可以看出,需要根据各家源情况有选择的配置  

[base] [updates] [addons] [extras] [centosplus] 这几项。  

每一项只要修改baseurl和gpgkey为相应源地址即可。  

以上配置结束之后,要清空yum 缓存,并重建yum缓存,执行以下命令:  

yum clean all && yum clean metadata && yum clean dbcache && yum makecache && yum update