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

在 CentOS 7 中,你可以使用以下命令来检查某个软件包(如 gccgcc-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 -qwhich
  • 详细检查 :用 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 前确认是否需要安装这些包了!

相关推荐
Roc.Chang1 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂2 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅3 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华3 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
Yeats_Liao3 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒4 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森4 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
文艺理科生Owen4 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
运维·nginx