rpm和yum包管理区别

一、区别

rpm适用于所有环境,而yum要有本地yum源才可以使用。yum是上层管理工具,可以自动解决依赖性,而rpm是底层管理工具。

二、rpm
1.rpm

是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。

2.缺点

但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时,rpm无法解决软件包的依赖关系。

3.RPM包的命名规范:name-version-release.os.arch.rpm

name:程序名称。
version:程序版本号。
release(发行号):用于标识RPM包本身的发行号,与源程序的release号无关。
os:即说明RPM包支持的操作系统版本。如el6(即rhel6)、centos6、el5、suse11。
arch:主机平台。如i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)
例子:bash-4.3.2-5.el6.x86_64.rpm

4.常用命令
##安装
rpm     -ivh    name.rpm          ##安装 ,-v显示详细信息,-h指定加密方式为hash,以"#"号显示安装进度
        -replacepkgs              ##重新安装,替换原有的安装
        -ivh    name.rpm --force  ##强制安装,但不能忽略依赖性
        -ivh    name.rpm --nodeps ##忽略依赖性并且强制安装
##卸载
        -e      name              ##卸载
##更新
        -U      name              ##升级软件,若未软件尚未安装,则安装软件
        -F      name              ##升级软件
##查找和显示
        -q      name              ##查看
        -qa                       ##查询系统中安装的全部软件名称
        -qa |grep name            ##查询软件是否安装
        -qi     name              ##查看软件详细信息
        -qf     filename          ##查看filename属于哪个安装包
        -ql     name              ##查询软件包中所包含的文件
        -qp     name.rpm          ##查询软件包安装后的名字
        -qlp    name.rpm          ##查询软件安装后会生成什么文件
##检测 
        -Kv     name.rpm            ##检测软件包是否被篡改
        -qp     name.rpm --scripts  ##检测软件在安装或卸载过程中执行的动作
5.RPM常用站点:

http://mirrors.sohu.com
http://rpmfind.net
http://rpm.pbone.net/

三、yum
1.yum

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

2.yum客户端

yum的配置方式是基于分段配置的。
主配置文件:/etc/yum.conf
yum的片段配置:/etc/yum.repos.d/*.repo

1)主配置文件:配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。

rpm和yum包管理区别_第1张图片
image.png

配置文件说明:

[main]       
 //main仓库。[ ]中括号表示一个仓库的定义。其中是仓库的名称。
cachedir=/var/cache/yum/$basearch/$releasever    
//RPM包的缓存位置。
keepcache=0     
//RPM包在本地是否需要长期保存。1表示yes,0表示no。
debuglevel=2 
//日志级别。
logfile=/var/log/yum.log    
//日志文件。
exactarch=1 
//下载的RPM包是否需要与本地平台完全匹配。1表示yes,0表示no。
obsoletes=1 gpgcheck=1 
//是否需要自动来源合法性检测。
plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bdistroverpkg=centos-release

2)CentOS-Base.repo配置文件:

rpm和yum包管理区别_第2张图片
image.png

配置文件说明:

[ xxx ]:仓库的名称,不能重复。

name:对仓库的描述,该项必须有。
baseurl:配置仓库的路径。用于指定一个url。
mirrorlist:指向一个镜像列表,里面有多个url。
enabled:是否启用当前仓库。值为1或0,默认为1。
gpgcheck:是否需要gpg校验。值为1或0,默认为1。gpgkey:验证RPM包的密钥文件路径。该文件可以在远处服务器上,也可以在本地。
cost:代价,其本质是仓库优先级的配置。值越低,表示访问的代价越低,也即优先使用。

注意:配置文件中的"="号的前后不能有空格。
例子:自己写一个repo配置文件:
[base]
name=CentOS 6.4 x86_64
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/
enabled=1
gpgcheck=0

3.常用命令
##1.安装
yum install   全部安装
yum install package1 仅安装指定的安装包package1
yum groupinsall group1 仅安装程序组group1

##1.更新和升级
yum update 全部更新
yum update package1 仅更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 仅升级指定程序包package1
yum groupupdate group1 升级程序组group1

##3.查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list installed   显示已经安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

##4.删除程序
yum remove package1  删除软件包page1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况

##5.清除缓存
yum clean packages   清除缓存目录下的软件包
yum clean headers    清除缓存目录下的 headers
yum clean oldheaders    清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)    清除缓存目录下的软件包及旧的headers

你可能感兴趣的:(rpm和yum包管理区别)