跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Ubuntu 系统更新完整指南

Ubuntu 系统更新的完整流程。内容包括更新前的数据备份、版本检查及网络测试;命令行操作如 apt update/upgrade、do-release-upgrade 升级 LTS 或开发版;依赖修复、离线更新及第三方源冲突处理;图形界面更新方法;以及更新后的版本与服务状态检查。旨在帮助用户安全高效地维护系统,解决常见更新问题。

孤勇者发布于 2026/3/28更新于 2026/6/229 浏览
Ubuntu 系统更新完整指南

一、引言

在使用 Ubuntu 系统时,及时更新系统是保障系统安全、稳定和获取新功能的重要操作。系统更新可以修复已知的安全漏洞、提升软件性能,还能让你使用到最新的软件功能。本文将详细介绍 Ubuntu 系统更新的相关知识,包括更新前的准备、更新方式、常见问题及解决方法等,适合新手一步步学习。

二、更新前的准备工作

2.1 备份重要数据

在进行系统更新之前,务必备份重要的数据。因为更新过程中可能会出现意外情况,导致数据丢失。你可以使用以下命令进行简单的数据备份:

sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /

解释:

  • sudo:以管理员权限执行命令。
  • tar:用于创建归档文件。
  • -cvpzf:参数组合,c 表示创建新的归档文件,v 表示显示详细的操作过程,p 表示保留文件的权限,z 表示使用 gzip 压缩,f 表示指定归档文件的名称。
  • backup.tar.gz:备份文件的名称。
  • --exclude=/backup.tar.gz:排除备份文件本身,避免将其重复备份。
  • --one-file-system:只备份当前文件系统中的文件,不跨文件系统备份。
  • /:表示备份整个根目录。

2.2 检查系统版本

在更新之前,需要了解当前系统的版本,以便确定是否有可用的更新以及更新的目标版本。可以使用以下命令检查系统版本:

lsb_release -a

解释:

  • lsb_release:用于显示 Linux 标准库发行版信息。
  • -a:显示所有信息,包括发行版名称、版本号、代号等。

2.3 确保网络连接稳定

系统更新需要从软件源服务器下载更新文件,因此稳定的网络连接是必不可少的。可以使用以下命令测试网络连接:

ping www.baidu.com

解释:

  • ping:用于测试网络连通性。
  • www.baidu.com:要测试的目标网站域名。

三、更新系统软件包

3.1 基础更新操作

3.1.1 更新软件包索引
sudo apt update

参数解析:

  • sudo:以管理员权限执行命令
  • apt:Ubuntu 包管理工具
  • update:从软件源服务器下载最新的包列表

执行效果:

  1. 检查 /etc/apt/sources.list 和 /etc/apt/sources.list.d/ 目录下的所有源
  2. 下载每个源的 Release 和 Packages.gz 文件
  3. 更新本地包索引数据库(存储在 /var/lib/apt/lists/ 目录)

典型输出:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB] ... Fetched 1,234 kB in 3s (411 kB/s) Reading package lists... Done
3.1.2 升级已安装的软件包
sudo apt upgrade -y

参数解析:

  • -y:自动确认所有操作(避免手动输入 y)

执行流程:

  1. 读取更新后的包索引
  2. 计算依赖关系树
  3. 下载并安装所有可升级的包
  4. 自动处理配置文件冲突(默认保留本地修改)

注意事项:

  • 建议每月执行一次常规升级
  • 升级过程中不要断电或重启
  • 升级完成后检查服务状态:systemctl --failed
3.1.3 清理旧包缓存
sudo apt autoclean

作用:

  • 删除 /var/cache/apt/archives/ 目录下已安装包的 .deb 文件
  • 节省磁盘空间(通常可清理几百 MB)

3.2 版本升级操作

3.2.1 标准 LTS 版本升级
sudo do-release-upgrade

执行逻辑:

  1. 检查当前系统版本
  2. 验证软件源配置
  3. 下载升级元数据
  4. 执行系统级升级(包括内核和核心组件)

交互提示处理:

  • 推荐操作:非关键配置选 Y,自定义配置选 N
  • 生产环境建议:选择 No,手动处理服务

