根本原因是CentOS 8 Stream软件源已失效,mirrors.centos.org仓库全量下线,需切换至vault.centos.org归档源并使用宝塔官方Stream专用安装脚本。

宝塔面板在 CentOS 8 Stream 上无法安装,根本不是脚本问题,而是系统软件源已失效——mirrors.centos.org 的 appstream、baseos 等仓库早在 2022 年初就全量下线,yum 或 dnf 连元数据都拉不下来,后续所有依赖(包括 gcc-c++、python3、tar)都会断链。
为什么 yum install 直接报 No URLs in mirrorlist
CentOS 8 Stream 的 repo 配置仍指向已关停的 mirror.centos.org,DNS 解析失败或返回空镜像列表是必然结果。这不是网络或防火墙问题,是配置本身已过期。
-
/etc/yum.repos.d/CentOS-Stream-*.repo中所有baseurl或mirrorlist地址都不可达 -
dnf makecache会卡在appstream或codeready-builder仓库,报错如Failed to download metadata for repo 'appstream' - 即使手动
wget https://mirrors.centos.org/...也会返回 404 或 Connection refused
必须替换为可用归档源(Vault)
官方归档站 vault.centos.org 保留了 CentOS 8.5.2111 的完整包,是目前唯一稳定可用的替代源。别信“换阿里云/腾讯云普通镜像”,它们的 CentOS 8 镜像站也早在 2021 年底同步停更。
- 先备份原有 repo:
sudo mkdir -p /etc/yum.repos.d/backup && sudo mv /etc/yum.repos.d/CentOS-Stream-*.repo /etc/yum.repos.d/backup/ - 下载 Vault 源:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo - 补全 EPEL:
sudo curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-8.repo - 清缓存重建:
sudo dnf clean all && sudo dnf makecache
安装前必须验证基础命令是否就位
宝塔安装脚本依赖 tar、unzip、curl、python3 等,但 CentOS 8 Stream 最小化安装常缺这些。若跳过验证,你会遇到类似 tar: 未找到命令 或 chmod: cannot access '/www/server/panel/pyenv/bin' 的中断。
- 运行
which tar unzip curl python3,缺哪个就装哪个:sudo dnf install -y tar unzip curl python3 - 特别注意
python3:CentOS 8 Stream 默认不带python3-pip,而宝塔需要它装pyenv,补上:sudo dnf install -y python3-pip - 如果
dnf报command not found,说明系统实际是极简版,先装sudo yum install -y dnf(此时 yum 仍可临时用)
用宝塔官方 Stream 专用脚本启动安装
别再用通用 install_6.0.sh。宝塔已为 Stream 单独维护脚本,它绕过了部分硬编码的 CentOS 8 Linux 路径判断,适配了 Stream 的仓库结构和默认工具链。
- 执行:
wget -O install.sh http://download.bt.cn/install/install_stream.sh && bash install.sh - 该脚本会自动检测
/etc/os-release中的Stream标识,启用对应逻辑 - 若仍卡在
Installing dependent environment,立刻查/tmp/bt_install.log,重点看是否还有Failed to download metadata—— 说明源没切干净,回上一步重做
最易被忽略的是:Vault 源只到 8.5.2111,不支持 8.6+;一旦系统被误升级到更高 minor 版本,dnf update 会再次失败。建议安装完宝塔后,立即执行 sudo dnf versionlock kernel coreutils 锁定关键包,避免意外升级破坏环境。











