我正在调整以前为Ubuntu编写的CentOS准备脚本.
在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是什么?
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
它不会打印太多信息,但如果您正在检查是否已安装软件包,则应该没问题.如果您需要更多信息或其他选项,请转动;其他查询可用.
如果没有安装rpm -q snmpd print package snmpd,那可能只是你需要的信息.
dpkg -s和rpm -q都相应地设置退出状态,如果未安装包,则报告失败.