Flexus L 实例把 Debian 11 原地升级到 Debian 13 的踩坑记录
【摘要】 一、背景手上一台华为云 Flexus L(2核2G,华东-上海一),系统镜像是 Debian 11。想用较新的 Docker 和内核,于是决定原地升级到 Debian 13(trixie),不重装系统、不丢数据。 二、升级前准备在控制台给云盘做一次快照,出问题可以一键回滚。内存只有 2G,先加 2G swap,避免 apt 升级时被 OOM:fallocate -l 2G /swapfil...
一、背景
手上一台华为云 Flexus L(2核2G,华东-上海一),系统镜像是 Debian 11。想用较新的 Docker 和内核,于是决定原地升级到 Debian 13(trixie),不重装系统、不丢数据。
二、升级前准备
- 在控制台给云盘做一次快照,出问题可以一键回滚。
- 内存只有 2G,先加 2G swap,避免 apt 升级时被 OOM:
fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile - 备份原 apt 源:
cp /etc/apt/sources.list /etc/apt/sources.list.bak-bullseye
三、换源并分步升级
建议 11 → 12 → 13 逐级走,每一步都先 apt update && apt full-upgrade,再重启确认能正常 SSH 登录。源使用华为云镜像站,速度很快:
deb https://repo.huaweicloud.com/debian trixie main contrib non-free non-free-firmware
deb https://repo.huaweicloud.com/debian trixie-updates main contrib non-free non-free-firmware
deb https://repo.huaweicloud.com/debian-security trixie-security main contrib non-free non-free-firmware
升级完成后内核为 6.12。
四、遇到的坑
- 镜像自带的 cloud-init 版本是 19.1,和 Debian 13 的 Python 3.13 不兼容,开机会报错。实例已经初始化完毕,我直接把它禁用:
touch /etc/cloud/cloud-init.disabled。重置密码插件 cloudResetPwdAgent、主机安全 hostguard、云监控插件不受影响,升级后都正常运行。 - 服务器直连 GitHub 和 Docker Hub 超时。Docker 在
/etc/docker/daemon.json里配置 registry-mirrors 镜像加速;克隆 GitHub 仓库用代理前缀。 - 升级过程中有配置文件冲突提示时,sshd_config 选保留本地版本,避免把自己关在门外。
五、升级后加固
- SSH 只允许密钥登录,关闭密码登录。
- 安装 fail2ban 防爆破。
- 安装 Docker 29 和 Compose v5,跑容器化服务,空闲时负载接近 0,内存占用约 800MB。
六、总结
只要先做快照、加好 swap、逐级升级,Flexus L 小规格实例原地升级 Debian 13 完全可行,全程大约一小时。唯一需要手动处理的是老版本 cloud-init,希望官方镜像后续能更新。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)