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

相关推荐

  • 使用vim编辑器进行编程

    1.首先需要配置vim的语法风格,具体操作如下 # vim /etc/vimrc set nu 这是设置显示行号** set showmode 设置在命令行界面最下面显示当前模式等。 set ruler 在右下角显示光标所在的行数等信息 set autoindent 设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐 set ts=4 注:…

    2017-04-09
  • keepalived的实验:主主模型

    修改配置文件 [root@proxy1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived   global_defs { notification_email { root@localhost } notification_email_from k…

    2018-03-11
  • 马哥教育网络班22期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 &> /dev/null [root@localhost ~]# chmod -R go= /home/tus…

    Linux干货 2016-09-07
  • N26-博客作业-week15

    1、总结sed和awk的详细用法 sed: 语法结构 sed [OPTION]…’script’ [input-file]…[action] -r:支持扩展正则表达式 -n:不输出模式空间中的内容至屏幕 -e script1 -e script2 -e script3:指定多脚本运行 -f /path/to/script_file:从指定的文件中读取…

    Linux干货 2017-07-14
  • 编写脚本

        1、  编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPV4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。                      …

    2017-04-13
  • varnish详解

      第一章    http缓存的基础概念 1、程序运行时具有局部性特征 时间局部性缓存的数据往往被打有时间缀,具有定期失效的特征,过期后会从源服务器检验请求验证是否需要重新拉取数据,某数据被访问后,该数据往往会再次在短时间内被访问到。 空间局部性被访问数据的周边数据被访问的概率会比其它常规数据访问大很多,所以这些访问数…

    Linux干货 2016-11-15