CentOS相当于dpkg -s

Sco*_*oks 9 ubuntu centos rpm dpkg package

我正在调整以前为Ubuntu编写的CentOS准备脚本.

在Ubuntu脚本中,dpkg -s {some program}经常调用该命令.例如,一个这样的命令是dpkg -s snmpd检查是否安装了SNMP守护程序.

CentOS中的等价物是什么?我知道RPM是包管理器.该命令rpm -q类似,但它查找包而不是程序.

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

package snmpd is not installed
Run Code Online (Sandbox Code Playgroud)

我的问题是,相当于Ubuntu命令的CentOS是什么dpkg -s

Kei*_*son 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>
Run Code Online (Sandbox Code Playgroud)

在 CentOS 系统上,rpm -q gcc打印:

gcc-4.1.2-50.el5
Run Code Online (Sandbox Code Playgroud)

它不会打印那么多信息,但如果您所做的只是检查软件包是否已安装,那么应该没问题。如果您需要更多信息或其他选项,man rpm; 还可以进行其他查询。

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

dpkg -s相应rpm -q地设置退出状态,如果未安装软件包则报告失败。