Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。


yum顾名思义,他是一个rpm包的管理器,以解决rpm的依赖性为己任,奋斗与linux的前线。


yum的特点:    1.可以同时配置多个资源库(Repository)
                   2.简洁的配置文件(/etc/yum.conf
                   3.自动解决增加或删除rpm包时遇到的倚赖性问题
                   4.使用方便
                   5.保持与RPM数据库的一致性


yum的常用指令

      yum install 【软件包】安装

yum remove【软件包】卸载

yum list all 查看所有的软件包

yum info 软件包信息

yum groupist  查看软件包组

yum groupinstall 安装软件包组

yum clean 清除缓存

-y           如果yum询问一些问题,一律回答yes【比如安装时会询问是否进行数字签名验证,yes验证,no不验证】



yum的使用方法:

           1.直接配置

         2.

         3.


环境:公司内部有多台linux服务器和用户机,常需要进行一些系统功能的升级,更新软件包,但是由于软件包的依赖行,安装很麻烦,又不能挨个去每台计算机上安装升级。


所以我们使用配置yum服务器的方法来进行rpm的升级

大致的方法思路:配置一台linux主机为yum服务器,也是ftp服务器--->将CD里面的软件包放置到yum服务器上面--->配置yum服务器--->配置yum客户端--->开始使用


A.首先将一台linux的主机配置成ftp服务器

  • 安装vsftpd服务【挂在光盘,进入相应的Server目录中,安装vsftpd-2.0.5软件包】

185424250.png

185424253.png

  • 启动ftp服务,并查看对应端口是否启动。

185425318.png

185427943.png

  • 先在本机上面进行测试,匿名登录到ftp上面

185430254.png

  • 作为一个yum服务器,里面肯定要有各种rpm数据包,所以我们就需要创建一个或者多个存放这些软件包的仓库,并且将光盘中的RPM包放入仓库中。

185431658.png


B.客户端的配置

  • 配置yum客户端【指明yum服务器的位置,访问形式,访问哪一个仓库

185432885.png

  • 客户端的主要配置就是在/etc/yum.repos.d目录下面

185433489.png

  • 我们可以新建一个.repo的文件,来描述一个yum服务器的访问方式,内容等等

185436511.png

  • 可以在配置文件中多写几个rpm包的仓库,

    需要什么仓库就要写其相关信息,【复制1到6进行修改就可以】

    如图.

185439299.png

  • 1.获得yum 仓库信息  yum reppolist命令,用来显示yum服务器上的软件包仓库

185442547.png

  • 注意上面第三行第四行  RHN 在线更新服务【花钱的~~~!!!!】,redhat会在线给你提供软件包的更新。就此客户端配置完成。



C.服务器和客户端都配置完成就可以进行软件包的管理了

1.可以使用 yum list all 列出所有的安装包

2.yum list installed 可以列出所有的安装过的安装包

185445390.png3.也有一些和rpm类似的命令

185449701.png

4. 配置完成后,我们在客户机上面挂载光盘,随便安装一个 dovecot的软件包,可以看到提示错误,依赖的三个模块没有安装,

185451522.png

5.使用,刚刚配置好的yum来进行安装

185456570.png

185504970.png

185505260.png

6.安装完成



问题深究:【如果有新的软件包导入,我们将它放在Server 目录下面,但是在客户端上查不到】!

进入/mnt/cdrom 目录下面分别进入 VT   Server 等目录,都会神奇的发现有这样的文件

185507361.png

185509827.png

我们可以使用一个清除yum服务缓存的命令,来观察一下【有可能一次看不到,多次刷新试试】

185513969.png

最开始出现了这些消息,观察发现最后都带有primary的字样,与repofate目录下的primary.xml.gz文件很相像!

185516487.png


有图中可以了解到在载入软件包的目录时~第一次要加载repodate目录下的这些文件,之后就不用加载了,所以当新的软件包放入相应的目录后,并不能查找到。所以要更新,repodate下的comps文件

185516155.png

但是需要一个指令但是当前系统没有安装,需要安装该软件。

185516365.png


185517969.png

185517690.png

服务器端处理完毕后,客户端要进行yum 软件表的清理重新缓存,否则将出现错误

1.yum clean all

2.yum list all

3.接下来就可以安装软件包了。

这个时候新导入yum服务器的rpm包,就可以供客户端门下载并且使用了

【注意1:当新的软件包没有红帽公司的数字签名时,由于服务器默认的要数字签名的所以要使用—nogpgcheck 不进行数字签名,或者导入rpm包提供的公钥,但是有一些是没有携带redhat公司的数字签名的这就需要你跳过数字签名的检验步骤了】



【注意2:当客户端布置好yum之后,在图形界面下,也可以很方便的管理软件包,类似于windows下的“添加删除软件”】

185522922.png

185530905.png

185542729.png


【注意3:此时如果我们正在图形界面上使用软件包管理,此时的话 yum命令就不好使了,因为它会变得这样,****锁住了****

185544635.png

以上是网络yum,就是利用了网络的yum  =。=!!

如果咱就一台 linux。。。肯定不能在申请一台计算机专门做yum服务器来管理软件。

这就要把自己的linux系统变成本地yum

185548412.png