在Linux的运用中,我们经常会接触到YUM,那么什么是YUM呢?YUM是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。那么, RPM呢?RPM是由红帽公司开发的软件包管理方式,使用RPM我们可以方便的进行软件的安装、查询、卸载、升级等操作。但是RPM软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个RPM包组成时。

  RPM与YUM的区别在哪里呢?RPM在红帽4.0以上版本不在支持软件包按装过程中出现的依赖关系,这就导致RPM按装增加了一些重复的操作而YUM依然很好的支持依赖关系。

下面来说明YUM安装的步骤:

首先搭建环境

1.先建立挂载点mkdir  /mnt/cdrom

2 .将光盘挂载到挂载点上   mount  /dev/cdrom  /mnt/cdrom

rip的常用按装参数有–i  -v -h -i

安装

-v 详细信息

-h 显示按装进度条

通常我们会组合使用这三个参数就够成了–ivh

155503304.png

--nodeps取消包与包之间的依赖关系可以正常的按装但是按装后不能正常使用

--replacefiles覆盖冲突的文件

--replacepkgs替换已经安装的软件包可以避免交互

--prefix    指明安装路径

查询的命令组合:

-q 查询  -a 所有的--》-qa查看所有已安装的软件包

当你执行 rpm –qa时你会看见很多信息而你想要进行筛选时你可以使用筛选命令

160634539.jpg

155503863.png

qip+文件名+路径查看没有安装的软件信息

155503362.png

-l  位置--》-ql+包名查看已按装软件包的位置

-qlp+包名+路径查看没有安装的包文件

-f --》-qf查看文件属于哪个包的

155504390.png

卸载)   -e+包名

155504921.png

升级是在原有软件的基础上更新一些新的操作所有更新必须要有老的软件包-Uvh升级和安装-Fvh升级

155504313.png

所有的按装软件包的校验文件都会放置在 /var/lib/rpm 下在该目录下会有很多的库文件,任何按装软件都会留下信息当进行比对的时候没有出现消息就是最好的结果

-Va这个参数会跟所有的库文件进行比对但是这样非常耗费时间

-V+软件包的名字

rpm –V  httpd不会出现任何提示信息

更改他的配置文件 /etc/httpd/conf/httpd.conf后执行 rpm –V  httpd

155601925.png

S file Size differs

MMode differs (includes permissions and file type)

5 MD5 sum differs

D Device major/minor number mismatch

LreadLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

在网络上文件的传输要经过MD5的加密产生哈希值然后再将文件发送出去。如果要打开文件就必须有证书签发机构的公钥,将加密后的文件进行解密。每一个文件都有属于自己独一无二的数字签名。公钥会存放在 /etc/pki/rpm-gpg目录下,

在检测前要先用pm --import +公钥文件将公钥文件导入

155508139.png

-K +包名检测数字

155508448.png

Yum有两种工作方式一种是基于C/S模式的另一种是基于本地

155508992.png

在一台虚拟机上配置ftp server

155659339.png

由于可以直接匿名访问ftp server 故可以将光盘上的软件包拷到/var/ftp 目录下

155659902.png

打开另一个虚拟机将其作为yum的客户机

由于网络上有很多的服务器,所以我们可以在/etc/ym.repos.d目录下建立多个服务器文件

编辑rhel-debuginfo.repo文件

155659140.png

脚本

155659434.png

查看yum repolist

155659142.png

yum  list all   列出所有的软件包

155659735.png

可以使用ctrl +z 终止查看

yum  install+包名直接安装  -y(确认)

如果直接使用 rpm来按装会有提示信息

查看依赖关系

155704272.png

yum info+包名  查看包信息

155704319.png

remove 删除

kde gnome  桌面系统

yum  grouplist 查看包组

155704132.png

yum groupinstall安装组

155735680.png

155735998.png

yum  groupremove  删除包组

yum  groupinfo 查看包组信息

155735367.png

当你将文件复制到仓库中但没有发现的时候你可以先将缓存清空一下

yum clean  all  清除缓存文件

在再次查找的时候会有一个缓存动作且缓存动作只会出现一次

yum  install +包名 + --nogpgcheck安装时不在作数字检测

在更新文件时可以使用createrepo命令来更新但是在最开始的时候他是没有按装服务的我们可以使用rpm来按装createrepo服务

rpm   -ivhcreaterepo

155735511.png