服务重启提示:

Some services need to be restarted for the upgrade to complete. Do you want to restart them now?

配置文件冲突:

Configuration file '/etc/ssh/sshd_config' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** sshd_config (Y/I/N/O/D/Z) [default=N] ?
3.2.2 强制升级到开发版本
sudo do-release-upgrade -d

风险提示:

  • 可能存在未修复的 bug
  • 硬件兼容性问题
  • 不建议在生产环境使用

3.3 依赖问题处理

3.3.1 修复损坏的依赖关系
sudo apt-get -f install

执行逻辑:

  1. 分析依赖关系树
  2. 自动安装缺失的依赖包
  3. 修复部分安装的包

典型场景:

  • 因网络中断导致的部分包安装失败
  • 手动删除系统关键包后
3.3.2 手动解决依赖冲突
# 示例:修复 libstdc++6 依赖
apt-file search libstdc++.so.6.0.30 # 查找包名
sudo apt-get install libstdc++6:i386 # 安装 32 位兼容库

工具说明:

  • apt-file:需要提前安装:sudo apt install apt-file
  • 可通过 dpkg -S 替代:dpkg -S libstdc++.so.6.0.30

3.4 高级更新技巧

3.4.1 离线更新
# 1. 下载升级包
wget http://old-releases.ubuntu.com/ubuntu/pool/main/u/ubuntu-release-upgrader/ubuntu-release-upgrader-core_1:22.04.14_all.deb
# 2. 安装并启动升级
sudo dpkg -i ubuntu-release-upgrader-core_1:22.04.14_all.deb
sudo do-release-upgrade

适用场景:

  • 无网络环境
  • 带宽受限的服务器
3.4.2 第三方源冲突处理
# 1. 备份并清空第三方源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list # 注释所有非官方源
# 2. 执行升级
sudo do-release-upgrade
# 3. 恢复第三方源并更新
sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt update

典型问题:

  • PPA 源与新版本不兼容
  • 自定义源包含过时包

3.5 常见问题解决方案

