一.rpm包的命令格式
源程序:name-version.tar.{gz|bz2|xz}
version:major.minor.release
rpm包:name-version-release.arch.rpm
release:通常只包含发行号和os平台
el6:redhat enterprise linux
CentOS5
arch:
x86_64
i386,i586
ppc
分包:把一个复制的程序打包制作成多个rpm格式
二.来源合法性
源程序:通过md5或sha1校验码验证
rpm包:发行商光盘
验证包完整性:校验码
验证来源合法性:公钥加密算法
三.获取rpm的途径
1.发行商光盘或站点服务器
获取rpm的途径:
1、发行商的光盘或站点服务器
CentOS:
http://mirrors.163.com
http://mirrors.sohu.com
2、rpmfind
http://rpmfind.net
3、rpmpbone
http://rpm.pbone.net
注意:
1、发行商。发行光盘中的包,需要升级时,官方释放出升级包
2、Fedora EPEL
四.安装RPM包
rpm –ivh package_name //-i 安装 –v 显示安装信息 –h hash以#显示安装进度
rpm –ivh package_name --nodeps //忽略依赖关系
rpm –ivh package_name –replacepkgs //重新安装
注:原来的配置文件不会被覆盖,新安装的配置文件将会重命名为以.rpmnew为后缀的文件
五.RPM包查询
查询所有已安装的包:
rpm -qa
查询包的描述信息:
rpm -qi package_name查询某单个包是否已安装
rpm –q package_name
查询安装包生成的文件列表位置
rpm –ql package_name
查询某文件是由哪个包安装生成的
rpm –qf /path/to/file
查询安装后生成的帮助文档
rpm –qd package_name
查询安装后生成的配置文件
rpm –qc package_name
查询包相关的脚本
rpm –q –scripts package_name
preinstall 安装前脚本
postinstall 安装后脚本
preuninstall 卸载前脚本
postuninstall 卸载后脚本查询尚未安装的rpm包文件的相关信息:
查询安装后会生成的文件列表: rpm -qpl 包名
查询其简单描述信息:rpm -qpi 包名六.升级
rpm -U:升级或安装
rpm -F:只升级
rpm {-Uvh|-Fvh}/path/to/package_file--nodeps: 忽略依赖关系
--force:强行安装注意:不要对内核执行升级操作;
多版本内核可以并存,因此,建议执行安装操作
七.校验来源合法性和软件完整性
包完整行:通过单向加密机制(MD5|sha1)
来源合法性:通过公钥加密机制(RSA)
命令:gpg
rpm -K /path/to/somefile
rpm --checksig /path/to/package_file
--nosigeature:不检查来源合法性
--nodigest:不检查包完整性
导入密钥:
rpm --import /path/to/gpg-key-file
导入以后再做验证
数据库
位置:/var/lib/rpm
重建:rpm --initdb:初始化
如果事先不存在一个数据库,则新建之
rpm --rebuilddb 重建,直接新建数据库,会覆盖原有库