1、安装
rpm -i /PATH/TO/PACKAGE_FILE
-h: 以#显示进度;每个#表示2%;
-v: 显示详细过程
-vv: 更详细的过程
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps: 忽略依赖关系;
--replacepkgs: 重新安装,替换原有安装;
--force: 强行安装,可以实现重装或降级;
2、查询
rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
rpm -qa : 查询已经安装的所有包
rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本
rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
--oldpackage: 降级
4、卸载
rpm -e PACKAGE_NAME
--nodeps
5、校验
rpm -V PACKAGE_NAME
#效验安装包的文件是否正确,是否缺失或者被更改
6、重建数据库
/var/lib/rpm/ #数据库
1
2
3
4
5
|
[root@localhost yum.repos.d]
# ls /var/lib/rpm/
Basenames __db.003 Group Packages Requirename Triggername
Conflictname __db.004 Installtid Providename Requireversion
__db.001 Dirnames Name Provideversion Sha1header
__db.002 Filedigests Obsoletename Pubkeys Sigmd5
|
name:包名
packages:软件包文件名 都是二进制文件
rpm
--rebuilddb: 重建数据库,一定会重新建立;
--initdb:初始化数据库,没有才建立,有就不会建立;
7、检验来源合法性,及软件包完整性;
加密类型:
1.对称:加密解密使用同一个密钥
2.公钥:一对密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;
3.单向:
# ls /etc/pki/rpm-gpg/ #存放密钥
RPM-GPG-KEY-redhat-release
rpm -K /PAPT/TO/PACKAGE_FILE
dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项
sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件
先导入密钥,再验证。导入的是红帽的密钥,只能验证红帽的rpm包
本文转自 chomperwu 51CTO博客,原文链接:http://blog.51cto.com/chomper/1690897,如需转载请自行联系原作者