Linux-(15)YUM软件仓库


YUM(Yellowdog Update Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。rpm软件包形式管理软件虽然很方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1个或多个(甚至上百个)其它软件,手工解决时很复杂。

YUM引入了仓库(repo)的概念,仓库用来存放所有的rpm软件包,当使用yum安装一个rpm软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以通过http、ftp或nfs形式使用集中的统一网络仓库。

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

    [virtual-box]
    name=This is virtualbox rpm soft repo
    baseurl=http://......
    enabled=1  #(1启用,0禁用)
    gpgcheck=1 #(是否交验)
配置文件规则:

 

仓库可以使用file、http、nfs方式

yum配置文件必须以.reop结尾

一个配置文件内可以保存多个仓库的配置信息

/etc/yum.repos.d/目录下可以保存多个配置文件

mirrorList可以动态获取baseurl

YUM的基本使用命令:

安装指定软件: yum install software-name

卸载指定软件: yum remove software-name

升级指定软件: yum update software-name

YUM查询:

搜索: yum search keyword

列出全部/安装的/最近的/更新的软件: yum list all/installed/recent/updates

显示指定软件信息: yum info packagename

查询哪个rpm软件包含目标文件: yum whatprovides fileName

我们也可以手工创建一个YUM仓库,方便使用:

将所有的RPM文件拷贝到一个目录中

通过rpm命令手工安装createrepo软件

运行命令createrepo -V /rpm-directory

如果有分组信息,则在运行命令的时候使用-g参数指定分组文件:createrepo -g /tmp/*comps.xml /rpm-directory

CentOS/RedHat的分组信息保存在系统光盘repodata/目录下,文件名以comps.xml结尾的xml文件

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

YUM为了提高速度会缓存很多信息,但是有时候缓存会造成一些故障,可以通过以下命令来清除缓存:yum clean all

但是每次运行安装或查询会重建缓存

相关内容