Rocky Linux 9安装宝塔失败主因非内核过高,而是仓库源失效(mirrors.centos.org已下线)、OpenSSL 3.x与旧版宝塔Python环境ABI不兼容、systemd v252+服务单元配置不匹配所致。

Rocky Linux 9 系统本身不会因“内核版本过高”导致宝塔面板报错——这是个常见误解。宝塔安装脚本只校验最低内核版本(2.6.32),而 Rocky Linux 9 默认内核是 5.14.0-284.el9 或更高,完全满足要求。所谓“内核过高报错”,实际是其他底层兼容性问题被误判为内核问题。
dnf install 报错 “No URL in mirrorlist” 或 “Could not resolve host: mirrors.centos.org”
这是 Rocky Linux 9 上安装宝塔最常卡住的第一步,根源不在内核,而在仓库配置失效。
- 宝塔安装脚本会调用
dnf安装依赖,但默认仍尝试访问已停用的 CentOS Stream 镜像源 -
mirrors.centos.org已于 2024 年底彻底下线,所有指向它的baseos/appstreamrepo 配置都会失败
你需要手动切换到 Rocky Linux 官方可用仓库:
- 运行
sudo dnf repolist --all,确认输出中没有baseos或appstream的 enabled 条目 - 执行修复命令:
sudo dnf install -y <a href="https://www.php.cn/link/d9a4bb5d97a18cbeafeb7fe0c3af165e">https://www.php.cn/link/d9a4bb5d97a18cbeafeb7fe0c3af165e</a> - 再运行
sudo dnf clean all && sudo dnf makecache,确保元数据可拉取 - 若仍提示 DNS 解析失败,临时加一行
nameserver 8.8.8.8到/etc/resolv.conf
update_panel.sh 执行后 bt status 显示 not running
即使安装成功,面板进程也可能启动失败,典型表现是日志里反复出现 ImportError: No module named 'gevent' 或 Failed to connect to database。
这不是内核不兼容,而是宝塔在 Rocky Linux 9 上默认使用的 Python 环境与系统级 OpenSSL / libcrypto ABI 不匹配:
- Rocky Linux 9 自带
OpenSSL 3.0.7+,而旧版宝塔 Python 嵌入的是libssl.so.1.1 -
/www/server/panel/pyenv启动时动态链接失败,进程静默退出
解决方法分两步:
- 先重置 Python 环境:
mv /www/server/panel/pyenv /www/server/panel/pyenv_bak && bt restart - 再强制更新至适配版:
curl <a href="https://www.php.cn/link/fe629597eb47defc9ff1e96bbd47277c">https://www.php.cn/link/fe629597eb47defc9ff1e96bbd47277c</a> | bash - 如果 update6.sh 卡在 “Downloading panel package…” 超过 90 秒,请先执行:
sudo update-ca-certificates --verbose --fresh,并确保/www分区有至少 2GB 空闲空间
systemctl status bt 提示 “Unit bt.service not found”
说明 systemd 服务单元文件缺失或路径错误——这在 Rocky Linux 9 + systemd v252+ 下很常见。
- 宝塔旧版 service 文件里用了已废弃的
Type=notify且未声明NotifyAccess=all,新 systemd 直接拒载 - 不要手动写 service 文件。正确做法是:
- 进入面板安装目录:
cd /www/server/panel - 执行官方服务注册脚本:
bash tools.py panel_service - 检查生成结果:
ls /usr/lib/systemd/system/bt.service应存在 - 启用并启动:
sudo systemctl enable --now bt
- 进入面板安装目录:
真正需要警惕的,是把现象当原因。比如看到 uname -r 输出 5.14.0-362.18.1.el9_3 就以为“太高了”,其实它比宝塔支持的所有 RHEL/CentOS 内核都更现代、更安全。问题几乎总是出在仓库、证书、Python 环境或 systemd 配置上——这些环节一环没对,就会层层传导,最终让面板起不来。


















