linux中rpm命令的妙用

linux中rpm命令的妙用

CentOS系统上使用rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护

安装:

        rpm {-i|–install} [install-options] PACKAGE_FILE…

                -v: verbose

                -vv:

                -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE …

                –test: 测试安装,但不真正执行安装;dry run模式

                –nodeps:忽略依赖关系 –replacepkgs | replacefiles

                –nosignature: 不检查来源合法性

                –nodigest:不检查包完整性

                –noscipts:不执行程序包脚本片断

                              %pre: 安装前脚本;–nopre

                              %post: 安装后脚本;–nopost

                              %preun: 卸载前脚本;–nopreun

                              %postun: 卸载后脚本; –nopostun

rpm包升级
 升级: rpm {-U|–upgrade} [install-options] PACKAGE_FILE… 

                    rpm {-F|–freshen} [install-options] PACKAGE_FILE…

                           upgrade:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则“安装”

                           freshen:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则不执行升级操作

                           rpm -Uvh PACKAGE_FILE …

                           rpm -Fvh PACKAGE_FILE …

                           –oldpackage:降级

                           –force: 强行升级

包查询
    rpm {-q|–query} [select-options] [query-options] [select-options]

        -a: 所有包

        -f: 查看指定的文件由哪个程序包安装生成

        -p rpmfile:针对尚未安装的程序包文件做查询操作;

        –whatprovides CAPABILITY:查询指定的CAPABILITY 由哪个包所提供

        –whatrequires CAPABILITY:查询指定的CAPABILITY被 哪个包所依赖 

             rpm2cpio 包文件|cpio –itv 预览包内文件 

             rpm2cpio 包文件|cpio –id  “*.conf” 释放包内文件

        –changelog:查询rpm包的changelog

        -c: 查询程序的配置文件

        -d: 查询程序的文档

        -i: information

        -l: 查看指定的程序包安装后生成的所有文件;

        –scripts:程序包自带的脚本片断

        -R: 查询指定的程序包所依赖的CAPABILITY;

        –provides: 列出指定程序包所提供的CAPABILITY

 查询用法:

         -qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE

         -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …

         -qa

卸载:

         rpm {-e|–erase} [–allmatches] [–nodeps] [-noscripts] [–notriggers] [–test] PACKAGE_NAME …

包校验
     rpm {-V|–verify} [select-options] [verify-options]

        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

rpm数据库
     数据库重建:

                 /var/lib/rpm 

        rpm {–initdb|–rebuilddb}

        initdb: 初始化

        如果事先不存在数据库,则新建之

        否则,不执行任何操作

        rebuilddb:重建

        无论当前存在与否,直接重新创建数据库


