码迷,mamicode.com
首页 > 其他好文 > 详细

RPM、YUM介绍

时间:2018-04-08 18:06:13      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:linux基础知识

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]安装更新删除

RPM、YUM介绍

标签:linux基础知识

原文地址:http://blog.51cto.com/12107790/2095756

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!