Flexus L 实例把 Debian 11 原地升级到 Debian 13 的踩坑记录

举报
yd_220471044 发表于 2026/10/27 11:01:30 2026/10/27
【摘要】 一、背景手上一台华为云 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。

四、遇到的坑

  1. 镜像自带的 cloud-init 版本是 19.1,和 Debian 13 的 Python 3.13 不兼容,开机会报错。实例已经初始化完毕,我直接把它禁用:touch /etc/cloud/cloud-init.disabled。重置密码插件 cloudResetPwdAgent、主机安全 hostguard、云监控插件不受影响,升级后都正常运行。
  2. 服务器直连 GitHub 和 Docker Hub 超时。Docker 在 /etc/docker/daemon.json 里配置 registry-mirrors 镜像加速;克隆 GitHub 仓库用代理前缀。
  3. 升级过程中有配置文件冲突提示时,sshd_config 选保留本地版本,避免把自己关在门外。

五、升级后加固

  • SSH 只允许密钥登录,关闭密码登录。
  • 安装 fail2ban 防爆破。
  • 安装 Docker 29 和 Compose v5,跑容器化服务,空闲时负载接近 0,内存占用约 800MB。

六、总结

只要先做快照、加好 swap、逐级升级,Flexus L 小规格实例原地升级 Debian 13 完全可行,全程大约一小时。唯一需要手动处理的是老版本 cloud-init,希望官方镜像后续能更新。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。