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

相关推荐
java叶新东老师3 小时前
git stash 命令详解
linux·运维·flink
写bug的羊羊4 小时前
CentOS 9 配置国内 YUM 源
linux·运维·centos
国科安芯5 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
gx23486 小时前
HCLP--MGER综合实验
运维·服务器·网络
angushine6 小时前
鲲鹏服务器部署Kafka2.8.1
运维·服务器
Johny_Zhao6 小时前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
一个网络学徒7 小时前
MGRE综合实验
运维·服务器·网络
守望时空337 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈7 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭8 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache