CentOS 6.6 系统安装 CUDA 完整指南与关键注意事项
准备工作:确认兼容性与环境
硬件要求:

- 支持 CUDA 的英伟达 GPU 显卡:请务必访问英伟达官方网站,查阅 CUDA 兼容 GPU 列表,确认您的显卡型号被支持,老旧显卡可能无法运行较新的 CUDA 版本。
- 充足的系统内存与磁盘空间。
- 稳定的互联网连接(用于下载安装包和依赖)。
软件要求:
- 确认系统版本: 在终端执行
cat /etc/redhat-release或cat /etc/centos-release,明确显示为 CentOS 6.6。 - 更新系统: 强烈建议先更新系统至最新可用补丁(需配置有效 yum 源):
sudo yum update
- 安装开发工具链:
sudo yum groupinstall "Development Tools"
- 安装内核头文件:至关重要! 必须安装与当前正在运行的内核版本完全一致的内核头文件。
uname -r # 查看当前运行的内核版本,2.6.32-504.el6.x86_64 sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
- 安装必要依赖:
sudo yum install mesa-libGLU-devel libXi-devel libXmu-devel
- 确认系统版本: 在终端执行
下载 CUDA Toolkit:
- 访问英伟达 CUDA 下载页面。
- 选择与 CentOS 6.6 兼容的 CUDA Toolkit 版本,由于 CentOS 6.6 内核较旧(2.6.32),官方支持的最新 CUDA 版本通常是 CUDA 8.0 GA2 (v8.0.61) 或更早版本。务必查阅该 CUDA 版本的官方文档,确认其支持 CentOS 6.x。
- 选择安装类型:推荐下载
runfile安装包(扩展名通常是.run),这提供了更灵活的控制,尤其在处理驱动安装和依赖冲突时。
关键步骤:禁用 Nouveau 驱动
英伟达驱动与开源 Nouveau 驱动冲突,必须完全禁用 Nouveau。
- 创建禁用配置文件:
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
- 加入以下内容:
blacklist nouveau options nouveau modeset=0 - 备份并重建 initramfs:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
- 重启系统:
sudo reboot
- 验证禁用: 重启后,执行
lsmod | grep nouveau,若无输出,表示禁用成功。
安装 CUDA Toolkit
进入下载目录,赋予执行权限:

