ubuntu 升级补丁,备份备份备份

一、常规软件包更新(安全补丁和软件升级)

更新软件包列表

从软件源服务器获取最新的软件包信息:

bash 复制代码
sudo apt update

升级已安装的软件包

安装所有可用的更新(安全补丁、功能更新):

bash 复制代码
sudo apt upgrade

处理依赖关系(可选)

如果需要处理依赖关系的重大变更(如内核升级):

bash 复制代码
sudo apt dist-upgrade

清理无用软件包

删除因升级而残留的无用依赖:

bash 复制代码
sudo apt autoremove

自动更新(推荐配置)

启用自动安全更新:

bash 复制代码
# 安装 unattended-upgrades(若未安装)
sudo apt install unattended-upgrades
# 启用自动更新
sudo dpkg-reconfigure unattended-upgrades
配置文件路径:/etc/apt/apt.conf.d/50unattended-upgrades,可自定义自动更新策略。

二、发行版升级(如从Ubuntu 20.04 LTS升级到22.04 LTS)

准备工作

备份重要数据(使用工具如rsync、Timeshift或云存储)。

关闭所有非必要应用程序。

确保网络连接稳定。

升级当前系统

确保所有软件包已更新到最新版本:

bash 复制代码
sudo apt update && sudo apt upgrade -y

执行发行版升级

LTS到LTS升级(默认仅提供下一个LTS版本):

bash 复制代码
sudo do-release-upgrade

跨版本升级(如从非LTS升级或强制升级到开发版):

bash 复制代码
sudo do-release-upgrade -d

按提示操作

升级过程中会提示确认配置文件的更改(通常选择保留本地版本或查看差异)。

完成后重启系统:

bash 复制代码
sudo reboot

三、常见问题解决

依赖冲突或错误

修复损坏的依赖:

bash 复制代码
sudo apt -f install

清理并重试:

bash 复制代码
sudo apt clean
sudo apt update

升级后内核问题

重启后选择GRUB菜单中的旧内核启动。

清理旧内核:

bash 复制代码
sudo apt purge $(dpkg -l | awk '/linux-image-.*[0-9]/{print $2}' | grep -v $(uname -r))

软件源错误

检查/etc/apt/sources.list和/etc/apt/sources.list.d/中的源是否与新版本兼容。

四、推荐工具

Timeshift:创建系统快照,升级前备份。

apt-listchanges:查看升级中的变更日志:

bash 复制代码
sudo apt install apt-listchanges

五、注意事项

生产环境谨慎操作:建议先在测试环境中验证升级。

关注官方公告:访问Ubuntu安全通知(USN)获取关键补丁信息。

长期支持版本(LTS):推荐使用LTS版本以获得5年支持周期。

相关推荐
invicinble2 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷2 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家2 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?2 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔3 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
engchina3 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo3 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7773 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C4 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~5 小时前
Linux程序接收到sigpipe信号崩溃处理
linux