rpm命令
rpm [options] PACKAGE_FILE ...
常用选项
-i --install 安装
-U --update 升级
-e --erase 卸载
-q --query 查询
-V verify 校验
--rebuilddb --initdb 构建数据库
`
程序安装
rpm {-i|--install} [install-options] PACKAGE_FILE ...
GENERAL OPTION
-v 显示详细信息
-vv 更详细的信息
install-options
-h :输出进度条,每个#表示2%的进度
--test 测试安装
--nodeps 忽略依赖关系
--replacepkgs 重新安装
--nosignature 不检查包签名信息,不检查包来源合法性
--nodigest 不检查程序包的完整性
程序升级
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
升级或安装,如果系统中没有指定的程序则执行安装操作
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
如果系统没有指定的程序则不做任务操作
常用选项
--oldpackage 降级安装
--force 强制升级
程序删除
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...
常用选项
--allmatches 下载所有匹配指定名称的程序包的各版本
--nodeps 忽略依赖关系
--test 测试卸载,dry run 模式
程序查询
rpm {-q|--query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查询指定的程序包是否已经安装和查询版本
-a --all: 查询所有已经安装过的程序包
-f FILE :查询指定的文件有那个程序包安装生成
-p, --package PACKAGE_FILE:用于对未安装的程序包执行查询操作
rpm -qpl -qpi -qpc .... PACKAGE_FILE
--whatprovides CAPABILITY 查询指定的CAPABILITY由哪个程序包提供
--whatrequires CAPABILITY 查询指定的CAPABILITY有哪个程序包所依赖
[query-options]
--changelog 查询rpm包的changelog
-l --list 程序包安装生成的文件列表
-i --info 查询程序包相关的信息
-c --configfiles 查询指定程序包对应的配置文件
-d --docfile 查询指定程序包对应的文档
--provides 列出指定程序包提供的所有CAPABILITY
-R --requires 查询指定程序包的依赖关系
--scripts 查看程序包自带的脚本片段
程序校验
rpm {-V|--verify} [select-options] [verify-options] PACKAGE_NAME
[root@localhost ~]# rpm -V tcsh
S.5....T. d /usr/share/doc/tcsh-6.18.01/BUGS
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
包来源合法性验证和完整性验证
验证方法
1,获取并导入信任的包制作者的密钥
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
安装此组织签名的程序时,会自动执行验证
2,手动验证
rpm -K PACKAGE_FILE
数据库重建
rpm管理器数据库路径:/var/lib/rpm/,查询操作就是通过此处的数据库进行
获取命令帮助
centos 6 :man rpm
centos 7 :man rpmdb
rpm {--initdb|--rebuilddb}
--initdb 事先无数据库时,可初始化创建一个,当前有时,不执行操作
--rebuilddb 重新构建数据库
--dbpath 指明数据库路径
rpm命令使用示例
安装
[root@localhost Packages]# rpm -ivh zsh-5.0.2-14.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-14.el7 ################################# [100%]
查询
[root@localhost Packages]# rpm -qf /bin/zsh
zsh-5.0.2-14.el7.x86_64
[root@localhost Packages]# rpm -ql zsh
/bin/zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
......
[root@localhost Packages]# rpm -qi zsh
Name : zsh
Version : 5.0.2
Release : 14.el7
Architecture: x86_64
Install Date: Sun 10 Jun 2018 02:10:07 PM CET
Group : System Environment/Shells
Size : 5834871
License : MIT
Signature : RSA/SHA256, Wed 25 Nov 2015 05:07:38 PM CET, Key ID 24c6a8a7f4a80eb5
Source RPM : zsh-5.0.2-14.el7.src.rpm
Build Date : Fri 20 Nov 2015 02:11:36 PM CET
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://zsh.sourceforge.net/
Summary : Powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor. Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements. Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.
[root@localhost Packages]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
程序校验
[root@localhost Packages]# rpm -V zsh
S.5....T. c /etc/zlogout
程序合法性验证
[root@localhost Packages]# rpm -K zsh-5.0.2-14.el7.x86_64.rpm
zsh-5.0.2-14.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
卸载
[root@localhost Packages]# rpm -evh zsh
Preparing... ################################# [100%]
Cleaning up / removing...
1:zsh-5.0.2-14.el7 ################################# [100%]
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100811