手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux rpm命令的查询模式常用方式举例

[日期:2011-04-24] 来源:Linux社区  作者:codeauth [字体: ]

rpm命令的查询模式语法:

rpm {-q|--query} [select-options] [query-options]

{...}表示必选部分,[...]表示可选部分

其中:

select-options表示查询的范围,比如:按照文件查还是包查,可以是:

PACKAGE_NAME:包的名字
-a, --all:查询所有的已安装包
-f, --file FILE:查询文件FILE所属的包

-p, --package PACKAGE_FILE:查询安装包文件所在的包

按照“包的名称”查询,名称只要匹配到关键字就可以:

[irixgl@irixgl ~]$ rpm -q coreutils-
coreutils-8.5-6.fc14.i686

按照“文件所属的包”查询

[irixgl@irixgl ~]$ rpm -qf /sbin/grubby
grubby-7.0.16-1.fc14.i686

按照包文件查询

[irixgl@irixgl ~]$ rpm -qp grubby-7.0.16-1.fc13.src.rpm
warning: grubby-7.0.16-1.fc13.src.rpm: Header V3 RSA/SHA256 Signature, key ID e8e40fde: NOKEY
grubby-7.0.16-1.fc13.x86_64

上述每种方式可以叠加下面的query-options

query-options可以是:

-d, --docfiles:列出包里面的文档,用于了解man信息

-i, --info:列出包的基本信息

-l, --list:列出包里面包含的文件列表

--provides:列出包所提供的能力集
-R, --requires:列出包所依赖的能力集

查询/sbin/grubby文件所在的包的基本信息

[irixgl@irixgl ~]$ rpm -qfi /sbin/grubby
Name        : grubby                       Relocations: (not relocatable)
Version     : 7.0.16                            Vendor: Fedora Project
Release     : 1.fc14                        Build Date: Wed 14 Jul 2010 02:48:10 AM CST
Install Date: Sat 23 Oct 2010 02:16:37 AM CST      Build Host: x86-14.phx2.fedoraproject.org
Group       : System Environment/Base       Source RPM: grubby-7.0.16-1.fc14.src.rpm
Size        : 83020                            License: GPLv2+
Signature   : RSA/SHA256, Thu 29 Jul 2010 04:49:34 PM CST, Key ID 421caddb97a1071f
Packager    : Fedora Project
URL         : http://git.fedorahosted.org/git/grubby.git
Summary     : Command line tool for updating bootloader configs
Description :
grubby  is  a command line tool for updating and displaying information about
the configuration files for the grub, lilo, elilo (ia64),  yaboot (powerpc)
and zipl (s390) boot loaders. It is primarily designed to be used from scripts
which install new kernels and need to find information about the current boot

查询/sbin/grubby文件所在的包里面包含的文件

[irixgl@irixgl ~]$ rpm -qfl /sbin/grubby
/sbin/grubby
/sbin/installkernel
/sbin/new-kernel-pkg
/usr/share/doc/grubby-7.0.16
/usr/share/doc/grubby-7.0.16/COPYING
/usr/share/man/man8/grubby.8.gz
/usr/share/man/man8/installkernel.8.gz
/usr/share/man/man8/new-kernel-pkg.8.gz

查询/sbin/grubby所在的包安装后依赖的文件

[irixgl@irixgl ~]$ rpm -qfR /sbin/grubby
/bin/bash
/bin/sh
libblkid.so.1
libblkid.so.1(BLKID_1.0)
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libglib-2.0.so.0
libpopt.so.0
libpopt.so.0(LIBPOPT_0)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1

格式举例:

--qf|--queryformat QUERYFMT

QUERYFMT = 用""括起来,例如""%{NAME}-%{VERSION}"

文件解包:

rpm2cpio xxx.rpm | cpio -idmv

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款