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)
dyzhoudyzhou
上一篇 2018-06-10
下一篇 2018-06-10

相关推荐

  • Linux文件系统简介

    “一切皆是文件”是Linux基本哲学思想之一,可见文件系统在linux系统中的重要性,学好文件系统将为以后深入研究与学习Linux系统奠定良好的基础。

    2018-03-30
  • 第四个礼拜作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。         cp -r /etc/skel /home/tuser1 ;         ll -d /home/tuser1;         chmod -R g-rwx,o-rwx /home/tuser1;   …

    Linux笔记 2018-06-03
  • 查找命令,压缩工具,以及Sed

    1、查找locate和find
    2、处理动作-exec和参数替换xargs
    3、压缩、解压缩及归档工具
    4、文本处理工具sed

    2018-04-16
  • 详细说明进行管理工具htop、vmstat等相关命令,并举例

    htop命令: 选项: -d #:指定延迟时间间隔 -u UserName:仅显示指定用户的进程 -s COLUME:以指定字段进行排序 htop -u root -d 10 PID:进程ID USER:用户名 PRI:优先级 NI:nice值 VIRT:Size in memory of the total program size RES:所使用的物理内…

    2018-06-15
  • shell脚本编程基础(3)——循环用法

    在前面的基础编程内容中,我们已经学习了shell脚本的顺序执行及选择执行,通过这两种方式,可以帮我们解决一些简单需求,但要想在更复杂的场景中使用的话,就需要掌握循环执行的方式了。

    2018-05-08
  • 在CentOS 7.3中创建本地yum源

    1.挂载系统光盘 1.1创建挂载文件 [root@centos7 ~]# mkdir /mnt/cdrom                          #创建文件 1.2挂载光驱 [root@centos7 ~]# mount /dev/cdrom /mnt/cdrom/              #挂载光驱  mount: /dev/sr0 is w…

    Linux笔记 2017-05-18