参数说明

  • -a  查询所有套件。

  • -b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。

  • -c  只列出组态配置文件,本参数需配合"-l"参数使用。

  • -d  只列出文本文件,本参数需配合"-l"参数使用。

  • -e<套件档>或–erase<套件档>  删除指定的套件。

  • -f<文件>+  查询拥有指定文件的套件。

  • -h或–hash  套件安装时列出标记。

  • -i  显示套件的相关信息。

  • -i<套件档>或–install<套件档>  安装指定的套件档。

  • -l  显示套件的文件列表。

  • -p<套件档>+  查询指定的RPM套件档。

  • -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。

  • -R  显示套件的关联性信息。

  • -s  显示文件状态,本参数需配合"-l"参数使用。

  • -U<套件档>或–upgrade<套件档> 升级指定的套件档。

  • -v  显示指令执行过程。

  • -vv  详细显示指令执行过程,便于排错。

  • -addsign<套件档>+  在指定的套件里加上新的签名认证。

  • –allfiles  安装所有文件。

  • –allmatches  删除符合指定的套件所包含的文件。

  • –badreloc  发生错误时,重新配置文件。

  • –buildroot<根目录>  设置产生套件时,欲当作根目录的目录。

  • –changelog  显示套件的更改记录。

  • –checksig<套件档>+  检验该套件的签名认证。

  • –clean  完成套件的包装后,删除包装过程中所建立的目录。

  • –dbpath<数据库目录>  设置欲存放RPM数据库的目录。

  • –dump  显示每个文件的验证信息。本参数需配合"-l"参数使用。

  • –excludedocs  安装套件时,不要安装文件。

  • –excludepath<排除目录>  忽略在指定目录里的所有文件。

  • –force  强行置换套件或文件。

  • –ftpproxy<主机名称或IP地址>  指定FTP代理服务器。

  • –ftpport<通信端口>  设置FTP服务器或代理服务器使用的通信端口。

  • –help  在线帮助。

  • –httpproxy<主机名称或IP地址>  指定HTTP代理服务器。

  • –httpport<通信端口>  设置HTTP服务器或代理服务器使用的通信端口。

  • –ignorearch  不验证套件档的结构正确性。

  • –ignoreos  不验证套件档的结构正确性。

  • –ignoresize  安装前不检查磁盘空间是否足够。

  • –includedocs  安装套件时,一并安装文件。

  • –initdb  确认有正确的数据库可以使用。

  • –justdb  更新数据库,当不变动任何文件。

  • –nobulid  不执行任何完成阶段。

  • –nodeps  不验证套件档的相互关联性。

  • –nofiles  不验证文件的属性。

  • –nogpg  略过所有GPG的签名认证。

  • –nomd5  不使用MD5编码演算确认文件的大小与正确性。

  • –nopgp  略过所有PGP的签名认证。

  • –noorder  不重新编排套件的安装顺序,以便满足其彼此间的关联性。

  • –noscripts  不执行任何安装Script文件。

  • –notriggers  不执行该套件包装内的任何Script文件。

  • –oldpackage  升级成旧版本的套件。

  • –percent  安装套件时显示完成度百分比。

  • –pipe<执行指令>  建立管道,把输出结果转为该执行指令的输入数据。

  • –prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。

  • –provides  查询该套件所提供的兼容度。

  • –queryformat<档头格式>  设置档头的表示方式。

  • –querytags  列出可用于档头格式的标签。

  • –rcfile<配置文件>  使用指定的配置文件。

  • –rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。

  • –rebuliddb  以现有的数据库为主,重建一份数据库。

  • –recompile<套件档>  此参数的效果和指定"–rebulid"参数类似,当不产生套件档。

  • –relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。

  • –replacefiles  强行置换文件。

  • –replacepkgs  强行置换套件。

  • –requires  查询该套件所需要的兼容度。

  • –resing<套件档>+  删除现有认证,重新产生签名认证。

  • –rmsource  完成套件的包装后,删除原始代码。

  • –rmsource<文件>  删除原始代码和指定的文件。

  • –root<根目录>  设置欲当作根目录的目录。

  • –scripts  列出安装套件的Script的变量。

  • –setperms  设置文件的权限。

  • –setugids  设置文件的拥有者和所属群组。

  • –short-circuit  直接略过指定完成阶段的步骤。

  • –sign  产生PGP或GPG的签名认证。

  • –target=<安装平台>+  设置产生的套件的安装平台。

  • –test  仅作测试,并不真的安装套件。

  • –timecheck<检查秒数>  设置检查时间的计时秒数。

  • –triggeredby<套件档>  查询该套件的包装者。

  • –triggers  展示套件档内的包装Script。

  • –verify  此参数的效果和指定"-q"参数相同。

  • –version  显示版本信息。

  • –whatprovides<功能特性>  查询该套件对指定的功能特性所提供的兼容度。

  • –whatrequires<功能特性>  查询该套件对指定的功能特性所需要的兼容度。


原创文章,作者:xiaoqiang512,如若转载,请注明出处:http://www.178linux.com/39240

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-24 10:12
下一篇 2016-08-24 10:12

相关推荐

  • RAID(重要)

    RAID   RAID(Redundent Array of Independent Disk):独立的冗余磁盘阵列,目的是为了结合多个物理驱动器组成单个单元,提高了磁盘的性能或保证数据冗余。RAID能够防止硬件的故障导致数据丢失,但是不能防止人为操作,软件故障、恶意软件感染等造成的数据丢失,因此不能替代备份。 分类有:硬件实现RAID(一是外接式磁盘阵列柜…

    Linux干货 2016-08-30
  • linux之netfilter与 iptables学习

    Linux之netfilter与iptables学习 一、为什么我们的主机需要防火墙 二、Linux下防火墙如何实现 三、四表五链学习 四、主机防火墙 五、网络防火墙 六、iptables命令学习 七、主机防火墙规则备份与恢复 ====================================== 一、为什么我们的主机需要防火墙?  &nbs…

    Linux干货 2016-06-23
  • 高考作业

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 TCP三路握手,作用为完成三次握手,主机A与主机B开始传送数据。 第一次握手:客户端A(状态为SYN_SEND)发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,服务器B(状态为LISTEN)由SYN=1知道,客户端A要求建立联机; 第二次握手:服务器B(…

    Linux干货 2016-06-22
  • 复习-RAID原理详解

    一、RAID RAID:冗余磁盘阵列,将多个磁盘不同的方式组成阵列,作为单一磁盘使用;通过RAID,大幅提高了I/O能力、容错性。 二、RAID级别 不同的磁盘阵列组成模式,称为磁盘级别,不同的RAID级别可提供不同的I/O能力提升、磁盘可用率和容错性 1、RAID 0 条带卷 strip  用两块和两块以上磁盘组成,RAID控制器将数据平均切割成…

    Linux干货 2016-07-04
  • MBR

    关于磁盘的使用,必须要弄明白MBR 分区划分方式     centos 6:扇区划分     centos 7:柱面划分 MBR:Master Boot Record:512bytes 0磁道0扇区 512bytes=446bytes(boot loader) + 4*16byt…

    Linux干货 2016-09-05
  • Linux用户和组管理及相关命令详解

        概要:在学习Linux的初级阶段,用户管理是基础管理的重要部分,任何命令的运行,系统的正常运转,均离不开用户管理的内容,本篇就为大家介绍下Linux用户管理的一些基础概念和一些基础命令的用法。内容主要分为以下三个部分:        &nbs…

    Linux干货 2016-08-02