Linux软件管理-YUM

来源:互联网 发布:人工智能政策 编辑:程序博客网 时间:2024/05/10 11:53

1、YUM

rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要首先安装1个或多个其他软件。

手工解决时很复杂,使用YUM可以解决这个问题。

YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。其特点如下:

---- 自动解决依赖关系

---- 可以对RPM进行分组,并基于组进行安装操作。

---- 引入仓库概念,支持多个仓库。

---- 配置简单。

有一个linux发行版本叫yellowdog。rpm是一种全新的软件封装形式,YUM不是软件管理方式,而是专门去管理RPM的。

可以通过YUM一次去安装一种类型(一组)的软件。

2、仓库概念 (repository)

YUM引入了仓库(repo)的概念,仓库用来存放(管理)所有现有的rpm软件包。

当使用YUM安装一个rpm软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。

----- 如果所依赖的软件在仓库中没有,那么YUM是无法完成安装的。

----- 仓库可以是本地的,也可以通过HTTP、FTP或NFS形式使用集中的、统一的网络仓库。

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

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

2)yum配置文件必须以.repo结尾

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

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


禁用仓库配置:enabled=0

3、YUM基本命令

----- YUM管理软件的常用命令

yum install software-name 安装指定软件,需要把相关的rpm包下载下来,安装完成之后会自动删除(需要管理员权限)

yum remove software-name 卸载指定软件

yum update software-name 升级指定软件,有更新的版本出来

----- YUM查询操作,如果想安装、查询某个软件,但记不清软件包的全称

yum  search keyword 搜索,基于关键字的搜索

yum  list (all | installed | recent | updates)列出全部的、已安装的、最近的、有更新的软件名称

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

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


----- 创建YUM仓库

可以通过以下方式手工创建yum仓库:

(1)将所有rpm文件拷贝到一个文件夹中 mkdir yum_repo   ls -l | wc -l

(2)通过rpm命令手工安装createrepo软件  repodata

(3)运行命令createrepo -v /rpm-directory (yum仓库的路径,-v是显示详细的信息)  

如: createrepo .  索引完之后,会在当前目录下产生一个repodata的文件夹。

(4)如果有分组信息,则在运行命令的时候使用-g参数指定分组文件

createrepo -g /tmp/×comps.xml /rpm-directory

CentOS/RHEL的分组信息(rpm包属于哪个组)保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件。所有的配置文件都是以.repo结尾的。

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

baseurl = file:// (表示协议是本地文件)+仓库的绝对路径

如:baseurl = file:///linuxcast-yum/

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

yum clean all 每次运行安装或查询类命令会重建yum缓存。