专栏首页云计算教程系列如何将Ubuntu升级到18.04最新版
原创

如何将Ubuntu升级到18.04最新版

介绍

Ubuntu操作系统的最新长期支持(LTS)版本Ubuntu 18.04(Bionic Beaver)于2018年4月26日发布。本教程将讲解如何将16.04或更高版本的Ubuntu系统升级到Ubuntu 18.04。

警告:与操作系统主要版本之间的几乎任何升级一样,此过程存在系统故障,数据丢失或软件配置损坏的风险。强烈建议进行全面备份和测试后升级。为避免这些问题,我们建议直接将项目迁移到新的Ubuntu 18.04服务器,而不是升级。

准备

本教程假定您使用配置了sudo的非root用户的Ubuntu 16.04或更高版本系统。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

第一步、备份系统

在尝试对任何系统进行重大升级之前,应确保在升级失败时不会丢失数据。实现此目的的最佳方法是备份整个文件系统。如果做不到这一点,请确保您拥有用户主目录,自定义配置文件以及关系数据库等服务存储的数据的备份。在腾讯云CVM上,一种方法是关闭系统并创建快照(关闭电源可确保文件系统一致)。在确认Ubuntu更新成功后,您可以删除快照,以便不再向其收取存储费用。

第二步、更新当前安装的软件包

在开始版本升级之前,最安全的是更新到当前版本的所有软件包的最新版本。首先更新包列表:

sudo apt-get update

接下来,将已安装的软件包升级到其最新版本:

sudo apt-get upgrade

您将看到升级列表,并提示继续。回答y表示是,然后按Enter键

此过程可能需要一些时间。一旦完成后,使用apt-getdist-upgrade命令,它将执行涉及更改依赖关系,根据需要添加或删除新包的任何其他升级。

sudo apt-get dist-upgrade

再次,在提示继续时回答y,并等待升级完成。现在您已经安装了最新的软件包,您可以使用do-release-upgrade升级到18.04版本。

第三步、使用Ubuntu的do-release-upgrade工具进行升级

Ubuntu版本可以通过更改Apt /etc/apt/sources.list(可指定软件包存储库)以及apt-get dist-upgrade用于执行升级本身来升级。但Ubuntu提供了一个工具do-release-upgrade,可以更安全,更轻松升级。

do-release-upgrade处理检查新版本,更新sources.list和一系列其他任务。

首先运行do-release-upgrade

sudo do-release-upgrade

如果新的Ubuntu版本尚未正式发布,您可能会得到以下输出:

Checking for a new Ubuntu release
No new release found

如果是这种情况,请添加-d选项以升级到开发版本:

sudo do-release-upgrade -d

如果您通过SSH连接到系统,系统会询问您是否要继续。对于虚拟机或托管服务器,您应该记住,丢失SSH连接是一种风险,特别是如果您没有其他方法可以远程连接到系统的控制台。请记住,只有在您可以直接物理访问机器时才能最安全地执行主要操作系统升级。

在提示符下,键入y并按Enter继续:

Reading cache
​
Checking package manager
​
Continue running under SSH?
​
This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.
​
If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?
​
Continue [yN] y

接下来,您将被告知do-release-upgrade正在1022端口上启动sshd的新实例:

Starting additional sshd
​
To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'
​
To continue please press [ENTER]

按Enter。接下来,可能会警告您找不到镜像条目。在腾讯云系统上,可以安全地忽略此警告并继续升级,因为18.04的本地镜像实际上是可用的。输入y

Updating repository information
​
No valid mirror found
​
While scanning your repository information no mirror entry for the
upgrade was found. This can happen if you run an internal mirror or
if the mirror information is out of date.
​
Do you want to rewrite your 'sources.list' file anyway? If you choose
'Yes' here it will update all 'xenial' to 'bionic' entries.
If you select 'No' the upgrade will cancel.
​
Continue [yN] y

下载新的软件包列表并计算更改,系统会询问您是否要开始升级。再次,输入y继续:

