活用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选项查询在你系统上安装好的所有包:
[root@d0n7 ~]# rpm -aq
libselinux-utils-2.5-.el7.x86_64
...
systemd-sysv--.el7_3..x86_64
其实-a的输出可能会有很多,还可以使用more或者grep重定向输出。
-f:查询有哪些包拥有文件
想用yum安装一个netstat,却不知道其rpm包名字。只要使用-f选项,就可以知道安装包的名字了:
[root@d0n7 ~]# which netstat
/bin/netstat
[root@d0n7 ~]# rpm -qf /bin/netstat
net-tools-2.0-0.22.20131004git.el7.x86_64
当你遇到"not owned by any package" 时, 如果你心生怀疑,使用如下方法:
1、直接切换到你所要查询文件的目录下,即使是个符号链接,也能带你到真实路径下。
2、通过namei命令来追踪链接的真实文件地址。
-p:查询一个特定的包
-p选项就是用来查询那些还没安装到你系统中的包。
-i:查询包的详细信息
在rpm -q上加上-i选项将会给出包的详细信息:
[root@d0n7 ~]# rpm -qi net-tools
Name : net-tools
Version : 2.0
Release : 0.22.20131004git.el7
Architecture: x86_64
Install Date: Thu Dec :: PM CST
Group : System Environment/Base
Size :
License : GPLv2+
Signature : RSA/SHA256, Fri Aug :: AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : net-tools-2.0-0.22.20131004git.el7.src.rpm
Build Date : Thu Aug :: PM CST
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://sourceforge.net/projects/net-tools/
Summary : Basic networking tools
Description :
The net-tools package contains basic networking tools,
including ifconfig, netstat, route, and others.
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查询就能查询出安装包安装的所有文件。
活用RPM获取包的信息的更多相关文章
- Android中获取应用程序(包)的信息----PackageManager
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagena ...
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagenam ...
- 重新想象 Windows 8 Store Apps (30) - 信息: 获取包信息, 系统信息, 硬件信息, PnP信息, 常用设备信息
原文:重新想象 Windows 8 Store Apps (30) - 信息: 获取包信息, 系统信息, 硬件信息, PnP信息, 常用设备信息 [源码下载] 重新想象 Windows 8 Store ...
- Android中获取应用程序(包)的信息-----PackageManager的使用
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...
- Android 获取包名,版本信息
Android 获取包名,版本信息及VersionName名称 <span style="font-size: 14px;">private String ge ...
- linux rpm命令之查询包安装与否、包详细信息、包安装位置、文件属于哪个包、包依赖
查询这个包是否已安装rpm -q 包名rpm -qa-q 查询-a all 查询已安装软件包和未安装软件包详细信息 rpm -qi 包名rpm -qip 包全名-i 查询软件信息-p package, ...
- 【转】Android中获取应用程序(包)的信息-----PackageManager的使用(一)
转载请注明出处:http://blog.csdn.net/qinjuning 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占 ...
- aapt命令获取apk具体信息(包名、版本号号、版本号名称、兼容api级别、启动Activity等)
aapt命令获取apk具体信息(包名.版本号号.版本号名称.兼容api级别.启动Activity等) 第一步:找到aapt 找到sdk的根文件夹,然后找到build-tools文件夹.然后会看到一些b ...
- rpm 程序包管理介绍
API:application program interface ABI:application binary interface linux系统的ABI文件是ELF格式的 windows系统的AB ...
随机推荐
- noj装载问题
描述 有两艘船,载重量分别是c1. c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2.确定是否有可能将所有集装箱全部装入两艘船. 输入 多个测例,每个测例的输入占 ...
- fiddler之数据统计(statistics)
在使用fiddler代理监听访问时,可以使用statistics分页去统计请求和响应的一些信息. 界面显示如下: 可以在这里查看一个session的统计信息 说明: 1.request count:请 ...
- Homebrew简介及安装,Mac 包管理
Homebrew简介及安装 Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两 ...
- C++后台服务崩溃堆栈日志
C++后台服务崩溃堆栈日志 C/C++后台服务运行过程中总会出现一些不容易重现的崩溃故障,由于重现频率低,同时运行在服务器上,导致无法调试,此外服务直接崩溃,常规日志无法截获到有用信息,这时如果能够保 ...
- tofile和fromfile数组内建函数
numpy教程:基本输入输出和文件输入输出Input and output 使用数组的方法函数tofile可以方便地将数组中数据以二进制的格式写进文件.tofile输出的数据没有格式,因此用numpy ...
- 测试那些事儿—selenium自动化实战之登录验证码处理
登陆时经常出现验证码自动化测试如何处理呢? 一般有如下几种处理思路: 1.通过接口请求,拿到对应验证码信息 2.让开发配合把验证码改成万能验证码 3.注入cookies 如何通过注入cookies的方 ...
- LeetCode - Fruit Into Baskets
In a row of trees, the i-th tree produces fruit with type tree[i]. You start at any tree of your cho ...
- C# Android 开发中使用 Sqlite.NET ORM
开发环境:VS2015 Xamarin Sqlite.NET ORM 不就相当于 Entiry Framework For Xamarin 吗? 相当于用 C# 开发安卓程序访问 Sqlite 可以使 ...
- ssh登录原理及免密登录方法
免密登录设置 1.进入到我的home目录 cd ~/.ssh 2.生成ssh免登陆秘钥ssh-keygen -t rsa (四个回车) 执行完这个命令后,会生成两个文件id_rsa(私钥) ...
- .gitlab-ci.yml 配置文件,知识点
官方介绍:https://docs.gitlab.com/ee/ci/yaml/README.html 翻译: https://segmentfault.com/a/1190000010442764