yum的初步了解与使用

什么是yum

  Yum(Yellow dog Updater,Modified)是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可解决软件包相关依赖性,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

在使用yum之前,我们需要对yum的配置文件进行修改,先来了解一下yum的配置文件:

 yum配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义:
[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0};1是仓库开启,0是仓库禁用
gpgcheck={1|0};1没有公钥不能安装,0没有公钥也能安装
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
cost= 默认为1000    

   配置yum源

  了解了上面的信息,接下来为仓库的指向提供配置:

首先,在/etc/yum.repos.d目录下创建目录backup,将所有的以.repo为后缀的文件都移动到backup中,使yum只有我们自己创建的仓库。

yum的初步了解与使用

使用vim生成一个文件,一定要是以.repo为后缀,然后只需要写入几行字符就可以使用yum了:

yum的初步了解与使用

使用yum repolist可以查看仓库是否存在

在现实的工作中,我们可能因为一些原因无法使用网络,那么为yum指定网络源就不太好了,所以,我们平时最好将本地的光盘或镜像作为yum仓库。

这里我们要认识一个神奇的目录/misc/cd,只要进入这个目录,系统就会自动挂载光盘,所以我们可以设置 baseurl=file:///misc/cd ,这样我们就可以随时随地使用yum进行包管理了。

要注意的是7以上版本的系统中,需要先开启autos服务才可以通过misc自动挂载光盘镜像

 #检测autofs
rpm -qa|grep autofs
#没安装的话需进行安装
yum install -y autofs
#开启服务
systemctl start autofs
#加入开机启动项
systemctl enable autofs

yum的常用命令

yum命令

repolist列出repo信息

install 包名   安装软件包

    –nogpgcheck 当次安装时不检测gpgkey  yum install tree –nogpgcheck

    -y 自动回答“yes”

reinstall 包名 重新安装

update  更新包

downgrade 降级包

list all|available|installed|updates  列出所有的包|没有安装过的包|已经安装过的包(有@的都是已经安装过的包)|更新过的包

         yum check-update检查可用升级的包

remove|erase包名 卸载软件包

info 包名 查看软件包的信息

provides|whatprovides “文件名” 支持通配符

  clean all 清除所有缓存(常用)

clean [ packages | metadata | expire-cache | rpmdb| plugins | all ]

  makecache 构建缓存

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

  deplist 包名 查看指定的包所依赖的有哪些包

history

info [number]  yum history info 6 查看yum history第6条操作的信息

undo [number]  yum history undo 6 撤销yum history 第6条操作的内容(卸载包时可以卸载其所依赖的包)

localinstall [install] rpm包,指定rpm包,其所依赖的包用yum的repo来装

 group

grouplist

groupinfo “包组名“

groupinstall “包组名”

groupremove “包组名”  只删除包组中的包,不删除依赖包,可以用yum history undo 操作数字来删除包含依赖包。

groupupdate 更新包组中的包

今天的博客就到这里了,相对于rpm,yum真的非常方便,希望大家能够喜欢这个工具。

上一篇:Java中的Class.forName


下一篇:meta标签的用法