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软件包】
启动ftp服务,并查看对应端口是否启动。
先在本机上面进行测试,匿名登录到ftp上面
作为一个yum服务器,里面肯定要有各种rpm数据包,所以我们就需要创建一个或者多个存放这些软件包的仓库,并且将光盘中的RPM包放入仓库中。
B.客户端的配置
配置yum客户端【指明yum服务器的位置,访问形式,访问哪一个仓库】
客户端的主要配置就是在/etc/yum.repos.d目录下面
我们可以新建一个.repo的文件,来描述一个yum服务器的访问方式,内容等等
可以在配置文件中多写几个rpm包的仓库,
需要什么仓库就要写其相关信息,【复制1到6行进行修改就可以】
如图.
1.获得yum 仓库信息 yum reppolist命令,用来显示yum服务器上的软件包仓库
注意上面第三行第四行 RHN 在线更新服务【花钱的~~~!!!!】,redhat会在线给你提供软件包的更新。就此客户端配置完成。
C.服务器和客户端都配置完成就可以进行软件包的管理了
1.可以使用 yum list all 列出所有的安装包
2.yum list installed 可以列出所有的安装过的安装包
4. 配置完成后,我们在客户机上面挂载光盘,随便安装一个 dovecot的软件包,可以看到提示错误,依赖的三个模块没有安装,
5.使用,刚刚配置好的yum来进行安装
6.安装完成
问题深究:【如果有新的软件包导入,我们将它放在Server 目录下面,但是在客户端上查不到】!
进入/mnt/cdrom 目录下面分别进入 VT Server 等目录,都会神奇的发现有这样的文件
我们可以使用一个清除yum服务缓存的命令,来观察一下【有可能一次看不到,多次刷新试试】
最开始出现了这些消息,观察发现最后都带有primary的字样,与repofate目录下的primary.xml.gz文件很相像!
有图中可以了解到在载入软件包的目录时~第一次要加载repodate目录下的这些文件,之后就不用加载了,所以当新的软件包放入相应的目录后,并不能查找到。所以要更新,repodate下的comps文件
但是需要一个指令但是当前系统没有安装,需要安装该软件。
服务器端处理完毕后,客户端要进行yum 软件表的清理和重新缓存,否则将出现错误
1.yum clean all
2.yum list all
3.接下来就可以安装软件包了。
这个时候新导入yum服务器的rpm包,就可以供客户端门下载并且使用了
【注意1:当新的软件包没有红帽公司的数字签名时,由于服务器默认的要数字签名的所以要使用—nogpgcheck 不进行数字签名,或者导入rpm包提供的公钥,但是有一些是没有携带redhat公司的数字签名的这就需要你跳过数字签名的检验步骤了】
【注意2:当客户端布置好yum之后,在图形界面下,也可以很方便的管理软件包,类似于windows下的“添加删除软件”】
【注意3:此时如果我们正在图形界面上使用软件包管理,此时的话 yum命令就不好使了,因为它会变得这样,****锁住了****】
以上是网络yum,就是利用了网络的yum =。=!!
如果咱就一台 linux。。。肯定不能在申请一台计算机专门做yum服务器来管理软件。
这就要把自己的linux系统变成本地yum。