3.5.1 网络中断处理
# 1. 检查网络连接
ping archive.ubuntu.com
# 2. 重新执行更新
sudo apt update && sudo apt upgrade -y
# 3. 清理残留文件
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
3.5.2 磁盘空间不足
# 1. 查看磁盘使用情况
df -h
# 2. 清理旧内核
sudo apt-get autoremove
# 3. 手动删除大文件
sudo du -sh /var/cache/apt/archives/*
sudo rm /var/cache/apt/archives/*.deb
3.5.3 配置文件冲突
# 1. 查看冲突文件
dpkg -l | grep ^rc
# 2. 重新配置包
sudo dpkg --configure -a
# 3. 强制覆盖配置
sudo dpkg --force-confnew -a

3.6 拓展知识

3.6.1 自动更新设置
# 1. 安装自动更新工具
sudo apt install unattended-upgrades
# 2. 配置安全更新
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
# 3. 启用每日更新
sudo nano /etc/apt/apt.conf.d/20auto-upgrades

配置示例:

# 50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
};
# 20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
3.6.2 软件源优化
# 1. 备份原始源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 2. 编辑源列表
sudo nano /etc/apt/sources.list

推荐国内源:

# 阿里云
deb http://mirrors.aliyun.com/ubuntu/ ${ubuntu_version} main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ ${ubuntu_version} main restricted universe multiverse
# 清华大学
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${ubuntu_version} main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${ubuntu_version} main restricted universe multiverse

3.7 版本生命周期管理

版本类型发布周期标准支持扩展支持(Ubuntu Pro)
LTS每 2 年5 年额外 5 年(共 10 年)
临时版本每 6 个月9 个月无

支持状态查询:

sudo ubuntu-advantage status

3.8 典型场景示例

3.8.1 服务器升级最佳实践
# 1. 禁用第三方源
sudo sed -i 's/^/#/' /etc/apt/sources.list.d/*.list
# 2. 执行升级
sudo do-release-upgrade --mode=server
# 3. 重新启用源并更新
sudo sed -i 's/^#//' /etc/apt/sources.list.d/*.list
sudo apt update
3.8.2 桌面环境深度优化
# 1. 安装图形化更新工具
sudo apt install update-manager
# 2. 启用开发版本提示
sudo gsettings set com.ubuntu.update-manager show-development-release true
# 3. 配置自动清理
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::AutocleanInterval "7";

通过以上步骤,您可以全面掌握 Ubuntu 系统软件包的更新操作,涵盖日常维护、版本升级、依赖处理、网络优化等多个维度。建议定期执行系统更新,保持系统安全稳定。若遇到复杂问题,可参考 Ubuntu 官方文档 或社区论坛。

四、使用图形界面更新系统

4.1 通过系统设置更新

对于使用桌面环境的 Ubuntu 用户,可以通过系统设置来更新系统。具体步骤如下:

  1. 点击系统菜单中的 '设置' 图标,打开系统设置窗口。
  2. 在系统设置窗口中,选择 '软件和更新' 选项。
  3. 在 '更新' 选项卡中,点击 '检查' 按钮,系统会自动检查是否有可用的更新。
  4. 如果有可用的更新,点击 '安装更新' 按钮,系统会自动下载并安装更新。

4.2 通过更新管理器更新

还可以使用更新管理器来更新系统。具体步骤如下:

  1. 打开终端,输入以下命令启动更新管理器:
sudo update-manager -d

解释:

  • update-manager:用于管理系统更新的图形界面工具。
  • -d:显示开发版本的更新信息,如果只需要显示稳定版本的更新信息,可以省略该参数。
  1. 在更新管理器窗口中,按照提示进行操作,即可完成系统更新。

五、高级更新技巧

5.1 手动指定软件源

Ubuntu 系统默认使用官方软件源,但有时官方软件源的下载速度可能较慢。可以手动指定其他软件源来提高下载速度。具体步骤如下:

  1. 备份原有的软件源列表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

解释:

  • cp:用于复制文件。
  • /etc/apt/sources.list:原有的软件源列表文件。
  • /etc/apt/sources.list.bak:备份文件的名称。
  1. 编辑软件源列表:
sudo nano /etc/apt/sources.list

解释:

  • nano:一个简单的文本编辑器。
  • /etc/apt/sources.list:软件源列表文件。
  1. 在编辑器中,将原有的软件源地址替换为其他软件源地址,例如阿里云软件源:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

解释:

  • deb:表示二进制软件包的软件源地址。
  • deb-src:表示源代码软件包的软件源地址。
  • http://mirrors.aliyun.com/ubuntu/:阿里云软件源的地址。
  • focal:Ubuntu 20.04 的代号,如果使用的是其他版本,需要将 focal 替换为相应的代号。
  1. 保存并退出编辑器,按下 Ctrl + X,然后输入 Y 确认保存,最后按下 Enter 键退出。
  2. 更新软件包索引:
sudo apt update

5.2 升级到开发版本

如果想体验最新的功能和特性,可以升级到 Ubuntu 的开发版本。但需要注意的是,开发版本可能存在稳定性问题,不建议在生产环境中使用。可以使用以下命令升级到开发版本:

sudo do-release-upgrade -d

解释:

  • -d:表示升级到开发版本。

六、更新后的检查工作

6.1 检查系统版本

更新完成后,可以再次使用 lsb_release -a 命令检查系统版本,确认是否升级成功。

6.2 检查软件包状态

可以使用以下命令检查软件包的状态,确保所有软件包都已成功升级:

sudo apt list --upgradable

解释:

  • list:列出软件包信息。
  • --upgradable:只列出可升级的软件包。

6.3 检查系统服务

更新完成后,需要检查系统服务是否正常运行。可以使用以下命令检查系统服务的状态:

systemctl --failed

解释:

  • systemctl:用于管理系统服务。
  • --failed:只显示失败的服务。

七、总结

通过本文的介绍,你已经了解了 Ubuntu 系统更新的详细步骤和相关知识。在进行系统更新时,一定要做好备份工作,确保网络连接稳定,遇到问题时可以参考本文提供的解决方法。及时更新系统可以让你的 Ubuntu 系统更加安全、稳定和高效。希望本文对你有所帮助!

目录

  1. 一、引言
  2. 二、更新前的准备工作
  3. 2.1 备份重要数据
  4. 2.2 检查系统版本
  5. 2.3 确保网络连接稳定
  6. 三、更新系统软件包
  7. 3.1 基础更新操作
  8. 3.1.1 更新软件包索引
  9. 3.1.2 升级已安装的软件包
  10. 3.1.3 清理旧包缓存
  11. 3.2 版本升级操作
  12. 3.2.1 标准 LTS 版本升级
  13. 3.2.2 强制升级到开发版本
  14. 3.3 依赖问题处理
  15. 3.3.1 修复损坏的依赖关系
  16. 3.3.2 手动解决依赖冲突
  17. 示例:修复 libstdc++6 依赖
  18. 3.4 高级更新技巧
  19. 3.4.1 离线更新
  20. 1. 下载升级包
  21. 2. 安装并启动升级
  22. 3.4.2 第三方源冲突处理
  23. 1. 备份并清空第三方源
  24. 2. 执行升级
  25. 3. 恢复第三方源并更新
  26. 3.5 常见问题解决方案
  27. 3.5.1 网络中断处理
  28. 1. 检查网络连接
  29. 2. 重新执行更新
  30. 3. 清理残留文件
  31. 3.5.2 磁盘空间不足
  32. 1. 查看磁盘使用情况
  33. 2. 清理旧内核
  34. 3. 手动删除大文件
  35. 3.5.3 配置文件冲突
  36. 1. 查看冲突文件
  37. 2. 重新配置包
  38. 3. 强制覆盖配置
  39. 3.6 拓展知识
  40. 3.6.1 自动更新设置
  41. 1. 安装自动更新工具
  42. 2. 配置安全更新
  43. 3. 启用每日更新
  44. 50unattended-upgrades
  45. 20auto-upgrades
  46. 3.6.2 软件源优化
  47. 1. 备份原始源
  48. 2. 编辑源列表
  49. 阿里云
  50. 清华大学
  51. 3.7 版本生命周期管理
  52. 3.8 典型场景示例
  53. 3.8.1 服务器升级最佳实践
  54. 1. 禁用第三方源
  55. 2. 执行升级
  56. 3. 重新启用源并更新
  57. 3.8.2 桌面环境深度优化
  58. 1. 安装图形化更新工具
  59. 2. 启用开发版本提示
  60. 3. 配置自动清理
  61. 四、使用图形界面更新系统
  62. 4.1 通过系统设置更新
  63. 4.2 通过更新管理器更新
  64. 五、高级更新技巧
  65. 5.1 手动指定软件源
  66. 5.2 升级到开发版本
  67. 六、更新后的检查工作
  68. 6.1 检查系统版本
  69. 6.2 检查软件包状态
  70. 6.3 检查系统服务
  71. 七、总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Web 安全学习框架搭建与常见漏洞解析
  • 企业级大模型接入全流程:从需求分析到持续优化的八步指南
  • Scala 数据类型、常量与变量基础
  • 大规模语言模型智能体终身学习:未来发展路线图
  • RoboMME:机器人通用策略的记忆基准测试与理解
  • 2024 年中国金融大模型产业发展洞察报告
  • 从计算角度解读 LLM 内部结构与推理过程
  • AI 驱动游戏:鸿蒙生态的机会在哪里?
  • 华为 ICT 大赛 2024-2025 网络赛道考试分析
  • SpringBoot 整合 LangChain4j AIService 深度使用详解
  • 快速排序非递归实现详解
  • Vue3 设置 style 属性提示 type check failed 类型检查失败问题及解决
  • 快递投放问题:多语言算法题解
  • 大模型提示工程(Prompt)原理与技巧指南
  • Python 数据分析全流程指南:从数据获取到可视化分析
  • Flask 实战:从环境搭建到鉴权中间件
  • 拆解 Linux 中的 IP 协议与数据链路层:地址、路由与分片的底层逻辑
  • AI 如何重塑产品经理的工作流与未来职业场景
  • 高效AIGC工具推荐:10个热门平台免费与付费功能全指南
  • Figma + Claude + Weavy AI:构建 AI 辅助设计工作流

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online