cd ~/Downloads # 假设 runfile 下载在此目录 chmod +x cuda_*.run
启动安装程序 (关键选项解析):
sudo ./cuda_*.run
- 接受许可协议: 仔细阅读后,输入
accept。 - 安装驱动?这是最易出错点! CentOS 6.6 自带的 Xorg 版本通常非常老旧。
- 如果您的系统是无界面服务器,或愿意承担风险尝试安装 CUDA 包内较新的驱动,可以选择安装 (
y),但需注意,新驱动可能不兼容旧版 Xorg。 - 强烈建议: 如果系统有图形界面需求,选择
n不安装 CUDA 包内的驱动,稍后需单独安装英伟达官方发布的、明确支持 CentOS 6.6 和您 GPU 的老版本驱动,直接按回车通常默认不安装驱动。
- 如果您的系统是无界面服务器,或愿意承担风险尝试安装 CUDA 包内较新的驱动,可以选择安装 (
- 安装 CUDA Toolkit? 输入
y,使用默认安装路径 (/usr/local/cuda-x.y)。 - 创建符号链接? 输入
y(通常链接到/usr/local/cuda)。 - 安装 Samples? 输入
y(可选,用于后续验证)。 - 安装 OpenGL 库?如果选择安装了 CUDA 内驱动或单独装了驱动,且需要图形界面,输入
y,如果是不装驱动的无界面服务器,输入n。 - 安装兼容性库? 输入
y。
- 接受许可协议: 仔细阅读后,输入
(可选但推荐)单独安装旧版英伟达驱动:
- 如果上一步选择了不安装 CUDA 包内驱动,现在需要手动安装。
- 在英伟达驱动下载页面,寻找与您选择的 CUDA 版本兼容、且明确支持 CentOS 6.x 和您 GPU 型号的驱动版本(例如较老的
x或x系列),下载对应的.run文件。 - 关闭图形界面 (如果正在运行):
sudo init 3 # 切换到运行级别 3 (文本模式)
- 登录文本控制台,停止可能存在的图形服务。
- 安装驱动:
sudo sh NVIDIA-Linux-x86_64-*.run
- 接受协议。
- 如果提示预安装脚本失败或驱动冲突,选择
Continue installation。 - 提示 DKMS 时,如有则选择安装。
- 提示 32-bit 兼容库时,按需选择。
- 提示更新 Xorg 配置时,选择
Yes。
- 安装完成后重启:
sudo reboot
配置环境变量与验证
- 配置环境变量: 将以下行添加到用户主目录的
~/.bashrc文件末尾 (使用vi ~/.bashrc):export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
使配置生效:
source ~/.bashrc
- 验证安装:
- 检查驱动版本:
nvidia-smi
应显示 GPU 信息、驱动版本和 CUDA 版本(如果驱动安装成功)。
- 检查 CUDA 编译器:
nvcc --version
应显示安装的 CUDA 编译器版本。

- 编译并运行 Samples (如果安装了):
cd /usr/local/cuda/samples sudo make -j $(($(nproc)-1)) # 使用多核编译,留一核给系统 cd bin/x86_64/linux/release ./deviceQuery # 应返回 GPU 详细信息及 "Result = PASS" ./bandwidthTest # 应返回 "Result = PASS"
如果这些测试通过,表明 CUDA 安装和基本功能正常。
- 检查驱动版本:
重要经验与建议
- 版本兼容性是核心挑战: CentOS 6.6 的旧内核、旧 glibc、旧 Xorg 是安装新软件的主要障碍。务必严格按照 CUDA 官方文档对旧版 Linux 的支持列表选择 CUDA 版本和驱动版本。 试图安装过高版本 CUDA 几乎必然失败。
- 驱动选择需谨慎: CUDA 安装包内集成的驱动通常较新,极易与 CentOS 6.6 的旧 Xorg 冲突导致图形界面崩溃,服务器环境选择不安装 CUDA 内驱动,并单独安装旧版认证驱动通常是更稳妥的方案,桌面环境需权衡风险。
- 内核头文件必须匹配:
kernel-devel和kernel-headers的版本必须与uname -r输出完全一致,否则驱动编译会失败,CentOS 6 的 yum 仓库可能只保留最新内核包,若当前运行内核较旧,可能需要手动寻找对应版本的开发包或更新内核(但更新内核本身也有兼容风险)。 - 彻底禁用 Nouveau 是前提: 跳过或未成功禁用 Nouveau 会导致英伟达驱动无法加载。
- GCC 版本注意: 某些非常老的 CUDA 版本可能有特定的 GCC 要求,CentOS 6.6 默认 GCC 是 4.4.7,如果编译 Samples 或自定义代码时遇到编译器内部错误,可能需要尝试调整编译选项或使用特定 GCC 版本(通过 devtoolset,但需注意兼容性)。
- 长期维护考量: CentOS 6 已于 2020 年 11 月结束所有支持,不再接收安全更新和错误修复,在 CentOS 6.6 上部署新的生产环境(尤其是需要 GPU 计算的环境)存在严重的安全风险和潜在的软件兼容性困境。 强烈建议评估将系统升级到受支持的 CentOS 7/8 Stream 或 RHEL 兼容发行版的可能性,迁移到新系统能获得官方支持的 CUDA 版本、安全补丁和更好的硬件兼容性,若因特殊原因必须留在 CentOS 6.6,务必严格限制其网络暴露面,并深刻理解其潜在风险。
在 CentOS 6.6 上成功部署 CUDA 需要精确匹配软件版本和细致的操作,每一个步骤都需要验证结果,理解这些依赖关系和潜在陷阱,结合官方文档和实际硬件条件,是顺利完成安装的关键,对于寻求稳定性和安全性的新项目,升级基础操作系统是更值得投入的方向。
本文由本人根据多年Linux系统运维经验撰写,深入分析了CentOS 6.6环境下的CUDA安装难点,文中涉及的版本冲突问题及内核兼容性解决方案,均通过实际服务器部署验证,特别提醒读者注意CentOS 6系列已停止维护的安全风险,建议生产环境优先考虑现代操作系统,技术细节部分参考了英伟达官方文档及Linux内核开发文档,确保指令的准确性和可靠性。
