我正在调整之前为Ubuntu编写的CentOS准备脚本。
在Ubuntu脚本中,经常调用命令dpkg -s {some program}
。例如,一个这样的命令是dpkg -s snmpd
来检查是否安装了SNMP守护程序。
CentOS的等价物是什么?我知道RPM是包管理器。命令rpm -q
类似,但它查找包而不是程序。
例如,运行rpm -q snmpd
会返回:
package snmpd is not installed
我的问题是,相当于Ubuntu命令dpkg -s
的CentOS是什么?
答案 0 :(得分:0)
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 -s
和rpm -q
都相应地设置退出状态,如果未安装包,则报告失败。