rpm 命令技巧(重新认识RPM它其实很有用)

写在前面

在学习Linux的道路上,学妹总是会忽略一些 "自认为没用的知识" 转而去学习更高级的知识,而当真正遇到一些 "简单到不能再简单"的问题时,就傻了眼慌了神。万丈高楼平地起,希望所有正在学习Linux的朋友都能够将基础打牢,才能使技术更上一层楼。

简单到不能再简单的问题
  1. 如何查看rpm安装包的详细信息?
  2. 如何知道命令"reboot"属于哪个RPM包?
  3. 假如你忘记了selinux的配置文件路径,你要怎么找到它?
  4. 你想知道系统中的mysql是什么时候安装的?
  5. 你想知道vsftpd需要依赖哪些软件包?

如果能回答出来以上5个"简单到不能再简单的问题" 那么请不用再继续往下看了

如果回答不出来,那么跟着我,一起重新认识RPM吧!

什么是RPM ?

百度说它是 Red-hat Package Manager (红帽包管理器)

其实它是:RPM Package Manager (RPM包管理器,来源于:https://rpm.org)

这种递归的缩写如同"GNU"一样充满了Unix情怀

回到正题,在Linux中,大部分软件都以"包(Package)"的形式表示,其后缀名是".rpm"

命名规则也简单:

<软件名>-<主版本>-<发布版本>.<架构>.rpm

举例说明:

rpm 命令技巧(重新认识RPM它其实很有用)(1)

el7 指:Redhat Enterprise Linux 7

4个最常用RPM命令

rpm 命令技巧(重新认识RPM它其实很有用)(2)

这4条命令就是运维版的"增删改查"呀

RPM安装后

当把一个软件安装到系统后,会产生3种类型的文件

  1. 二进制文件和一些脚本文件 (File and script)
  2. 文档,比如man信息等等 (documentation)
  3. 配置文件(Configuration)

如何查看这3种文件?

  1. rpm -qs 和 rpm -qf //script and file
  2. rpm -qd //documentation
  3. rpm -qc //configuration

当你知道RPM安装完后会产生3种类型的文件,这4条命令也就记忆下来了。

rpm -qs 和 rpm -qf

前者则用来列出软件的script文件;后者用于查看某个命令属于哪个软件,比如你想知道"reboot"命令属于哪个软件:

rpm 命令技巧(重新认识RPM它其实很有用)(3)

可以看到,reboot命令属于systemd这个软件包

rpm -qd

查看某个软件的所有文档,假如你想看看sed的文档:

rpm 命令技巧(重新认识RPM它其实很有用)(4)

rpm -qc

列出软件的配置文件,假如你想知道"sudo"的配置文件在哪?

rpm 命令技巧(重新认识RPM它其实很有用)(5)

另外2个常用的rpm命令

查看依赖哪些包:rpm -q -requires 软件包.rpm

例子:查看selinux-policy包 依赖什么软件包?

rpm 命令技巧(重新认识RPM它其实很有用)(6)

查看最后安装时间:rpm -q -last 软件包.rpm

例子:查看sudo最后于什么时候安装?

rpm 命令技巧(重新认识RPM它其实很有用)(7)

简单到不能再简单的问题
  • 如何查看RPM安装包的详细信息?
  • 答案:rpm -qi 软件包.rpm 或 rpm -qi 命令名
  • 如何知道命令"reboot"属于哪个RPM包?
  • 答案:rpm -qf /usr/sbin/reboot
  • 假如你忘记了selinux的配置文件路径,你要怎么找到它?
  • 答案:
  • rpm 命令技巧(重新认识RPM它其实很有用)(8)

  • 你想知道系统中的mysql是什么时候安装的?
  • 答案:rpm -q -last mysqld
  • 你想知道vsftpd需要依赖哪些软件包?
  • 答案:rpm -q -requires vsftpd
  • ,

    免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

      分享
      投诉
      首页