Debian From Scratch怎么更新
导读:先确认你的系统类型 若你安装的是Debian 常规发行版(有 apt、/etc/apt/sources.list 等),按下方“Debian 常规系统的更新”操作即可。 若你做的是**Linux From Scratch(LFS)**这类...
先确认你的系统类型
- 若你安装的是Debian 常规发行版(有 apt、/etc/apt/sources.list 等),按下方“Debian 常规系统的更新”操作即可。
- 若你做的是**Linux From Scratch(LFS)**这类“从零构建”的系统,默认没有包管理器,需按“LFS 的更新思路”进行。
- 若你指的是Debootstrap/Chroot 环境(用 debootstrap 搭建的 Debian 根文件系统,常见于容器/嵌入式构建),请看“Debootstrap/Chroot 环境的更新”。
Debian 常规系统的更新
- 基本安全更新与软件升级
- 更新索引:
sudo apt update - 执行升级:
sudo apt upgrade(如需处理依赖变化更稳妥,可用sudo apt full-upgrade,旧版也常用sudo apt-get dist-upgrade) - 清理无用包:
sudo apt autoremove - 一条命令串联:
sudo apt update & & sudo apt full-upgrade & & sudo apt autoremove
- 更新索引:
- 跨版本升级(如从bookworm到trixie)
- 先确保当前系统完全更新:
sudo apt update & & sudo apt full-upgrade - 调整软件源(将 sources.list 中的代号改为目标版本,如 trixie),再执行:
sudo apt update & & sudo apt full-upgrade - 升级完成后重启:
sudo reboot
- 先确保当前系统完全更新:
- 可选:启用自动安全更新
- 安装组件:
sudo apt install unattended-upgrades - 启用:
sudo dpkg-reconfigure unattended-upgrades(选择 Yes) - 检查定时器:
systemctl status apt-daily.timer apt-daily-upgrade.timer - 模拟与日志:
sudo unattended-upgrade --dry-run;查看/var/log/unattended-upgrades/unattended-upgrades.log
以上命令适用于Debian 稳定版的日常更新与升级场景。
- 安装组件:
LFS 的更新思路
- LFS 是“从源码构建”的系统,默认没有 apt/dnf/yum,因此不存在“一键更新”。常见做法:
- 备份数据与配置(/etc、/home、/var 等)。
- 重新构建受影响组件:从官方或可信镜像下载新版本源码,按 LFS/BLFS 手册重新编译安装(先工具链,后核心库与应用)。
- 按顺序处理依赖:glibc、binutils、gcc、coreutils、perl、python3 等关键包优先;遵循“先工具链、后依赖、再应用”的原则。
- 替换二进制与库后执行
ldconfig,必要时重启相关服务或系统。 - 不建议跨大版本直接替换;更稳妥的是基于新版本 LFS/BLFS 手册重建或在独立分区/容器里测试后再切换。
- 若你之前用 LFS 的思路但已安装 apt(例如做了“临时 apt 环境”或“混合系统”),可按“Debian 常规系统”的方式用 apt 更新;但请先确认你的系统是否真的包含 apt 与完整的仓库配置,避免误用命令。
Debootstrap/Chroot 环境的更新
- 进入环境后直接使用 apt(与常规 Debian 相同):
sudo apt update & & sudo apt full-upgrade & & sudo apt autoremove- 退出并重启服务/容器:
exit;如为 systemd-nspawn:machinectl reboot < name>;如为 chroot:reboot(宿主机执行)
- 注意:在 chroot 内无法直接重启宿主机;如需升级宿主机内核或关键组件,请在宿主机上操作。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian From Scratch怎么更新
本文地址: https://pptw.com/jishu/776214.html
