将Ubuntu16.04升级到20.04版本


背景

最近开发人员要求将之前的一台测试环境的服务器系统升级一下,因为原来的Ubuntu 16.04系统对一些新工具和框架的支撑受限,并且停更已久,漏洞和安全方面存在较多风险。所以计划升级到较新的Ubuntu 20.04版本。因为之前这台服务器上还部署着一些其他小应用,开发人员希望升级时保留应用数据,避免因重做系统导致数据丢失影响工作。

操作步骤

  • 做好备份

在升级系统之前,一定要备份服务器上的所有重要数据。可以使用外部存储设备,如移动硬盘,或者通过网络备份到其他存储介质。防止在升级过程中出现错误无法回滚到原先的状态。
因为这里的测试服务器是搭建在虚拟化环境中,所以我直接做了一个快照。

  • 更新系统状态

在升级至 Ubuntu 20.04 前,把 Ubuntu 16.04 更新到最新状态至关重要。这能修复已知漏洞,提升系统稳定性,减少升级冲突。

# 从软件源列表里获取最新的软件包信息。
# 不会真正地安装或更新软件包,只是更新本地的软件包索引。
sudo apt-get update

# 依据之前更新的软件包索引,把已安装的软件包升级到最新版本。
# 有可用的软件包更新时,会尝试更新这些软件包,但不会移除现有的软件包,也不会安装新的依赖包。
sudo apt-get upgrade -y

# 将已安装的软件包升级到最新版本。
# 可以处理因软件包升级而产生的依赖关系变化,必要时会移除旧的软件包并安装新的依赖包。
# 在进行重大的系统升级或者软件包依赖关系有较大变化时,通常会使用它。
sudo apt-get dist-upgrade
  • 先执行apt-get update来更新软件包索引,
  • 接着使用apt-get upgrade来更新已安装的软件包,
  • 进行更全面的系统升级,可以再执行apt-get dist-upgrade
  • 安装 update-manager-core

update-manager-core 是基于 Debian 及其衍生发行版(如 Ubuntu)系统中负责管理系统更新的核心软件包。

用户可以定期使用 update-manager-core 来检查并安装系统和软件的更新,以保证系统性能和安全性。当有新的系统版本发布时,借助 update-manager-core 可以安全地将系统升级到新版本。

sudo apt-get install update-manager-core

在执行该命令前,建议先运行 sudo apt-get update 来更新软件包索引,以保证安装的是最新版本的 update-manager-core


如果系统中已经安装了 update-manager-core,再次执行该命令会将其更新到最新版本。

  • 执行系统升级命令
sudo do-release-upgrade

do-release-upgrade 是一个专门用于系统版本升级的脚本,它依赖于 update-manager-core 软件包,能自动处理系统升级过程中的各种操作,像检查新版本可用性、下载并安装更新、处理依赖关系、更新系统配置等。

执行过程中,会出现一些需要交互的操作,比如:

  • 升级操作有一些风险的,让你确认是否继续升级;
  • 在升级过程中,系统检测到现有的配置文件与新版本的默认配置文件存在冲突,让你选择保留当前的、使用新版本的、或者手动操作;

我在执行的时候,都是直接yEnter下来的,没什么问题。交互界面有些是直接在命令行提示,一些是有简单的图形化界面的,大同小异。

  • 重启服务器,检查系统版本

升级命令执行结束,会要求进行重启。其实这个时候执行版本查看命令lsb_release -a查看,会发现此时就已经是新版本(18.04)了。想要继续升级到20.04版本,则必须重启一下,重复执行之前的步骤进行升级。

版本查看命令输出内容如下。

kf01@webcs:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

出现的问题及处理方法

执行过程中没出现什么大问题。

  • 就是在升级过程中出现了“Checking for a new Ubuntu release Please install all available updates for your release before upgrading.”的问题。是因为有未升级的更新,要求在进行版本升级前,先安装当前版本的所有可用更新,就是前面的更新系统状态那一步。刚开始图省事没有操作这里,就报错了。

总结

此次Ubuntu系统从16.04版本升级到20.04版本,全程十分顺利,未碰到任何重大问题。升级完成后,经仔细检查,系统版本准确无误,网络连接也一切正常。至于那些开发的小应用,就让他们自己查去吧,本次升级工作圆满结束,打完收工。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值