一、区别
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是为其他仓库提供默认的全局配置的。

配置文件说明:
[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配置文件:

配置文件说明:
[ 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
网友评论