CentOS中等价于dpkg -s命令的指令是什么?

14

我正在为CentOS改编一个先前为Ubuntu编写的准备脚本。

在Ubuntu脚本中,经常调用dpkg -s {some program} 命令。例如,其中一个命令是dpkg -s snmpd 以检查 SNMP 守护程序是否已安装。

在CentOS中有相应的命令吗?我知道RPM是软件包管理器。命令rpm -q 类似,但它查找的是软件包而非程序。

例如,运行 rpm -q snmpd 返回:

package snmpd is not installed

我的问题是,CentOS中等价于Ubuntu命令 dpkg -s 的是什么?

1个回答

5

dpkg -s 命令需要一个软件包名称作为参数,而不是文件或程序名。(在很多情况下,一个程序的名称和提供它的软件包名称相同。)

例如,在我的 Ubuntu 系统上,dpkg -s gcc 命令会输出:

Package: gcc
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 64
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Source: gcc-defaults (1.98ubuntu3)
Version: 4:4.5.2-1ubuntu3
Provides: c-compiler
Depends: cpp (>= 4:4.5.2-1ubuntu3), gcc-4.5 (>= 4.5.2-1~)
Recommends: libc6-dev | libc-dev
Suggests: gcc-multilib, make, manpages-dev, autoconf, automake1.9, libtool, flex, bison, gdb, gcc-doc
Conflicts: gcc-doc (<< 1:2.95.3)
Description: The GNU C compiler
 This is the GNU C compiler, a fairly portable optimizing compiler for C.
  .
   This is a dependency package providing the default GNU C compiler.
   Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>

在CentOS系统上,rpm -q gcc命令会输出以下内容:
gcc-4.1.2-50.el5

如果您只是想检查一个软件包是否已安装,那么它不会打印太多信息,但这样已经足够了。如果您需要更多信息或其他选项,请使用man rpm; 还有其他查询可用。

如果rpm -q snmpd打印package snmpd is not installed,那么这可能是您所需要的信息。

dpkg -srpm -q都会相应地设置退出状态,并在软件包未安装时报告失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接