rpm管理包

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。接下来聊一聊如何安装、卸载、查询、检验rpm类的软件。

安装:

rpm [-i|–install][install-options] 软件包名

 -v 显示详细信息

 -h 以#来表示安装进度

 –test 测试安装,不执行真正的安装过程

 –nodeps 忽略依赖关系(能安装成功,但不一定能运行成功)

 –force 强制安装

 –replacepkgs 重装并覆盖原有文件

 安装时常用组合:-ivh

升级:

rpm [-U|–upgrade][install-options] 软件包名

 -U 升级或安装

 -F 升级

 -Uvh 当有旧版本的安装包时,则卸载旧包再装新包,如没有旧包,直接装新包。

 -Fvh 当有旧版本的安装包时,卸载旧包装新包,无旧包时,什么都不做

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

 –nodeps:忽略依赖关系

 –oldpackage 降级 已有新包,装旧包。

 –force 强制安装。

【温馨提示】

(1) 不要对内核做升级操作;Linux支持多内核版本并存,因此可以直接安装多个版本内核

(2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

查询:

rpm [-q|–query][select-options][query-options] 软件包名

 -q  查询某软件包是否安装

 -qa 查询已经安装的所有软件包

 -qf 查询某文件由哪个软件包生成

 -qp 查询未安装的软件包

 -qi 查询某软件包的详细信息

 -ql 查询软件包安装生成的文件列表

 -qc 查询软件包的配置文件(不是所有包都有配置文件)

 -qd 查询软件包的帮助文档

 -qR 查询实现自身的功能需要什么能力

 -q –changelog 版本更新日志

 -q –scripts 查询软件包自带的脚本

 -q –provides 查询自身提供的capabilities

 -q –requires 查询自身所依赖的capabilities

卸载:

rpm -e 软件包名

     –nodeps 忽略依赖性关系,强制卸载  

 –test 测试卸载,即dry-run模式

 –allmatches 如果一个程序包同时安装多个版本,则此选项可以一次全部卸载。

【温馨提示】

如果程序包的配置文件安装后曾被修改,卸载时,此文件通常不会被删除,而是被重命名(FILENAME.rpmsave)后留存

验证:

rpm -V 软件包名

    -V 查询软件包安装之后生成的文件是否发生了改变

    -K 验证软件包的完整性和rpm签名是否合法

–nosignature: 不检查来源合法性

    –nodigest:不检查包完整性

    –noscripts:不执行程序包脚本

      %pre: 安装前脚本; –nopre

      %post: 安装后脚本; –nopost

      %preun: 卸载前脚本; –nopreun

      %postun: 卸载后脚本; –nopostun

最后来两道练习题吧:

1.统计光盘中Packages下,各种架构的rpm包的数量。

rpm管理包

由于安装包很多,所以这里也没有具体截图,给大家展示一下最后显示的结果,方法很多种,关键看你怎么用,能达到简单、快速、高效的结果(还记得rev是什么功能么?没错rpm管理包就是逆序输出内容。这里用rev取个巧)

2.查询命令java来自于哪个rpm包

rpm管理包

rpm管理包

rpm管理包

rpm管理包

rpm管理包

这里呢执行一次,截了一次图,别问为什么,就是这么任性rpm管理包。当然了主要还是为了能让你们能够清晰直观的阅读,想知道java这个命令来自哪个包,当然得知道什么是java啦(第一张图示)然后 在接下来一步一步找,你会发现查了一步是链接,再查还是链接,有没有觉得很好玩,一层套一层,层层链接终于找到它。(当初实验的时候可是花费了很久才找到,找到了发现原来它就在这。这叫众里寻他千百度,蓦然回首,它就在java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64里rpm管理包)好了,以上就是今天的分享了,谢谢大家rpm管理包

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

(0)
吼吼哈嘿吼吼哈嘿
上一篇 2017-08-19 07:17
下一篇 2017-08-19 09:36

相关推荐

  • Linux 系统架构

    1.内核     1.1.组成部分         1.1.1.系统调用接口         1.1.2.进程管理 &n…

    Linux干货 2016-06-04
  • vim编辑器

    vim编辑器三种模式转换 G跳到尾行 gg:跳到首行 H:跳到当前页的首行 L: 跳到当前页的尾行 M: 跳到当前而的中间行 dd: 删除光标所在的行 #dd:多行删除 yy:复制行 #yy: 复制多行  Y: 复制整行 cc:删除当前行并输入新内容 #cc:删除多行 C:删除当前光标到行尾,并切换成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05
  • Linux入门命令(一)

    已经一年没有在接触过Linux了,经过一个星期的Linux学习之后,又重新对她产生了兴趣,本周学习了一些Linux入门级的命令: (1)     (1)tty 这个命令是查看当前所处于的中终端信息的,同样也可以使用 who am i ,who以及w来查看终端信息. 终端也还有物理终端、虚拟终端以及伪终端之分,在虚拟机下…

    2017-07-16
  • mysql复制与备份

    备份策略: 完全+差异+binlog 完全+增量+binlog binlog最好能实时备份到另一个节点上。 完全备份,多久一次? 数据变化量:有20%,建议使用完全备份。 可用的备份存储空间: 数据变化量很大,可以每天做一个完全备份,每周做一次增量备份。 数据变化量不大,可以每月做一次完全备份,每天做一次增量或者差异。 数据 备份工具: mysqldump:…

    Linux干货 2016-12-05
  • zabbix表分区(适用于zabbix2.0.x,zabbix2.2.x和zabbix2.4.x)

    本文主要介绍了zabbix进行数据库表分区的方法:         在系统监控中,zabbix已经代替了nagios+cacti,zabbix以其良好的图形展示和高度自定义赢得了很多运维人员的喜爱。但是由于在工作中,zabbix跑的时间过长(我们公司跑了将近3年),web页面经常卡顿,监控…

    Linux干货 2015-10-27
  • Linux部分命令及通配符用法

    pwd: 显示工作目录 cd -: 在上一次所在目录与当前目录之间来回切换 cd: 切换回家目录 cat:  文本查看工具 n:给显示的文本行编号 -E:显示行结束符$ passwd 修改用户的密码 which 查看系统命令所对应的路径 df 查看系统分区 runlevel 查看系统运行级别  (共有6个级别) Tty…

    2017-03-28