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
下一篇 2016-08-24

相关推荐

  • Python函数式编程指南:目录和参考

    目录: 概述 这一篇简要地描述了函数式编程和一些相关的概念。 函数 这一篇展示了关于函数可能不常用到的部分特征并尝试引导诸位使用函数式的思维解决问题,并介绍了诸多有用的内建函数。 迭代器 这一篇介绍了迭代器以及Python对迭代器的语法级的支持,还包括了内置模块itertools的介绍。 生成器 这一篇介绍了自定义的迭代器——生成器,并展示了生成器的用途和使…

    Linux干货 2015-03-11
  • Linux源程序包管理器之RPM

    一、 RPM功能描述 l  打包 l  安装 l  卸载 l  升级 l  校验 l  数据库管理 二、 RPM包命名格式 1.       命名格式举例 name-version-relase.arch.rpm 例如:bash-4.2.3…

    系统运维 2015-09-25
  • Linux学习总结02—Linux的操作系统发展史(原创)

       我们都知道,在美国宾夕法尼亚大学,有那么一种计算机,叫ENIAC,这种机器耗电量是非常大,而且主机也是庞大,它诞生于1946年的2月14日的情人节,确实有纪念意义,就算是约炮也是拿着智能手机先摇一摇,好看就勾搭,不好看的就拉黑,这台计算机可并不是造福人类的,只是计算数据,我想,当时的情况是这样,在这台计算机没有出世之前,那帮工程师们…

    Linux干货 2016-10-29
  • linux正则表达式和vim的详细解析!

    正则表达式: 元字符– [:upper:] 大写 [:lower:] 小写 [:digit:] 全数字 [:alpha:] 全字母 [:alnum:] 全字母数字 匹配次数– . 匹配任意单个字符 * 匹配前面字符任意次 \? 匹配前面字符0次或1次 \{n\} 匹配至少n次 \{m,m\} 匹配至少m次 最多n次 \{,n\} 匹配…

    Linux干货 2017-04-09
  • 马哥教育网络班22期+第2周课程练习

    1、  Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp命令 单源复制:cp [OPTION]… [-T] SOURCE DEST 多源复制:cp [OPTION]… SOURCE… DIRECTORY 多源复制:cp [OPTION]… -t DIRECTORY SOU…

    Linux干货 2016-08-22
  • 7月19号:计算机基础+在VMware12中安装CentOS6.8

        16号从正下暴雨的武汉来到帝都参加马哥培训班,从清河公寓亮哥开始,到宿舍另外五位室友,渐渐认识更多人,还算适应额不错。但走在北京的马路上,多少还是有些陌生,不过就如宿舍一样,来的时候脏兮兮,经过一番打扫后,干净了不少,我也会很快习惯在这边的生活,精力全放在linux上!   &nb…

    Linux干货 2016-08-05