rpm命令使用

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

(0)
上一篇 2018-06-10 21:31
下一篇 2018-06-10 21:44

相关推荐