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

相关推荐

  • 第六周博客作业

                   1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\+[^[:…

    Linux干货 2016-12-05
  • Linux下的find命令详解

    Linux下的find命令详解 在linux下有两种查找符合条件文件的命令,是locate和find。我们来说说find这个命令。 find: 实时查找工具,遍历查找指定路径下的所有的文件来找到符合条件的文件。 特点:查找文件比locate速度略慢,查找文件很精确,并且是实时进行查找的。 使用方法:find [OPTIONS] [查找起始路径] [查找条件]…

    Linux干货 2018-03-20
  • 学习linux第四天

    Linux学习第4天   Linux内部命令和外部命令    内部命令:实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度比外部…

    Linux干货 2016-10-29
  • 马哥教育网络21期+第六周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost named]# cp /etc/rc.d/rc.sysinit /tmp/ [root@loc…

    Linux干货 2016-08-15
  • 堡垒机-麒麟开源堡垒机SSH公私钥认证配置文档

    1、进入SSH公私钥管理界面 操作步骤:进入系统,点击左侧导航资产管理,后边TAB标签导航SSH公私钥,如下图     2、批量导入SSH公私钥: SSH公私钥管理界面,点击下方”导入“,进入导入页面上传公私钥,     上传说明: 1) 讲所有的公私钥放到一个名为pvt的空文件夹中。 2) 在同样…

    Linux干货 2016-05-29
  • 马哥linux0803作业内容

    1. 创建sysadmins组 将用户user1,user2,user3加入sysadmins组中 将user3设置为sysadmins的管理员 用user3登录,将user2从组中移除 设置sysadmins的密码centos 设置user1 在创建新文件时,文件的所属组为sysadmins 删除user1…3 删除sysadmins 2、三种权限rwx对…

    Linux干货 2016-08-04