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
下一篇 2017-08-19

相关推荐

  • CentOS7安装Zabbix3.0版本应用

    一、Zabbix介绍        zabbix 简介   Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利  &n…

    Linux干货 2016-11-03
  • Web服务,http协议。

    一·web   1。web是一种网站服务器,C/S架构,比较流行的Apache,Nginx,IIS。客户能够去服务器请求资        资源。   2.使用http协议,服务器html或者xml格式文件,客户浏览器访问资源(url)。   3.过程包括服务器套接字监听直到和客户套接字建立…

    Linux干货 2015-07-04
  • 网络班第27期第一周作业

    1、         描述计算机的组成及其功能 CPU:主要由控制器和运算器组成,其他还有寄存器和缓存等。 控制器:其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器:功能是对数据进行各种算术运算和逻…

    2017-07-29
  • DNS域名系统

    【本文导航】DNS域名系统DNS域名系统DNS解析类型DNS查询类型DNS服务器类型资源记录   SOA记录   NS记录   MX记录   A记录与泛域名   PTR记录   CNAME记录   AAAA记录子域区域传…

    Linux干货 2016-12-26
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • Linux文本处理及用户组管理命令练习

    一.文本处理基础命令 (1).  列出当前系统上所有已经登录的用户的用户名。           完成命令:who  |  cut  -d’ ‘  -f1  |  uniq  -u 示例: (2).取出最后登录到当前系统对的用户的相关信息。         完成命令:w  |  tail -1 示例: (3).取出当前系统上被用户当作…

    2018-03-11