CentOS一个让人又爱又恨的名字。爱它的人恨不得在每一台服务器上装它恨它的人可能已经在CentOS Stream的坑里反复横跳了好几回。但不管你是哪一派第一步永远是绕不开的——下载镜像。我见过太多人卡在这关有人对着官网一堆链接不知道选哪个有人下载完才发现架构选错了还有人装到一半才发现镜像里缺包只能从头再来。今天这篇我就把CentOS下载这块儿从头到尾捋一遍按我实际踩过的坑、总结出的经验来写尽量让你一次搞定。先说个前提这篇指南不光是教你怎么把ISO文件下下来。我还会把版本怎么选、镜像站怎么挑、下载完怎么校验、装完之后怎么接上常用源配置等内容一起讲透。因为下载只是万里长征第一步后面连不上SSH、yum源失效、磁盘不够用这些事才是真正让人头疼的阶段。这篇文章适合刚接触CentOS的新手也适合那些换了机器、换了架构需要重新折腾镜像的老手希望能帮你少走几步弯路。1. 先把版本号搞明白CentOS下载前必须知道的事很多人第一反应是“下载CentOS还要选不是官网首页那个下载按钮点下去就行吗”真不是。CentOS的版本体系这几年的变化可以说是坑了一批又一批老用户。如果不先搞清楚版本号后面所有操作都有可能在某个莫名其妙的时刻翻车。1.1 CentOS Linux vs CentOS Stream到底选哪个这是目前最核心的一个版本选择题。CentOS官方从2021年底开始把重心从CentOS Linux转移到了CentOS Stream上CentOS Linux 8在2021年12月31日就停止维护了CentOS Linux 7也在2024年6月30日走到了尽头。现在你在官网能看到的主要下载入口基本上都指向了CentOS Stream。那CentOS Linux和Stream到底有什么区别我用一句话解释CentOS Linux偏保守等于RHEL的“克隆版”版本更新慢稳字当头CentOS Stream偏激进是RHEL的“上游预览版”会提前看到未来RHEL里会出现的新特性和新包滚动更新节奏快。套用生活里的类比CentOS Linux像“长期饭票”吃得踏实但菜色固定不换CentOS Stream像“新品试吃台”总能尝到新菜但可能踩雷。那到底选哪个我的建议是如果你是在生产环境跑业务、搭服务而且对稳定性要求很高那就别追新找个长期维护的CentOS Stream 8或9版本或者干脆考虑RHEL的免费开发者订阅如果你是在做开发、测试想提前适配新环境和软件包版本那Stream就非常合适毕竟所有新东西都会先在Stream里出现你提前用习惯了以后切到RHEL生态就不会发怵。1.2 x86_64、ARM架构和Minimal、DVD计不只是看起来不一样选完了大版本接下来就是架构和ISO类型。这一步要是选错要么虚拟机开机直接黑屏要么装完了才发现软件包缺一大截。先说架构。绝大多数人用的Intel或AMD台式机、服务器包括绝大多数云服务器里的“通用型”实例对应的是x86_64也就是64位架构。如果你用的是树莓派、飞腾、鲲鹏之类的ARM开发板或服务器那就得选aarch64。这里有个常见误区在云服务器上下载CentOS镜像时很多人习惯性选x86_64结果自己的服务器明明是基于ARM的装到一半直接报错。下载前先确认一下自己的机器架构这个习惯能帮你省掉一次从头再来。再说ISO类型。CentOS的ISO文件主要分三种Minimal、DVD和Everything部分版本还有NetInstall包。我做个表你们一眼就能看懂ISO类型大小参考适合场景备注Minimal1GB左右快速搭建最小系统无图形界面装完再手动装需要的组件DVD8~11GB完整安装离线环境自带全套常用软件包安装时可选组件多Everything大小夸张接近10GB以上离线定制化安装包含几乎全部软件包适合专业人士NetInstall几百MB网络安装、自动批量部署需要安装时能联网我的习惯是只要能联网就选Minimal如果是要在内网离线环境做一批服务器就下DVD版配好本地源一劳永逸。至于Everything说实话普通用户用到的概率不高除非你要做半离线的包管理器仓库镜像否则意义不大。2. 镜像站下载官方比你想的“远”国内源比你想象的“快”很多新手第一次下载CentOS习惯性去centos官网找下载页。结果页面一打开全是英文不说下载链接还动不动指向国外的CDN那个速度让人分分钟想砸电脑。所以我强烈建议在国内就直接用国内镜像站下载速度至少快几十倍。2.1 常用国内镜像源站对比与实际选择国内几大高校和云厂商都维护着CentOS镜像我常用的是清华TUNA源和中科大USTC源它们更新及时、速度稳定而且支持HTTP/HTTPS直链下载。下面是几个推荐站点清华镜像站https://mirrors.tuna.tsinghua.edu.cn/centos/中科大镜像站https://mirrors.ustc.edu.cn/centos/网易镜像站https://mirrors.163.com/centos/阿里云镜像站https://mirrors.aliyun.com/centos/腾讯云镜像站https://mirrors.cloud.tencent.com/centos/这些站点的目录结构基本一致一般路径是/centos/版本号/isos/架构/比如要下载CentOS 7.9 x86_64的Minimal版路径就是https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/。你进到目录里能看到一堆ISO文件命名规则大概是CentOS-7-x86_64-Minimal-2009.iso这种。我建议优先选带有Minimal、DVD标识的文件别下那些名字里带netinstall的除非你真的需要。选好文件后推荐用支持断点续传的工具来下载。浏览器直接下载容易断断了就得从头来。Linux服务器上可以用wgetWindows下可以用IDM或者迅雷离线下载都能稳定些。2.2 为什么说下载完成后校验哈希不能省镜像下完后我百分之百会做一步操作校验SHA256哈希值。这一步被很多人忽略但它非常重要。原因有两个一是镜像文件大传输过程中可能损坏二是防止拿到的镜像被人篡改过哪怕是在镜像站下载校验一下总没坏处。具体做法也很简单。在镜像目录旁边一般会有一个sha256sum.txt文件下载下来后用命令校验# Linux或macOS下 sha256sum CentOS-7-x86_64-Minimal-2009.iso # 然后把输出和sha256sum.txt里的值对比# Windows PowerShell下 Get-FileHash .\CentOS-7-x86_64-Minimal-2009.iso -Algorithm SHA256如果两个哈希值完全一致说明镜像完整可以拿去装系统了。如果不一致别犹豫删掉重新下载别拿不完整的镜像去折腾自己的时间。我见过好几个案例安装过程报诡异错误查到最后根源就是下载的ISO不完整。3. 从下载到装机制作启动盘和一台新CentOS的诞生镜像文件安全落地这只是热身。接下来要把它变成能启动的安装介质然后装出一台真正能用的CentOS机器。这一节我按完整流程讲从制作启动盘开始一直到装完系统进命令行。3.1 制作启动U盘的正确姿势与常见翻车点制作启动盘的最稳妥方式是用RufusWindows下或者balenaEtcherWindows/macOS/Linux通用。这俩工具都很直观选中ISO文件选中U盘点开始就行。不过有几个翻车点要提前提醒你第一Rufus建议选择DD镜像写入模式而不是ISO模式。有些U盘在ISO模式下启动后会出现奇怪的引导报错用DD模式写入能规避大部分兼容性问题。第二U盘容量至少4GB最好是8GB以上速度用USB 3.0不然写盘慢启动加载也慢。第三写入前确认U盘里没有重要数据因为制作启动盘会把U盘整个格式化和覆写这个操作不可逆。在Linux环境下也可以用命令直接制作启动盘# 确认U盘设备名比如 /dev/sdb lsblk # 写入ISO注意目标设备千万别写错 sudo dd ifCentOS-7-x86_64-Minimal-2009.iso of/dev/sdb bs4M statusprogress这里再强调一遍dd命令里的of设备名一旦写错可能把整块硬盘数据抹掉。真实工作场景里我建议你执行前用lsblk把设备名反复确认两遍再动手。3.2 安装引导与磁盘分区要点启动盘插入电脑开机进BIOS选择从U盘启动就能看到CentOS的安装引导界面。新手在安装界面里最常纠结的几个选项基本集中在软件源、软件选择、安装位置这几个环节。如果你的机子是普通PC或虚拟机网络默认DHCP就能通Installation Source不用动选默认的本地介质即可。Software Selection这一步如果你下载的是Minimal ISO选项就很少基本就是最小安装也不用纠结如果你是DVD版就可以选择带GNOME或KDE桌面的安装。生产服务器建议全都不装图形界面减少更新面和安全风险这是很多运维老手的共识。磁盘分区这块新手最容易困惑。如果你的机器就是拿来练手或跑应用直接让安装器帮你自动分区就行不用手动折腾。如果是生产环境我建议至少把/boot、/、swap三个分区搞清楚云服务器一般还要给数据盘单独挂载。我自己的习惯是系统盘留40GB给/swap看内存大小分配一般跟内存一样大再稍微富余点剩下空间全部做成独立分区挂载到数据目录这样将来扩容、备份都灵活。装完重启系统会提示你创建普通用户、设置root密码。这一步要注意CentOS默认不允许root远程SSH登录如果你后续需要直接用root账号远程维护装完系统后要改一下/etc/ssh/sshd_config里的配置。3.3 新系统装完先检查和配置网络Minimal版装完默认不带网络管理工具所以你第一次登录看到的可能是一个连IP都没获取到的现象。用ip addr查看网卡是否获得了IP如果没有先检查一下虚拟机或物理机的网络连接方式。CentOS 7里网络配置核心是NetworkManager你可以用以下命令快速启用一个网卡# 查看网卡名注意是ens开头的对象 nmcli dev status # 启用该网卡并自动获取地址 nmcli con up ens33CentOS 8及以后主要是NetworkManager也有一个nmcli命令操作类似不过连接名可能带“System ens33”之类的前缀需要你用nmcli con show先看一遍。配置好网络后再用ping baidu.com测通外网。如果通了就可以做下一步的远程连接与源配置了。4. 下载之后必做的事SSH、源的设置和常见“翻车”实录这一章是实战内容。很多从下载入门的人装好系统就以为大功告成然后开始各种折腾最后发现SSH连不上、yum装不了包。我把这些高频问题集中写出来并附上排查思路。4.1 SSH远程连接配置从安装到登录的一站式设置新装的CentOS默认开启了sshd服务但不允许root远程登录且如果你装的是Minimal版可能连openssh-server这个包都没装全。先检查一下systemctl status sshd如果没装就先yum install -y openssh-server systemctl enable sshd --now然后配置root登录按需选择vi /etc/ssh/sshd_config # 找到 PermitRootLogin默认可能是注释状态修改为 PermitRootLogin yes # 重启服务 systemctl restart sshd这里我再补个安全建议在实际生产环境中不建议把PermitRootLogin直接设为yes然后开着密码登录暴露到公网。正确做法是用普通用户登录再通过sudo切换或者配置密钥登录并关闭密码登录。如果你只是在家里的虚拟机里折腾那密码登录倒问题不大但还是建议设置一个强密码别搞成123456这种写进教学文档里的“反面教材”。另外还有一个经典问题虚拟机里装好CentOS后在宿主机上用ssh客户端连不上。这时候你要检查三类问题虚拟机的网络模式是不是NAT或桥接桥接模式下和宿主机同网段才能互通防火墙有没有放行22端口用systemctl status firewalld查看状态直接关掉验证连通性也行VMware里虚拟机的网络连通是否正常可以在虚拟机里先ping 宿主机IP宿主机再ping 虚拟机IP双向验证。4.2 Yum源更换从官方源到国内源的十分钟迁移CentOS安装完默认用的源尤其是CentOS 7和旧版CentOS 8很多已经因为官方停止维护而处于不可用状态。如果你装了旧版CentOS执行yum update时极有可能会遇到“Could not resolve host: mirrorlist.centos.org”之类的报错原因就是官方源挂了。解决办法就是换国内源。我这里写一下CentOS 7.9换清华源的操作# 备份原始源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 下载清华的源配置 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/help/centos/ # 清除缓存并生成新缓存 yum clean all yum makecacheCentOS 8.0或8.1的老版本因为版本目录结构有所不同清华源里对应路径也可能不存在建议直接升级到CentOS 8.5或Stream。至于CentOS Stream 9/10更换源方式类似对应文件是/etc/yum.repos.d/下的CentOS-Stream-Base.repo之类的文件替换其中的baseurl为国内镜像源URL即可。这几年实测下来阿里源对Stream 9、清华源对Stream 10的支持都很稳定。换完源之后再装软件速度差距是能直观感受到的。默认官方源下载速度可能只有几十KB换国内源后能跑到满带宽。4.3 经典故障实录从下载器到安装部署的坑接下来我列一些我在实际帮人处理CentOS问题时遇到的高频故障都是和下载、安装、部署紧密相关的如果你正好遇到了可以对号入座。故障一VirtualBox里创建CentOS 7虚拟机开机黑屏这问题多半是VirtualBox版本和CentOS 7兼容性导致的显卡驱动问题。解决思路有两种一是换用CentOS 7.9较新的ISO二是在虚拟机设置里把“显示”的显卡控制器换成VBoxVGA或VMSVGA关闭3D加速。CentOS 7黑屏在VirtualBox上特别常见换了显卡控制器基本能解决。故障二CentOS宿主机文件无法复制到虚拟机内这个问题常见于VMware Workstation里装了CentOS但没装VMware Tools导致拖拽和共享剪贴板不可用。CentOS 7安装VMware Tools需要使用dkms和kernel-devel可以直接yum install -y open-vm-tools systemctl enable --now vmtoolsd在用VMware“安装VMware Tools”按钮之前我建议直接用open-vm-tools包替代这个包是Linux内核自带支持的虚拟化工具集装完就能用复制粘贴和文件拖拽。如果确实要装原版VMware Tools需要先确保内核开发包已安装否则编译时会报“找不到内核头文件”的问题。故障三Clonezilla备份CentOS时提示分区无法读取Clonezilla备份是很多运维常用的裸机备份方案但在备份CentOS时如果文件系统是XFS要注意备份模式选择。Clonezilla默认的跳过损坏扇区模式在某些老版本里对XFS支持不佳建议用最新版Clonezilla备份时选择“初级模式”或“专家模式”并开启“跳过损坏扇区”选项。还有一个额外建议备份前先用xfs_repair -n检查一下文件系统完整性免得备份了一个本来就有问题的系统。故障四安装Oracle 21c、Innovus这类大型软件时报依赖缺失CentOS 7.9上装Oracle 21c或Cadence Innovus这类软件经常会在yum install阶段报缺少某个共享库或开发包。原因很简单CentOS 7的默认软件仓库版本偏旧很多新版依赖没有。遇到这类问题不要自己一个个去猜包名先看报错里缺失的.so文件或头文件然后用yum provides 文件名去查对应的包名把它装上。例如yum provides */libtinfo.so.5再补充一点Oracle 21c在CentOS 7上装最好单独建实例用户不能用root直接跑安装器。这个坑很多新手踩因为报错信息很隐晦只说“Oracle安装不能在root用户下运行”一些人以为是权限问题改了权限结果越改越乱。故障五CentOS查看CPU占用时发现CPU频率可视化工具找不到这个其实不算故障就是CentOS Minimal版没装sysstat、procps这些基础包。执行yum install -y sysstat htop用top或htop查看CPU占用就能看到各个核的实时状态了。故障六CentOS 7.9安装Node.js时yum源版本太旧这也是老生常谈的一个坑。CentOS 7自带的Node.js是6.x离现在的生态差距太大。想要新版本我推荐用NodeSource的官方yum源curl -fsSL https://rpm.nodesource.com/setup_18.x | bash - yum install -y nodejs装完验证node -v能正常输出版本号即可。这里要注意NodeSource的源依赖的是.rpm仓库和GPG密钥如果curl下载不到或证书过期那就手动去NodeSource官网找对应版本的仓库脚本。装最新Node.js时如果系统是CentOS 7建议不要直接装20以上的版本因为GCC版本老编译原生模块时容易失败。故障七想装一个旧版Chrome在CentOS 7上这个需求我以前也遇到过原因多半是某些网站或内网系统对浏览器版本有要求。去网上找一个120版本左右的Google Chrome旧版rpm包其实是可以的但我要提醒一句Chromium的依赖库版本要求比较高旧版CentOS 7的系统库偏老装好后很可能报缺库。临时的解决办法是用yum localinstall装包让yum自动解析依赖yum localinstall -y google-chrome-stable-*.rpm如果解析依赖失败就需要手动装libXss、libatk之类的开发库。说实话除非内部系统强制否则我更推荐直接用Firefox ESR版替代省心得多。5. 下载策略再升级镜像站之外的两种常见需求除了给普通机器和虚拟机下载ISO安装系统实际工作里还有两种需求我高频遇到一个是在ARM架构机器上使用CentOS一个是用镜像站数据做本地仓库。这两类需求都涉及“下载”的进阶玩法。5.1 ARM架构aarch64环境下的CentOS下载注意点ARM架构服务器的热度这些年一直在涨云服务器里ARM实例性价比又高很多开发者开始往aarch64上迁移。CentOS对aarch64的支持一直不错下载时选择isos/aarch64/目录就行。但有两个细节要特殊注意一是部分云平台的ARM实例并不直接给你提供ISO安装选项而是在后台用预置镜像引导。这时候再去网上下aarch64的ISO可能意义不大应该直接在云控制台选择CentOS镜像或者用dnf工具在系统内做重装配置。二是ARM版CentOS的软件包虽然大部分跟x86_64通用但少数依赖预编译二进制库的软件可能装不了比如某些闭源数据库驱动。下载镜像前先确认你的核心软件是否提供aarch64版本否则白折腾一场。5.2 制作本地Yum仓库离线环境下的下载备胎方案还有一个常见场景是内网服务器不能访问外网装软件比较痛苦。这时候可以在能联网的一台机器上把CentOS的DVD ISO或仓库数据整体“搬”到内网搭一个本地Yum源。做法很简单# 在有网机器上下载DVD镜像或同步仓库 mkdir -p /opt/repo # 把镜像挂载到 /mnt mount -o loop CentOS-7-x86_64-Minimal-2009.iso /mnt # 复制所有包到内网服务器或用NFS/HTTP共享 rsync -av /mnt/ /opt/repo/到内网服务器后把repo文件里的baseurl改成指向本地服务器[base] nameCentOS-$releasever - Base baseurlhttp://内网服务器IP/repo/ gpgcheck0 enabled1然后yum clean all yum makecache就能用了。这套方案我在离线机房场景用过好几次虽然第一次准备有点繁琐但胜在一劳永逸后续新机器直接指到同一个源装什么都快还不占公网带宽。6. 总结不出干货只做经验补充写到这里内容基本把CentOS从下载、校验、装系统到源配置和大坑排查都讲到了。回头再看看最想额外分享的一点经验是不要总想着“下一步再解决问题”下载前就把版本、源、架构、校验这几件事定好后面会舒服很多。我个人在实际操作中现在最常用的一套组合是生产服务器选CentOS Stream 8稳中带新维护期到2025年5月个人虚拟机直接上Stream 9或最新Stream 10下载统一走清华或阿里源镜像下载完第一件事永远是跑sha256sum装完系统第一件事换好国内yum源能装open-vm-tools就不折腾原版VMware Tools能搜到对应包名就用yum provides定位依赖不瞎装东西。最后再分享一个我从踩坑里练出来的习惯做完任何一步关键配置比如换源、改SSH、装驱动我都尽量顺手写一行备注记录到自己维护的部署笔记里同时把配置文件备份一份。这样下次不管是重装还是迁移环境只用翻自己的笔记几分钟就能复现一套环境不用再去搜索引擎里找各种半吊子教程。CentOS这个东西版本多、坑也不少但只要下载这道门进对了后面的事都能一步步解。