Linux-YUM软件管理
感谢Linuxcast,感谢苏勇(nash_su)老师!
YUM
rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1个或多个(有时多达上百个)其他软件,手工解决时很复杂。使用YUM可以解决这个问题。
YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。其特点如下:
- 自动解决依赖关系
- 可以对RPM进行分组,并基于组进行安装操作
- 引入仓库概念,支持多个仓库
- 配置简单
仓库
YUM引入了仓库(repo)的概念,仓库用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装
- 仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库
- yum使用仓库管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:
[******]
:是这个仓库的简称;name = ******
: 一般这里是仓库的描述,可以写一些仓库的基本信息baseurl = ******
:这个是我们仓库的路径,可以是本地的,也可以是线上的enabled = 1
:这一行表示这个仓库是否启用,1表示启用,0表示禁用,如果这一行没有写,也是默认开启的gpgcheck = 1
:这一行表示是否打开校验,出于安全的考虑,主流的发行版本都会对常见的rpm包进行签名操作,目的就是为了防止rpm包被修改。在生产环境下,为了安全,这个选项是必须打开的。 - 仓库可以使用file、http、ftp、nfs方式
- yum配置文件必须以.repo结尾
- 一个配置文件内可以保存多个仓库的配置信息
- /etc/yum.repos.d/目录下可以存在多个配置文件
YUM默认命令
yum管理软件的常用命令:yum install software-name
:安装指定软件yum remove software-name
:卸载指定软件yum update software-name
:升级指定软件
YUM查询
通过以下命令使用yum进行查询操作:
通过关键字搜索软件包: yum search keyword
列出全部、安装的、最近的、有更新的软件:yum list (all | installed | recent | updates)
显示指定软件的信息:yum info packagename
查询哪个rpm软件包含目标文件:yum whatprovides filename
创建YUM仓库
可以通过以下方式手工创建yum仓库:
- 将所有rpm文件拷贝到一个文件夹中
- 通过rpm命令手工安装createrepo软件
- 运行命令
createrepo -v /rpm-directory
- 如果有分组信息,则在运行命令的时候使用
-g
参数指定分组文件createrepo -g /tmp/*comps.xml/rpm-directory
CentOS/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件
创建好之后本机可以通过file方式直接使用,如果需要作为对外的YUM仓库服务器,可以通过HTTP、FTP或NFS协议共享出去。
YUM CACHE
yum为了提高速度会缓存很多信息,但是有时候缓存会造成一些故障,可以通过一下命令来清除缓存:yum clean all
每次运行安装或者查询类命令会重建yum缓存
That’s all.
环境:
软件版本:VMware® Workstation 14 Pro
Linux系统版本:CentOS 7 ×86_64 1511
如有纰漏,望不吝指出,不胜感激。