Do you want to start the upgrade?
​
​
6 installed packages are no longer supported by Canonical. You can
still get support from the community.
​
9 packages are going to be removed. 104 new packages are going to be
installed. 399 packages are going to be upgraded.
​
You have to download a total of 232 M. This download will take about
46 seconds with your connection.
​
Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.
​
 Continue [yN]  Details [d]y

现在系统将检索,解压缩和安装新包。即使您的系统处于快速连接状态,也需要一段时间。

在安装过程中,您可能会收到各种问题的交互式对话框。例如,系统可能会询问您是否要在需要时自动重新启动服务:

在这种情况下,回答“是”。在其他情况下,系统可能会询问您是否要替换已修改的配置文件。这通常是一个判断调用,可能需要有关本教程范围之外的特定软件的知识。

新软件包安装完成后,系统会询问您是否准备好删除过时的软件包。在没有自定义配置的库存系统上,在此处输入y。在您进行了大量修改的系统上,您可能希望输入d并检查要删除的软件包列表,以防它包含您稍后需要重新安装的任何内容。

Remove obsolete packages?
​
​
53 packages are going to be removed.
​
 Continue [yN]  Details [d]y

最后,一切顺利,您将被告知升级已完成并需要重新启动。输入y继续:

System upgrade is complete.
​
Restart required
​
To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.
​
Continue [yN] y

在SSH会话中,您可能会看到如下内容,您的SSH会话将在服务器端终止。:

Connection to 203.0.113.241 closed by remote host.
Connection to 203.0.113.241 closed.

等待服务器重启,然后重新连接。在登录时,您应该收到一条消息,

Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-19-generic x86_64)

结论

你现在已经学会了的Ubuntu的升级。您可能需要查看新系统对服务和已部署应用程序的必要配置更改。更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Upgrade to Ubuntu 18.04 Bionic Beaver 》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu上安装SELinux

    Ubuntu有一个类似于SELinux的强制访问控制系统,名为AppArmor。SELinux(Security-Enhanced Linux) 是美国国家安全...

    挺问中原
  • 什么是高可用性?

    随着对旨在为关键系统提供服务的可靠和高性能基础架构的需求不断增加,术语可扩展性和高可用性不再受欢迎。虽然处理增加的系统负载是一个常见问题,但减少停机时间和消除单...

    挺问中原
  • 如何在Ubuntu 14.04上将ngx_pagespeed添加到Nginx

    ngx_pagespeed,或者只是pagespeed,是一个Nginx模块,旨在通过减少资源的大小以及客户端浏览器加载它所需的时间来自动优化您的网站。如果您还...

    挺问中原
  • How to create extension project from standard CRM Fiori application

    Pre-Steps: You should know how to run CRM Fiori 1.0 applications in WebIDE first...

    Jerry Wang
  • MySQL 8.0.2复制新特性抢鲜看

    MySQL 8 正在变得原来越好,而且这也在我们MySQL复制研发团队引起了一阵热潮。我们一直致力于全面提升MySQL复制,通过引入新的和一些有趣的功能。此外,...

    wubx
  • MySQL 8.0.2复制新特性抢鲜看

    MySQL 8 正在变得原来越好,而且这也在我们MySQL复制研发团队引起了一阵热潮。我们一直致力于全面提升MySQL复制,通过引入新的和一些有趣的功能。此外,...

    wubx
  • RL12 Multi-agent systems

    代理是能够代表其用户或所有者采取独立行动的计算机系统。智能代理应具有以下主要属性:–反应性–积极主动–社交能力

    安包
  • Python中COM口的调用

    py3study
  • MySQL 8.0.14版本新功能详解

    作者:崔虎龙,云和恩墨-开源架构部-MySQL技术顾问,长期服务于数据中心(金融,游戏,物流)行业,熟悉数据中心运营管理的流程及规范,自动化运维 等方面。擅长M...

    数据和云
  • Python2.7在Windows下CM

    使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode...

    py3study

扫码关注云+社区

领取腾讯云代金券