
1. 项目概述为什么现在还需要关注CentOS 8如果你最近在规划服务器环境或者需要为某个老项目搭建一个稳定的测试平台可能已经发现了一个尴尬的局面官方渠道的CentOS 8镜像似乎“消失”了。没错CentOS 8的生命周期已经在2021年底正式结束Red Hat官方停止了对其的维护和更新。那么为什么我们今天还要讨论它的下载和安装呢原因其实很实际兼容性与惯性。很多企业内部的遗留应用、特定的商业软件或者一些科研、工业控制环境其软件栈、驱动乃至认证体系都是基于特定版本的CentOS尤其是CentOS 7/8构建的。贸然升级到CentOS Stream或Rocky Linux/AlmaLinux等替代品可能会带来不可预知的风险和漫长的适配周期。因此为了一些特定的测试、迁移验证或者仅仅是搭建一个与生产环境完全一致的沙盒获取一个“干净”的CentOS 8安装镜像依然是不少运维和开发者的刚需。这篇内容就是为你解决这个“历史遗留问题”的。我将带你找到可靠的CentOS 8安装源详细拆解从零开始的完整安装流程并分享在“过期”系统上安全使用的一些关键技巧和避坑指南。我们的目标不是鼓励使用过时的系统而是为有明确需求的场景提供一份可操作、可复现的“考古”手册。2. 镜像获取寻找可靠的“时间胶囊”既然官方停止了维护我们的首要任务就是找到一个内容完整、未被篡改的CentOS 8历史镜像。直接访问CentOS官网你会发现下载页面已经导向了CentOS Stream。我们需要转向一些知名的开源镜像站它们通常会长期存档历史版本。2.1 主流镜像站选择与验证国内访问速度和可靠性是首要考虑因素。以下几个镜像站是首选阿里云开源镜像站速度极快目录结构清晰。其CentOS历史版本存档在vault.aliyun.com/centos/路径下。这是国内环境下的最优选择。清华大学开源软件镜像站同样提供完整的CentOS历史存档路径为mirrors.tuna.tsinghua.edu.cn/centos-vault/。学术网络访问体验更佳。网易开源镜像站路径为mirrors.163.com/centos-vault/也是一个稳定的备选。注意务必从上述知名镜像站下载切勿从不明来源的小网站获取镜像以防镜像被植入恶意代码。以从阿里云镜像站获取CentOS 8.5.2111一个较新的最终版本的DVD镜像为例其完整路径如下https://vault.aliyun.com/centos/8.5.2111/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso这里解释一下路径结构8.5.2111是版本号isos目录下存放安装镜像x86_64指64位架构dvd1是完整的安装DVD通常一个DVD就够用。2.2 镜像完整性校验不可或缺的安全步骤下载完成后绝对不要跳过校验环节。这是确保你下载的镜像字节级完整、与官方原始发布版一致的关键。镜像站通常会提供校验文件如CHECKSUM或sha256sum.txt。操作步骤如下在镜像下载目录找到并下载同名的sha256sum.txt校验文件。在Linux或macOS终端使用sha256sum命令计算本地ISO文件的哈希值。sha256sum CentOS-8.5.2111-x86_64-dvd1.iso将计算出的哈希值与sha256sum.txt文件中对应ISO文件名的哈希值进行比对必须完全一致。在Windows系统可以使用certutil命令或第三方工具如7-Zip在文件右键菜单中来计算SHA256。如果校验失败说明下载过程中出现了错误或文件被破坏必须重新下载。2.3 制作启动盘推荐使用Ventoy传统使用Rufus、Etcher等工具将ISO“烧录”到U盘的方式一个U盘只能对应一个系统。这里我强烈推荐Ventoy。它是一个革命性的工具你只需将Ventoy安装到U盘之后就可以直接把各种ISO文件CentOS, Ubuntu, Windows等复制到U盘根目录启动时Ventoy会提供一个菜单让你选择要启动哪个镜像。安装Ventoy的实操要点从Ventoy官网下载安装包在Windows下运行Ventoy2Disk.exe。插入U盘在软件界面选中它。注意此操作会完全格式化U盘请提前备份数据。点击“安装”等待完成。安装完成后U盘会被分成两个分区一个大的exFAT/NTFS分区用于存放ISO文件一个小的不可见分区存放Ventoy引导程序。将下载并校验好的CentOS-8.5.2111-x86_64-dvd1.iso文件直接复制到大分区里即可。这样做的好处是你只需要制作一次启动U盘未来所有系统的安装镜像都可以靠“复制粘贴”来管理极大提升了效率。3. 安装流程详解从引导到首次登录假设你已经在物理机或虚拟机如VMware Workstation、VirtualBox上配置好从U盘启动我们将进入图形化安装界面。这里以最通用的“服务器最小化安装”场景为例讲解关键步骤。3.1 安装引导与语言选择启动后你会看到CentOS安装引导菜单。直接选择“Install CentOS Linux 8.0.0”具体版本号可能不同并回车。第一个重要选择是安装语言。这里的选择仅影响安装过程中的界面语言与系统安装完成后的默认语言无关。为了方便后续操作建议选择“English - United States”。点击“Continue”。3.2 核心配置安装目的地、网络与软件选择接下来是配置主界面有几个关键部分1. 安装目的地 (INSTALLATION DESTINATION)这是最关键的一步。点击进入后你会看到目标磁盘。在典型服务器或虚拟机安装中我们通常选择“自动配置分区(Automatic)”即可安装程序会创建一个合理的分区布局包括/boot,swap,/根分区。高级场景如果你需要自定义分区比如为/home或/var单独分配大容量空间可以选择“自定义(Custom)”。对于新手我建议先使用自动配置。要点确保下方“存储配置(Storage Configuration)”选择的是“自动(Automatic)”而不是“手动(Manual)”。配置完成后点击左上角“Done”。2. 网络和主机名 (NETWORK HOST NAME)安装过程中激活网络可以让系统在安装时就能获取更新虽然CentOS 8源已失效但此步骤仍有意义。点击进入在页面右上角将以太网连接通常叫eth0或ens192等的开关从“OFF”拨到“ON”。系统会通过DHCP自动获取IP地址。 同时在下方“主机名(Hostname)”字段为你的系统设置一个主机名例如centos8-server.localdomain。完成后点击“Done”。3. 软件选择 (SOFTWARE SELECTION)这是决定系统初始状态的一步。默认选择是“最小安装(Minimal Install)”它只提供最基本的命令行环境没有图形界面非常适合服务器。服务器带GUI如果你需要图形化桌面环境进行管理可以选择“Server with GUI”。但请注意这会显著增加系统资源消耗和潜在的攻击面。其他环境如“工作站(Workstation)”、“虚拟化主机(Virtualization Host)”等可根据实际需求选择。对于绝大多数服务器用途“最小安装”是最佳实践。选择后点击“Done”。3.3 用户配置与安装执行1. 根密码 (ROOT PASSWORD)点击“Root Password”设置root管理员密码。请设置一个强密码包含大小写字母、数字、符号。如果密码强度太低安装程序会提示你需要点击两次“Done”来确认。务必牢记此密码。2. 创建用户 (USER CREATION)虽然可以直接用root操作但基于安全最佳实践强烈建议创建一个普通用户。点击“User Creation”输入用户名如admin、全名并设置密码。务必勾选“将此用户设为管理员(Make this user administrator)”这会将用户加入wheel组使其可以通过sudo命令执行管理员权限。完成所有配置后右下角的“开始安装(Begin Installation)”按钮会亮起点击它系统就开始正式安装了。安装过程中你可以看到进度条。安装完成后点击“重启(Reboot)”。重启后拔出安装介质U盘系统将从硬盘启动。4. 安装后首要配置让“过期”系统安全可用系统安装完成首次登录后使用你创建的普通用户和密码我们面对的是一个没有官方更新源、网络可能未启用的“裸”系统。以下是必须进行的几项初始配置。4.1 启用网络如果安装时未启用如果安装时未开启网络或者你使用的是非DHCP环境需要手动配置。首先切换到root身份sudo -i查看网络接口名ip addr或nmcli device status。记下接口名如ens192。使用nmtui文本用户界面工具进行配置是最简单的nmtui在图形界面中选择“Edit a connection”找到你的接口编辑配置IPv4例如手动设置IP、网关、DNS最后“Activate”连接。4.2 替换失效的官方Yum源这是让CentOS 8还能安装软件的关键。默认的baseurl指向的官方地址已经失效返回404。我们需要将其指向我们之前提到的镜像站存档地址。操作步骤备份原有的源文件sudo cp /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup sudo cp /etc/yum.repos.d/CentOS-Linux-AppStream.repo /etc/yum.repos.d/CentOS-Linux-AppStream.repo.backup使用sed命令批量替换源地址。以替换为阿里云Vault源为例sudo sed -i s|mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-*.repo sudo sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttps://vault.aliyun.com/centos|g /etc/yum.repos.d/CentOS-*.repo这两条命令的作用是第一条注释掉所有使用mirrorlist镜像列表的配置第二条将基础URL替换为阿里云Vault地址。清理并重建Yum缓存sudo yum clean all sudo yum makecache测试一下是否成功sudo yum install -y wget。如果能正常安装说明源配置成功。实操心得不同镜像站的路径可能略有差异。如果上述阿里云源速度不理想可以将vault.aliyun.com替换为mirrors.tuna.tsinghua.edu.cn/centos-vault但要注意路径结构确保baseurl指向的目录下确实存在BaseOS和AppStream等子目录。4.3 基础安全与工具安装系统基础源配置好后立即安装一些必备工具并做安全加固。更新现有软件包虽然已无安全更新但可以更新到该版本最终状态。sudo yum update -y安装常用工具sudo yum install -y vim-enhanced bash-completion net-tools lsof telnet tree psmiscvim-enhanced: 功能更全的vim编辑器。bash-completion: 命令自动补全。net-tools: 包含ifconfig、netstat等传统网络工具ip命令已取代它们但很多脚本仍依赖。lsof,psmisc含pstree,killall: 进程和端口管理工具。配置防火墙CentOS 8默认使用firewalld。至少放行SSH端口22。sudo systemctl enable --now firewalld # 启用并启动防火墙 sudo firewall-cmd --permanent --add-servicessh # 永久放行SSH sudo firewall-cmd --reload # 重载配置5. 常见问题与深度排查实录在安装和使用这个“过期”系统时你肯定会遇到一些特有的问题。这里记录了几个最典型的案例和我的解决思路。5.1 安装过程中提示“无法找到有效的软件仓库”问题现象在“软件选择”步骤点击“完成”后或在安装执行阶段弹出错误提示大意是无法从仓库获取软件包组信息。根本原因安装程序在安装过程中尝试访问默认的在线仓库来获取软件包组如“最小安装”包含的具体包列表的元数据而这些仓库已失效。解决方案首选方案在“软件选择”界面直接选择“最小安装(Minimal Install)”并立刻点击“完成”不要点击其他任何需要额外下载的选项如“附加软件”。最小安装的包列表通常已内置在安装镜像中不依赖网络。备选方案如果必须安装带GUI或其他环境且方案1无效可以尝试在安装引导菜单最开始的黑白菜单处修改启动参数。选中“Install CentOS Linux 8”按Tab键编辑内核参数在行尾添加inst.nosaveall和inst.nodisablerepo参数有时可以跳过在线检查。但此法成功率不高最可靠的还是选择最小安装。5.2 Yum安装软件时出现“Error: Failed to download metadata for repo ‘AppStream’”问题现象配置好Vault源后执行yum install仍报错提示无法下载某个仓库通常是AppStream的元数据。排查与解决检查网络连通性ping vault.aliyun.com确保能解析域名并通。仔细检查repo文件使用cat /etc/yum.repos.d/CentOS-Linux-AppStream.repo查看[AppStream]段落下的baseurl是否正确。确保URL能直接在浏览器中访问到repodata目录。例如访问https://vault.aliyun.com/centos/8.5.2111/AppStream/x86_64/os/repodata/应该能看到一堆XML文件。常见错误URL中版本路径错误。例如配置成了.../centos/8/AppStream/...而镜像站实际路径是.../centos/8.5.2111/AppStream/...。必须使用完整的、具体的版本路径。清理缓存重试执行sudo yum clean all sudo rm -rf /var/cache/yum/*然后sudo yum makecache。5.3 系统时间同步失败NTP问题问题现象timedatectl status显示“System clock synchronized: no”或chronyd服务无法同步。原因分析CentOS 8默认使用chronyd进行时间同步其默认配置的NTP服务器池如pool.ntp.org可能在某些网络环境下访问不佳或解析有问题。解决方案更换为国内可靠的NTP服务器。编辑chrony配置文件sudo vim /etc/chrony.conf注释掉或删除原有的server开头的行添加以下国内服务器server ntp.aliyun.com iburst server ntp.tencent.com iburst server cn.pool.ntp.org iburst重启chronyd服务并设为开机自启sudo systemctl restart chronyd sudo systemctl enable chronyd检查同步状态chronyc sources -v和timedatectl status。5.4 后续软件依赖地狱与终极建议核心问题即使配置了Vault源你也只能安装CentOS 8生命周期结束前2021年底的软件版本。当你需要安装一些较新的软件如特定版本的Python 3.9、Node.js 16、新版Docker等时会陷入依赖地狱要么找不到包要么依赖冲突。我的实战经验与建议优先使用通用二进制包或源码编译对于编程语言环境如Python、Go、Node.js直接从其官方网站下载预编译的二进制包或使用版本管理工具如pyenv、nvm是更好的选择完全绕过系统包管理器。谨慎使用第三方仓库像EPELExtra Packages for Enterprise Linux为CentOS提供了大量额外软件包。你可以安装EPEL 8仓库sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm但要注意EPEL对CentOS 8的支持也已停止其中的软件包同样不再更新。容器化是终极出路对于任何较新的应用服务最干净、最推荐的方式是使用Docker或Podman。在CentOS 8上安装Docker CE可能比较麻烦因为官方仓库已移。但你可以安装PodmanCentOS 8默认包含sudo yum install -y podman。然后所有应用都通过容器镜像来运行镜像基于任何更新的系统如Ubuntu 22.04, CentOS Stream 9构建完美隔离了宿主机系统的陈旧性。明确系统定位将这个CentOS 8环境严格定义为兼容性测试环境、内部隔离网络中的老旧服务托管环境或学习传统Linux管理的实验环境。切勿将其直接暴露在公网或用于部署需要持续安全更新的关键业务。最后我想强调的是完成这些配置后你的CentOS 8系统已经处于一个“可工作”但“无保障”的状态。它能够运行可以安装一些旧版软件适合完成特定的历史任务。但对于任何面向未来的新项目请务必考虑迁移到CentOS Stream、Rocky Linux、AlmaLinux或其它活跃维护的发行版。这份指南的价值在于帮助你在不得不面对历史遗留问题时能够高效、安全地完成任务而不是鼓励停留在过去。