rpm是一个软件包管理器,是用来管理软件包的,软件包管理器的核心功能是制作软件包;安装、卸载、升级、查询、校验。
包的组成分为:主包(bind-9.7.1-1.el5.i586.rpm)、子包(bind-libs-9.7.1-1.el5.i586.rpm或bind-utils-9.7.1-1.el5.i586.rpm),其中bind是包名;9.7.1是版本号。
rpm包的安装:
rpm -i bind-9.7.1-1.el5.i586.rpm即安装bind-9.7.1-1.el5.i586.rpm包
-h: 以#显示进度;每个#表示2%; -v: 显示详细过程;-vv: 更详细的过程
有的软件包安装需要有依赖关系,所以安装不上,那么这就得手动解决他们的依赖关系。
rpm --nodeps: 忽略依赖关系;
rpm --replacepkgs: 重新安装,替换原有安装;
rpm --force: 强行安装,可以实现重装或降级;
rpm包的查询:
rpm -q zip: 查询指定的包是否已经安装;zip为包名;
rpm -qa : 查询已经安装的所有包zip为包名;;
rpm -qi zip: 查询指定包的说明信息;zip为包名;
rpm -ql zip: 查询指定包安装后生成的文件列表;zip为包名;
rpm -qc zip:查询指定包安装的配置文件;zip为包名;
rpm -qd zip: 查询指定包安装的帮助文件;zip为包名;
rpm -q --scripts zip: 查询指定包中包含的脚本
rpm -qf /etc/inittab 查询指定的文件是由哪个rpm包安装生成的;
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;就用命令:rpm -qpi bind-9.7.1-1.el5.i586.rpm;bind-9.7.1-1.el5.i586.rpm 是指定的安装包。
rpm包的升级:
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE ;(/PATH/TO/NEW_PACKAGE_FILE)指的是新的版本的安装包,如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE;(/PATH/TO/NEW_PACKAGE_FILE)指的是新的版本的安装包,如果装有老版本的,则升级;否则,退出;
--oldpackage :表示为降级
rpm包的卸载:
rpm -e (或者--nodeps) zip ;zip软件包包名
rpm包的校验:
rpm -V zip; zip软件包包名
rpm --rebuilddb: 重建数据库,一定会重新建立;
rpm --initdb:初始化数据库,没有才建立,有就不用建立;
检验来源合法性,及软件包完整性;
首先要导入密钥文件:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release;然后在执行rpm -K bind-9.7.1-1.el5.i586.rpm;bind-9.7.1-1.el5.i586.rpm为自己指定的软件安装包。
yum 仓库中的元数据文件:
primary.xml.gz
所有rpm包的列表、依赖的关系、每个rpm安装生成的文件列表
filelists.xml.gz
当前仓库中所有rpm包的所有文件列表
other.xml.gz
额外信息,rpm包的修改日志
repomd.xml
记录的是上面三个文件的时间戳和校验和
yum的配置文件:/etc/yum.confg
如何为yum定义repo文件
[Repo_ID]
name=Description
baseurl= 这里是repo库所在的访问路径,可以为三种方式
ftp:// 格式
http://格式
file:///本地文件路径
enabled={1|0} 是否允许使用 1表示使用,0表示禁用
gpgcheck={1|0}是否引用gpg来验证软件包来源的合法性信息完整性,如果禁用,后面的gpgkey就可以省略否则后面的gpgkey文件的路径一定不能省略。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
yum list:列出你所配置的yum仓库中所有的软件包
yum clean: 清理缓存
yum repolist: 显示repo列表及其简要信息
yum install packagename: 安装软件包,packagename为软件包的包名
yum update : 升级
update_to : 升级为指定版本
remove|erase:卸载
yum remove php53-pda, 卸载php53-pda;php53-pda表示包名
yum provides|whatprovides: 查看指定的文件或特性是由哪个包安装生成的;
如:yum provides /etc/inittab