RPM:RedHat Package Manager的简称,是一种数据库记录的方式的管理机制。当需要安装的软件的依赖软件都已经安装,则继续安装,否则不予安装。 特点: 1.已经编译并打包完成 2.软件的信息记录在数据库下,方便查询、升级与安装 但有个软件依赖的问题,如安装A时需要B,安装B时又需要C,安装C时又需要A。 解决以上问题就需要同时安装或YUM在线升级 3.CentOS先将发布的软件放置到YUM服务器上,然后分析这些软件的依赖性,将软件内的信息记录下来(header).然后将这些信息分析后记录成软件相关性的清单列表。这些清单和软件放在容器中(repository). 当客户端需要安装软件时,客户端主机会主动向网络上的yum服务器的容器地址下载清单列表,通过清单列表与本地rpm数据库已存在的软件爱你数据相比较。就解决了软件之间的依赖性了。 4.RPM软件管理程序:rpm rpm 安装 -i install -v 查看详细的安装信息 -h 显示安装进度 rpm -ivh xxx.rpm 可执行的参数 --nodeps软件依赖性有问题,依然要安装 --replacefiles安装时提示某个文件已安装又出现版本不同,使用这个参数覆盖数据 --replacepkgs安装时提示某个文件已安装又出现版本不同,可重复安装 --force 强制安装(前两个参数的结合体) rpm更新 rpm -Uvh 当后面接的软件没有安装过,直接安装,若有安装过就自动更新。 rpm 查询 rpm查询时时查询的/var/lib/rpm这个目录下的数据库文件。 rpm -qa 列出所有的已经安装在本机上的所有软件名称 rpm -qR 列出与该软件有关的依赖软件 rpm -q 仅查询后面接的软件名是否有安装。 rpm验证 rpm -Va 列出目前系统上所有可能被改动的文件 其中 S:文件容量大小是否被改变 M:文件的类型或文件的属性是否被改变(rwx) 5:MD5是否改变 D:设备的主次代码是否改变 L:link路径是否被改变 U:文件所有者是否被改变 G:文件所属组是否被改变 T:文件创建时间是否被改变 rpm卸载 rpm -e 包名

YUM 在线管理 yum运行原理 yum的工作需要两部分来合作,一部分是yum服务器,还有就是client的yum工具。下面分别介绍两部分工作原理。 yum服务器 所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。 yum client端 client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件,这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache) yum的设置文件 /etc/yum.repos.d/*.repo [base] 容器的名称 name 容器的描述 mirrorlist 容器使用的镜像站点 baseurl 容器的实际地址,非常重要 enable 容器是否被启用,1表示启动 gpgcheck rpm安全证书 gpgkey 数字证书的公钥所在位置

YUM查询功能 yum search在所有的.repo文件的容器地址查询软件,如图 yum list 列出所有yum关管理的软件与版本,依然时去所有.repo文件的容器地址查询 yum [install/update/remove]安装更新删除