yum( Yellow dog Updater, Modified)是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 否则安装一个rpm包的时候,还需要手动安装所有的依赖。

 

yum工作原理

yum服务器

yum服务器提供rpm包及其基本信息、依赖关系的下载

 

yum客户端

每次yum install或者search的时候,都会去解析/etc/yum.repos.d/下面所有以.repo结尾的配置文件,获取yum服务器地址。yum会定期去更新yum服务器上的rpm包清单,下载到本地缓存(默认在/var/cache/yum/$basearch/$releasever)。

每次调用yum安装的时候,都会去本地缓存查找清单,根据清单里的rpm包描述从而确定安装包的名字、版本号、所需要的依赖等,然后再去yum服务器下载(如果缓存中rpm包就不用下载)

 

常用用法

常用命令

yum install <package_name>  #仅安装指定的软件
yum localinstall <rpm_package_path> #安装本地rpm包
yum localupdate <rpm_pacakge_path> #本地更新rpm包
yum check-update    #列出所有可更新的软件清单命令
yum update  #更新所有软件,包括系统内核。
yum update <package_name>   #仅更新指定的软件
yum search <keyword>        #查找软件包
yum repolist    #查看yum源列表
yum info <package_name> #查看软件包信息

注意使用updateupgrade命令后面需要带上要更新的包名,如果直接执行yum update则会更新所有包,包括系统内核。生产环境对软件版本和内核版本要求非常精确,一旦误操作会很麻烦。

如果非要升级系统内核外所有包,则可以再加上--exclude=kernel*参数过滤掉内核的升级。

 

删除软件

yum list installed | grep mongodb
//mongodb-org-server.x86_64             4.0.9-1.el7                     installed  
yum remove mongodb-org-server.x86_64

 

查看已安装的包

yum list installed | grep mongo
//mongodb-org.x86_64               4.0.9-1.el7                    @mongodb-org-4.0
//mongodb-org-mongos.x86_64        4.0.9-1.el7                    @mongodb-org-4.0
//mongodb-org-server.x86_64        4.0.9-1.el7                    @mongodb-org-4.0
//mongodb-org-shell.x86_64         4.0.9-1.el7                    @mongodb-org-4.0
//mongodb-org-tools.x86_64         4.0.9-1.el7                    @mongodb-org-4.0

 

高级用法

代理配置

/etc/yum.conf[main]下配置代理

[main]

proxy=http://proxysever.yourdomain.com:3128
proxy_username=your_username
proxy_password=your_password

 

设置仓库国内镜像源

#先把原来的源备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#更新base源和epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
#生成缓存
yum clean all
yum makecache

 

添加新的仓库

添加文件:/etc/yum.repos.d/mongodb-org-4.0.repo

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

 

转载自yum的工作原理及使用,略作修改。

 


你不能把这个世界,

让给你所鄙视的人。

《源泉》——安·兰德