软件包查询

〇、测试环境
[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. Android中解析Json数据

    在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...

  2. 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google

    摘要: 作为此次Gartner报告中唯一上榜的中国科技公司,阿里云获得六个评判维度的最高分,排名第二 近日,知名调研机构Gartner发布了全球领先公共云厂商区块链服务能力报告,作为唯一上榜的中国科技 ...

  3. 模板—Hash_map

    struct Hash_map { ],nx[]; ];]; inline double &operator [] (int x) { ,i=fi[k]; for(;i&&st ...

  4. vue1——vue引入方法,npm本地安装

    博客地址 :https://www.cnblogs.com/sandraryan/ Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用 ...

  5. Android 自定义ProgressDialog

    Android本身已经提供了ProgressDialog进度等待框,使用该Dialog,我们可以为用户提供更好的体验:在网络请求时,弹出此框等待网络数据. 不过,既然是为了提高用户体验,我们肯定希望该 ...

  6. springboot2.04与activiti 6.0集成

    本文就不对activiti做解释,下面直接看项目集成 以下顺序方面根据我的理解来,可以先从第二章看,再看第一张与第三章 增加activiti表的API,备注用. 目录 一.springboot2.X集 ...

  7. SuperSocket AppServer 的两个事件: NewSessionConnected 和 SessionClosed

    订阅事件: appServer.NewSessionConnected += new SessionHandler<AppSession>(appServer_NewSessionConn ...

  8. java一维数组的声明与初始化

    一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素: 一维数组的声明方式: type varName[]; 或 type[] varName;(推荐) Eg:int age[]; ...

  9. 查看php-fpm的进程和端口号

    ps -ef | grep php-fpm   查看php-fpm所有的进程 ps -ef | grep php-fpn.conf 查看配置所在路径 netstat -lntp 查看监听端口  lis ...

  10. cfp大纲

    AFP基础知识 本章共14个考点,考试考15分左右. 本章重点: .职业道德准则 .家庭财务分析:净值的计算.储蓄的计算 .简单的财务比率分析 .金融理财和法律:企业组织形式.夫妻公共财产制度.财产分 ...