计算机‎ > ‎软件‎ > ‎Linux‎ > ‎

linuxcast-a-09-23

发布者:guo rue,发布时间:2015年3月5日 下午6:03   [ 更新时间:2017年6月23日 下午9:20 ]
YUM软件管理

1.YUM

rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1个或多个(有时多达上百个)其他软件,手工解决时很复杂。使用yum可以解决这个问题。

YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。其特点如下:
自动解决依赖关系
可以对RPM进行分组,并基于组进行安装操作
引入仓库概念,支持多个仓库
配置简单

YUM引入了仓库(repo)的概念、仓库用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。

仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库
(如仓库中没有需要的依赖关系软件包,yum也无法解决软件依赖问题)

2.YUM仓库

yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yumrepos.d/目录下,格式如下:

[linuxcast]
name=This is LinuxCast.net rpm sotf repo
baseurl=http://www.linuxcast.net/yum/centos/6/i386/rpms/(可以是互联网上的yum仓库,也可以是本地的一个文件目录)
enabled=1(1:启用该仓库,0:禁用该仓库)
gpgcheck=1(是否打开校验。防止rpm包进行恶意修改)

仓库可以使用file,http,ftp,nfs方式
yum配置文件必须以.repo结尾
一个配置文件内可以保存多个仓库的配置信息
/etc/yum.repos.d/目录下可以存在多个配置文件

mirrorlist参数可以通过后面的地址中动态获取baseurl方便baseurl的更新
enabled没有写时,默认为1,启用

3.YUM基本命令

yum管理软件的常用命令:
yum install software-name   安装指定软件
yum remove sofware-name  卸载指定软件
yum update software-name  升级指定软件

4.YUM查询

通过以下命令使用yum进行查询操作:
yum search keyword  搜索 
yum list (all | installed | recent | updates) 列出全部、安装的、最近的、软件更新
yum info packagename 显示指定软件的信息
yum whatprovides filename 查询哪个rpm软件包含目标文件

4. 创建YUM仓库

可以通过以下方式手工创建yum仓库:
①将所有rpm文件拷贝到一个文件夹中
②通过rpm命令手工安装createrepo软件
③运行命令createrepo -v /rpm-directory
④如果有分组信息,则在运行命令的时候使用-g参数指定分组文件
createrepo -g /tmp/*compsxml /rpm-directory
CentOS/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件

创建好之后本机可以通过file方式直接使用,如果需要作为对外的YUM仓库服务器,可以通过HTTP,FTP或NFS协议共享出去

5. YUM CACHE

yum为了提高速度会通过很多信息,但是有时候缓存会造成一些故障,可以通过以下命令来清除缓存:
yum clean all
每次运行安装或查询类命令会重建yum缓存

每次yum进行修改时需要删除缓存信息