yum rpm 概述
在Linux的日常维护管理中,管理员要不停的和Linux的程序安装,升级,卸载打交道,这里面用到最多的两个命令就是rpm和yum,甚至有时候我们还涉及源程序的编译安装,用来更高效利用我们的设备。
Linux上常用的安装和升级工具主要有yum和apt,其中yum能更好的解决rpm的依存性问题,推荐使用yum。默认没有安装yum,需要单独下载并安装.
RPM简介:
RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;
RPM包里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;
一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的。
RPM包管理的用途
1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布;
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统。
查看本机安装的yum包都有哪些?
~]# rpm -qa |grep yum
安装一个新的rpm 包
安装 ,升级,查询,校验
]#rpm -vih file.rpm
安装
-i install 安装
-v 显示详细信息
-vv 显示更加详细的信息
-h 使用#显示安装进度
查询
rpm -q 对软件包查询
-a 所有
-qa 查询所有软件包
-qip 查询没有安装过的软件包 +包名称及路径
-qi 查询已经安装过的软件包 +包名
-l 位置
-ql 查询已安装过的软件包位置 +包名称
-qlp 查询软件包里面包含哪些文件 +包名称及路径
-qf 查询某个文件时属于哪个软件包
卸载
rpm -e 包名称
升级
rpm -uvh 不但可以完成升级还可以完成安装
-fvh 只可以进行软件的升级
校验
rpm -V 在校验的时候如果没有提示任何的信息,说明文件没有错误
yum应用
注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.
检查有哪些可更新的rpm包
#yum check-update
安装rpm包,使xmms可以播放mp3
#yum install xmms-mp3
安装mplayer,同时自动安装相关的软件
#yum install mplayer
删除licq包,同时删除与该包有倚赖性的包
#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便
系统更新(更新所有可以升级的rpm包,包括kernel)
#yum -y update
每天定期执行系统更新
#chkconfig yum on
#service yum start
六. yum指令详解
*rpm包的更新
检查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
#yum upgrade
*rpm包的安装和删除
安装rpm包,如xmms-mp3
#yum install xmms-mp3
删除rpm包,包括与该包有倚赖性的包
#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text
*yum暂存(/var/cache/yum/)的相关参数
清除暂存中rpm包文件
#yum clean packages
清除暂存中rpm头文件
#yum clean headers
清除暂存中旧的rpm头文件
#yum clean oldheaders
清除暂存中旧的rpm头文件和包文件
#yum clean或#yum clean all
注:相当于yum clean packages + yum clean oldheaders
*rpm包列表
列出资源库中所有可以安装或更新的rpm包
#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
#yum list mozilla
#yum list mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包
列出资源库中所有可以更新的rpm包
#yum list updates
列出已经安装的所有的rpm包
#yum list installed
列出已经安装的但是不包含在资源库中的rpm包
#yum list extras
注:通过其它网站下载安装的rpm包
*rpm包信息显示(info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
#yum info mozilla
#yum info mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息
列出资源库中所有可以更新的rpm包的信息
#yum info updates
列出已经安装的所有的rpm包的信息
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息
#yum info extras
注:通过其它网站下载安装的rpm包的信息
*搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜索
搜索有包含特定文件名的rpm包
#yum provides realplay
七. 安全的更新freshrpms.net的rpm包
安装freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt
编辑/etc/yum.conf,增加以下信息到尾部
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
注:
检查GPG Key
# rpm -qa gpg-pubkey*
显示Key信息
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
删除Key
#rpm -e gpg-pubkey-e42d547b-3960bdf