YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
一、YUM的特点主要有以下几点:
①自动解决依赖性问题 这个是yum最主要的功能,我们可以通过yum来自动的解决软件包直接的依赖性问题
②可以对RPM进行分组,并基于组来进行安装操作 有时候我们可能需要对软件进行分组,比如基于开发的软件放在一组,桌面软件又放在一组,在传统的RPM包管理机制里,我们需要自己手动的去将每一个组里面的软件都安装了才行,而yum就可以方便的对RPM进行分组,我只需要安装这个组,那么这个组里面的所有软件都会自动给我们安装好。
③引入了仓库的概念,支持多个仓库 通过yum来进行软件的安装其实就是基于仓库这个概念的,我将所有的rpm软件包都事先放在一个仓库里面,然后yum就可以在这个仓库里面寻找我们需要安装的软件,找到了就可以自动安装,没找到则就安装不了
④配置简单 在现在的RHEL、CentOS里面基本上都使用yum的方式来进行软件的安装,其主要原因也是基于其仓库的配置非常的简单,这个将在下面进行详细论述
二、YUM
yum里引入了仓库的概念,仓库里其实就是用来存放我们所有现有的rpm软件包,因为yum就是基于rpm软件包管理的一个前端程序,所以yum也是通过rpm来进行软件的安装的。当使用yum进行软件安装时,如果存在依赖关系,那么yun也会自动的去仓库里面去寻找所依赖的rpm软件包,并自动安装,解决软件包的依赖问题。
这个仓库既可以是本地的,也可以是互联网上的,可以通过http、ftp或者nfs等形式使用集中的、统一的网络仓库
三、YUM仓库
yum使用的是仓库来保持管理我们的rpm软件包,仓库的配置文件是存放在 /etc/yum.repos.d/ 这个文件目录下,我们可以进入到该目录,查看一下里面的信息
[root@xiaoluo home]# cd /etc/yum.repos.d/
[root@xiaoluo yum.repos.d]# ls -l
总用量 16
-rw-r--r--. 1 root root 1926 2月 25 16:57 CentOS-Base.repo
-rw-r--r--. 1 root root 638 2月 25 16:57 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 2月 25 16:57 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 2月 25 16:57 CentOS-Vault.repo
我们看到在该目录下一共有四个yum的配置文件(每个配置文件必须是以.repo结尾),CentOS系统会默认的给出我们这四个yum仓库的配置文件,里面保存着非常多的网络仓库信息,RHEL系统默认可能就没有这些yum仓库的配置文件,如果我们需要这些,我们必须向红帽购买相应的服务才行。
我们首先来看一下yum仓库的配置格式:
[xiaoluo] // 这个就是我们仓库的名字
name=This is xiaoluo's rpm soft repo // 这个虽然写着是name,但是其实后面通常是写一些对该仓库进行描述的语句
baseurl=http://www.xiaoluo.com/yum/soft/CentOS/x86_64/rpms/ // 这个是仓库的地址,可以是http、ftp、nfs等网络仓库的地址,也可以是我们本地仓库的地址
enabled=1 // enabled=1表示我们使用这个仓库,默认就是enabled=1
gpgcheck=1 // 是否启用软件校验,基于安全考虑,主流的Linux发行版本都会对一些常用的rpm进行签名操作
以上就是yum仓库的基本的配置格式
四、yum基本命令
安装软件:yum install software-name
删除软件:yum remove software-name
升级软件:yum update software-name
五、yum查询命令
基于关键字搜索软件:yum search 关键字
列出全部的、安装的、最近的、更新的软件 yum list (all | installed | recent | updates)
yum list all //列出YUM仓库中全部软件
yum info packagename //显示软件信息
yum whatprovides filename //查询某个rpm软件包含该目标文件
因为我们使用yum来进行软件安装时,必须要写全软件的名字,所以如果我们对某个软件记不太清楚,需要搜索某个软件的信息,可以使用 yum search 软件名字的关键字 来进行搜索