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年支持周期。

相关推荐
镜子AI7 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
HideF7 小时前
Linux sudo
linux
FlightYe8 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎8 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
知已难寻9 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning10 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi10 小时前
【Linux】C语言文件操作
linux
say_fall10 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii11 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器