CentOS 7 快速检查软件包是否已安装的5种方法

在 CentOS 7 中,你可以使用以下命令来检查某个软件包(如 gcc 或 gcc-c++)是否已经安装:


1. 使用 rpm -q 查询是否安装

bash 复制代码
rpm -q gcc		# 检查 gcc 是否安装
rpm -q gcc-c++	# 检查 gcc-c++ 是否安装

输出结果:

  • 如果已安装,会显示包名及版本(如 gcc-4.8.5-44.el7.x86_64)。
  • 如果未安装,会显示 package gcc is not installed或者未安装软件包 XXX。

2. 使用 yum list installed 列出已安装的包

bash 复制代码
yum list installed | grep gcc		# 检查 gcc 是否安装
yum list installed | grep gcc-c++	# 检查 gcc-c++ 是否安装

输出结果:

  • 如果已安装,会显示包名和版本。
  • 如果未安装,则无输出。

3. 使用 which 检查命令是否存在

bash 复制代码
which gcc	# 检查 gcc 命令是否存在
which g++	# 检查 g++ 命令是否存在(gcc-c++ 提供)

输出结果:

  • 如果已安装,会显示二进制路径(如 /usr/bin/gcc)。
  • 如果未安装,则无输出。

4. 直接检查版本(如果已安装)

bash 复制代码
gcc --version	# 检查 gcc 版本
g++ --version	# 检查 g++ 版本

输出结果:

  • 如果已安装,会显示版本信息(如 gcc (GCC) 4.8.5 20150623...)。
  • 如果未安装,会提示 command not found。

5. 使用 repoquery(需先安装 yum-utils)

如果系统安装了 yum-utils,可以用 repoquery 检查:

bash 复制代码
sudo yum install -y yum-utils	# 如果未安装 yum-utils
repoquery --installed gcc		# 检查 gcc 是否安装
repoquery --installed gcc-c++	# 检查 gcc-c++ 是否安装

推荐方式

  • 快速检查 :用 rpm -q 或 which。
  • 详细检查 :用 yum list installed | grep。
  • 验证功能 :用 gcc --version。

完整示例

bash 复制代码
# 检查 gcc 是否安装
if rpm -q gcc &>/dev/null; then
echo "gcc 已安装,版本:$(gcc --version | head -n1)"
else
echo "gcc 未安装"
fi

# 检查 gcc-c++ 是否安装
if rpm -q gcc-c++ &>/dev/null; then
echo "gcc-c++ 已安装,版本:$(g++ --version | head -n1)"
else
echo "gcc-c++ 未安装"
fi

这样你就可以在运行 yum install 前确认是否需要安装这些包了!

相关推荐
vibecode5 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
工业一体机老司机6 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
迪康Defender7 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
lzx_0027 小时前
Linux 进程(二) 深入理解进程
linux
沫璃染墨7 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
温暖小土7 小时前
在 CentOS 上安装 Redis Stack
linux·redis·centos
GeW9 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
万联WANFLOW9 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
十碗饭吃不饱10 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
echoarts10 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他