活用RPM获取包的信息

rpm -q 功效大



如果你想要在系统上安装、卸载或是升级软件,需要对系统软件进行查询;或是有如下的场景:

  • 安装了一个软件,需要知道这个软件的版本。
  • 遇到一个文件,不认识它,需要知道它是什么软件,有什么作用

可以使用rpm -q 帮助。

RPM查询



包查询

首先你要知道你要查询的是哪一个包,包括:包的名字、包的版本、安装包的发行号

注意:RPM对于包名的大小写是敏感的,而且不接受没有写全的包名、版本号和发行号。且不能使用通配符。但是,给出包名片的一部分信息依然是能找到该包的,rpm -q libc-5.2.18和rpm -q libc-5.2.18-1都能正确地找到包libc-5.2.18-1。

-a :查询所有已经安装的包

使用-a选项查询在你系统上安装好的所有包:

1 [[email protected] ~]# rpm -aq
2 libselinux-utils-2.5-6.el7.x86_64
3 ...
4 systemd-sysv-219-30.el7_3.9.x86_64

其实-a的输出可能会有很多,还可以使用more或者grep重定向输出。

-f:查询有哪些包拥有文件

想用yum安装一个netstat,却不知道其rpm包名字。只要使用-f选项,就可以知道安装包的名字了:

1 [[email protected] ~]# which netstat
2 /bin/netstat
3 [[email protected] ~]# rpm -qf /bin/netstat
4 net-tools-2.0-0.22.20131004git.el7.x86_64

当你遇到"not owned by any package" 时, 如果你心生怀疑,使用如下方法:

1、直接切换到你所要查询文件的目录下,即使是个符号链接,也能带你到真实路径下。

2、通过namei命令来追踪链接的真实文件地址。

-p:查询一个特定的包

-p选项就是用来查询那些还没安装到你系统中的包。

-i:查询包的详细信息

在rpm -q上加上-i选项将会给出包的详细信息:

 1 [[email protected] ~]# rpm -qi net-tools
 2 Name        : net-tools
 3 Version     : 2.0
 4 Release     : 0.22.20131004git.el7
 5 Architecture: x86_64
 6 Install Date: Thu 28 Dec 2017 04:07:24 PM CST
 7 Group       : System Environment/Base
 8 Size        : 938986
 9 License     : GPLv2+
10 Signature   : RSA/SHA256, Fri 11 Aug 2017 02:30:02 AM CST, Key ID 24c6a8a7f4a80eb5
11 Source RPM  : net-tools-2.0-0.22.20131004git.el7.src.rpm
12 Build Date  : Thu 03 Aug 2017 05:17:34 PM CST
13 Build Host  : c1bm.rdu2.centos.org
14 Relocations : (not relocatable)
15 Packager    : CentOS BuildSystem <http://bugs.centos.org>
16 Vendor      : CentOS
17 URL         : http://sourceforge.net/projects/net-tools/
18 Summary     : Basic networking tools
19 Description :
20 The net-tools package contains basic networking tools,
21 including ifconfig, netstat, route, and others.
22 Most of them are obsolete. For replacement check iproute package.

上面各项信息的意义如下所示:

  • Name -- 包名
  • Version-- 包的版本
  • Release -- 发行号
  • Install date -- 安装日期
  • Group -- 分组名
  • Size -- 包的大小,以byte为单位
  • Summary -- 简洁的描述
  • Description -- 详细的描述
  • Distribution -- 所属产品
  • Vendor -- 软件的作者
  • Build Date -- 安装包的构建时间
  • Build Host -- 构建时所在的系统类型
  • Source RPM -- 源码包

-l:查找包所安装的所有文件

加上-l查询就能查询出安装包安装的所有文件。

原文地址:https://www.cnblogs.com/prometheus-python-xshell/p/8136836.html

时间: 2024-10-13 14:17:24

活用RPM获取包的信息的相关文章

Android中获取应用程序(包)的信息----PackageManager

本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下:   第一部分: 获取应用程序的packagename.label.icon等 :             第二部分:获取应用程序的占用大小,包括:缓存大小(cachsize).数据大小(datasize). 每部分都为您准备了简单丰富的实例,您一定不会错过. Android系统为我们提供了很多服务管理的类,包括ActivityManager.Po

Android中获取应用程序(包)的信息-----PackageManager的使用(一)

本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下:  第一部分: 获取应用程序的packagename.label.icon等 :             第二部分:获取应用程序的占用大小,包括:缓存大小(cachsize).数据大小(datasize). 每部分都为您准备了简单丰富的实例,您一定不会错过. Android系统为我们提供了很多服务管理的类,包括ActivityManager.Pow

rpm 查询服务包的信息

1 概述 工作中,可能需要看到服务包的信息,决定安装或者卸载.一般可以通过以下语句进行查看 which ifconfig   查看命令的执行文件放在哪里 rpm -qf /sbin/ifconfig rpm -q --whatprovides /sbin/ifconfig    两条命令一样的效果通过执行文件完整路径查看是由哪个服务包提供的 结果得到包    net-tools-1.60-110.el6_2.i686 rpm -qi net-tools   //查看服务包的信息 rpm -qc

Android中获取应用程序(包)的信息

本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下:  第一部分: 获取应用程序的packagename.label.icon等 :             第二部分:获取应用程序的占用大小,包括:缓存大小(cachsize).数据大小(datasize). 每部分都为您准备了简单丰富的实例,您一定不会错过. Android系统为我们提供了很多服务管理的类,包括ActivityManager.Pow

Android 获取包名,版本信息

Android 获取包名,版本信息及VersionName名称 Java代码   <span style="font-size: 14px;">private String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPackageInfo( pkName, 0).versionName; int ve

rpm程序包管理器详解

1. 程序包管理器的功能 我们知道,由程序员编写并提供的程序源代码要转换成目标二进制格式才能在计算机上运行起来,但用户要在平台上使用时需要手动编译安装后才能使用,对于普通用户来说有一定难度.因此为了降低普通用户对应用程序的使用难度,程序员可在提供源代码的同时提供已在特定环境下编译好的程序文件,只要用户的平台环境和程序员的平台环境相同,就可以通过解压程序员提供的二进制格式文件即可使用,而无需自己手动编译安装. 一个已编译好的程序由二进制程序.库文件.配置文件和帮助手册等组成,而程序包管理器的功能就

RPM程序包管理以及yum的应用

在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装.这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程.为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的系统去下载相应的安装包进行安装即可,其类似 Windows 的安装方式,由程序开发者直接在已知的系统上面编译好

rpm程序包使用基本介绍

程序包:源代码:tgr.gz , tar.bz2 , tar.xz包管理器:rpm格式appname-version-release-ARCH.rpm 常见的包管理器:1,.deb: debian.rpm:red hat Package Manager rpm包命名格式:appname-version-release-ARCH.rpmversion:major:主版本号minor:次版本号release:发行号 release:包自己的修订号,有时候,包含适用于的OS信息ARCH:适用的平台.x

Linux学习笔记:rpm程序包管理

以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:    程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化: