软件包查询

〇、测试环境
[root@osker ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@osker ~]# uname -r
5.4.2-1.el7.elrepo.x86_64

[root@osker ~]# rpm --version
RPM version 4.11.3

一、包查询
有时候知道命令需要查找命令对应的安装包名(有时候命令名称和包名不是同一个名字)
方法1、
先使用whereis命令,查询出命令的路径
[root@osker ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
再使用rpm -qf查询系统文件属于哪个软件包(file)
[root@osker ~]# rpm -qf  /usr/bin/ls
coreutils-8.22-24.el7.x86_64
方法2、
[root@osker ~]# yum provides ls
Loaded plugins: fastestmirror
...
 * updates: mirror.newmediaexpress.com
coreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : base
Matched from:
Filename    : /usr/bin/ls

二、rpm -q 常用查询命令
rpm:RPM Package Manager
rpm {-q|--query} [select-options] [query-options]

1、-q:查询(query)
查询软件包是否安装,命令格式如下:
rpm -q 软件包名
例:
[root@osker ~]# rpm -q net-tools
net-tools-2.0-0.25.20131004git.el7.x86_64
[root@osker ~]# rpm -q ifconfig
package ifconfig is not installed
注意是接包名不是命令名

2、-qa:查询所有安装的包(all)
-a, --all:Query all installed packages.
rpm -qa
例:
[root@osker ~]# rpm -qa
libXdamage-1.1.4-4.1.el7.x86_64
dbus-python-1.1.1-9.el7.x86_64
setup-2.8.71-10.el7.noarch
libXpm-3.5.12-1.el7.x86_64
...
[root@osker ~]# rpm -qa |grep net-tools
net-tools-2.0-0.25.20131004git.el7.x86_64

3、-qi查询软件包的详细信息(information)
-i, --info:Display package information, including name, version, and description.
rpm -qi 包名
例:
[root@osker ~]# rpm -qi net-tools
Name        : net-tools
#包名
Version     : 2.0
#版本
Release     : 0.25.20131004git.el7
Architecture: x86_64
#架构
Install Date: Fri 22 Nov 2019 04:28:51 AM CST
#安装时间
Group       : System Environment/Base
Size        : 938978
License     : GPLv2+
Signature   : RSA/SHA256, Fri 23 Aug 2019 05:36:04 AM CST, Key ID 24c6a8a7f4a80eb5
#签名
Source RPM  : net-tools-2.0-0.25.20131004git.el7.src.rpm
#源RPM包名
Build Date  : Fri 09 Aug 2019 09:10:26 AM CST
Build Host  : x86-02.bsys.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.

4、-ql(list)查询已经安装的软件包中的文件列表和安装的完整目录
rpm -ql 包名
-l, --list:List files in package.
例:
[root@osker ~]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor

5、-qc查询已经安装的软件包中的配置文件所在的位置
-c, --configfiles:List only configuration files.
rpm -qc 包名
例:
[root@osker ~]# rpm -qc mlocate
/etc/cron.daily/mlocate
/etc/updatedb.conf

6、-qd查询已经安装的软件包中的帮助文档
-d, --docfiles:List only documentation files.
rpm -qd 包名
例:
[root@osker ~]# rpm -qd  mlocate
/usr/share/doc/mlocate-0.26/AUTHORS
/usr/share/doc/mlocate-0.26/COPYING
/usr/share/doc/mlocate-0.26/NEWS
/usr/share/doc/mlocate-0.26/README
/usr/share/man/man1/locate.1.gz
/usr/share/man/man5/mlocate.db.5.gz
/usr/share/man/man5/updatedb.conf.5.gz
/usr/share/man/man8/updatedb.8.gz

7、-qf(file)查询指定文件由哪个软件包生成
-f, --file FILE:Query package owning FILE.
例:
[root@osker ~]# whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[root@osker ~]# rpm -qf  /usr/share/man/man8/ifconfig.8.gz
net-tools-2.0-0.25.20131004git.el7.x86_64

8、搜索
[root@osker ~]# yum provides locate
#查找locate命令所属包名
Loaded plugins: fastestmirror
Determining fastest mirrors
...     
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
Repo        : base
Matched from:
Filename    : /usr/bin/locate
#安装mlocate
[root@osker ~]# yum install -y mlocate
Loaded plugins: fastestmirror
...
Installed:
  mlocate.x86_64 0:0.26-8.el7
Complete!
[root@osker ~]# touch qiu
[root@osker ~]# mkdir qiu1
#创建测试文件和目录
[root@osker ~]# ll
total 4
-rw-r--r-- 1 root root  0 Jan  2 09:41 osker
-rw-r--r-- 1 root root  0 Jan  2 09:52 qiu
drwxr-xr-x 2 root root  6 Jan  2 09:52 qiu1
-rw-r--r-- 1 root root 17 Dec 31 16:43 sort.txt
[root@osker ~]# updatedb
#更新搜索数据库
[root@osker ~]# locate qiu
/root/qiu
/root/qiu1

rpm帮助
[root@osker ~]# man rpm

软件包查询-rpm查询常用命令的更多相关文章

  1. rabbitmq 部署(二进制和rpm)与常用命令

    目录 一 rabbitmq 简介 二 erlang 安装 三 rabbitmq rpm安装 (二进制安装和rpm安装二选一) 四 rabbitmq 二进制安装(rpm 安装和二进制安装二选一) 五 初 ...

  2. (十五)、linux软件的安装与查询-rpm与yum命令

    一.RPM软件管理程序:rpm 1.RPM安装软件(install) rpm命令的选项超级多,安装话直接使用-ivh即可,其余做了解即可 命令格式:rpm  -ivh  package_name.rp ...

  3. ubuntu下查询网络的常用命令

    1.查看无线路由器(网关)的IP地址 在terminal中输入如下命令,即可查询到当前使用的路由器的IP地址(我电脑是连着一个无线网络还有一个DSL连接): route|grep -i default ...

  4. Linux常用命令使用

    系统基础相关 使用root用户的环境变量切换到root用户 su - 显示当前工作路径 pwd 显示当前系统默认语言及键盘布局 localectl 显示系统中能支持的所有语言 localectl li ...

  5. Centos 6/7 常用命令总结 (基础)

    Centos 6/7 常用命令总结 (基础): 参考链接:https://www.cnblogs.com/linhaifeng/p/6045600.html 目录介绍: a) bin目录:用来存放常用 ...

  6. rpm包管理 命令

    rpm -ivh package.rpmrpm -ivh --force  package_name.rpm # ...conflict with...rpm -ivh --nodeps packag ...

  7. php开发面试题---Linux常用命令大全

    php开发面试题---Linux常用命令大全 一.总结 一句话总结: ls 查看目录中的文件 cd .. 返回上一级目录 cat 查看文件内容 touch 新建文件或修改时间 1.linux 系统信息 ...

  8. 软件包管理:rpm命令管理-查询

    yum没有rpm查询的多. 使用包名时无所谓使用位置.因为查询是在后台数据库中查询的. 记忆是只需知道安装和升级时要加包全名,其余加包名.其实未安装的加包全名. rpm包可以手工指定安装路径,但不建议 ...

  9. RPM软件包管理的查询功能 转

    RPM软件包管理的查询功能: 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查询功能是极为强大,是极为重要的功能之一:举几个常用 ...

随机推荐

  1. 实践分享:开始用Cordova+Ionic+AngularJS开发App

    http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用Cordova+Ionic以及AngularJS开发移动App的过程 ...

  2. 【批量添加】-SqlBulkCopy语句 标签: sql批量添加 2015-12-20 14:39 1367人阅读 评论(33)

    上篇博客我们介绍了通过拼接sql字符串的方法来对sql数据库进行批量添加,但是通过语句拼接insert语句有个缺点,就是每次最多只能添加1000条.当时我们另外一个界面也用到了批量添加,但是这个界面轻 ...

  3. ROS开发过程中遇到:Could not find a package configuration file provided by "qt_build" with any of the following names: qt_buildConfig.cmake qt_build-config.cmake........

    最近在搭建QT开发ROS 界面的环境,遇到了很多问题,参考了很多资料,最后发现有些问题其实没有那么复杂,只是我们对整体环境还不了解,熟悉了以后你会发现有些问题就迎刃而解了. 在这个过程中,我首先新建了 ...

  4. CSS文本超过两行用省略号代替

    1.只显示一行,超出部分用省略号 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 2.只显示两行(或多行),超出部分用省 ...

  5. part11.2-LED驱动设计

  6. @codechef - MXMN@ Maximum and Minimum

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 定义函数 f(G, x, y) 为 G 中点 x 和点 y 之间 ...

  7. [ZJOI2007] 小Q的矩阵游戏 (模板—Dinic)

    B. 矩阵游戏 题目描述 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行 ...

  8. Best Open Source Software

    Best Open Source Software Open Source, Software, Top The promise of open source software is best qua ...

  9. tomcat不能多次startup.sh,异常时直接,分析logs目录下的日志。

    tomcat不能多次startup.sh,异常时直接干掉其进程. 分析logs目录下的日志.

  10. 数据存储在哪里? Java是值传递还是引用传递?

    寄存器 : 最快的存储区,位于处理器中,寄存器会按需求自行分配空间,java不能控制寄存器,所以在程序中感觉不到它的存在 栈(stack) : 位于RAM(内存)中,速度仅次于寄存器,存储对象的引用( ...