前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何升级到Ubuntu 16.04 LTS

如何升级到Ubuntu 16.04 LTS

原创
作者头像
楠宝宝
修改2018-10-22 11:50:08
2K1
修改2018-10-22 11:50:08
举报

介绍

警告:与操作系统主要版本之间的几乎任何升级一样,此过程存在故障,数据丢失或软件配置损坏的固有风险。强烈建议进行全面备份和广泛测试。

为避免这些问题,我们建议尽可能迁移到新的Ubuntu 16.04服务器而不是就地升级。您可能仍需要在升级时查看软件配置的差异,但核心系统可能具有更高的稳定性。

Ubuntu操作系统的下一个长期支持版本16.04(Xenial Xerus)将于2016年4月21日发布。

虽然在撰写本文时尚未发布,但已经可以将15.10系统升级到16.04的开发版本。这可能有助于在正式发布日期之前测试升级过程和16.04本身的功能。

本指南将解释系统的过程,包括(但不限于)运行Ubuntu 15.10的腾讯云CVM。

准备

一台已经设置好可以使用sudo命令的非root账号的Ubuntu 服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

潜在的陷阱

虽然许多系统可以在没有事故的情况下进行升级,但通过从头开始安装分发,在整个过程中通过仔细测试配置服务以及将应用程序或用户数据作为单独迁移,迁移到主要新版本通常更安全且更可预测步。

如果没有首先针对升级环境中的升级测试所有已部署的软件和服务,则不应升级生产系统。请记住,库,语言和系统服务可能已发生重大变化。在Ubuntu 16.04中,自上一个LTS版本以来的重要变化包括转换到systemd init系统而不是Upstart,强调Python 3支持,PHP 7代替PHP 5。

在升级之前,请考虑阅读Xenial Xerus发行说明

第1步 - 备份系统

在尝试对任何系统进行重大升级之前,应确保在升级失败时不会丢失数据。实现此目的的最佳方法是备份整个文件系统。如果做不到这一点,请确保您拥有用户主目录,任何自定义配置文件以及关系数据库等服务存储的数据的副本。

在腾讯云CVM上,最简单的方法是关闭系统并拍摄快照(关闭电源可确保文件系统更加一致)。确认更新成功后,您可以删除快照,以便不再向您收费。

第2步 - 升级当前安装的软件包

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

代码语言:javascript
复制
sudo apt-get update

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

代码语言:javascript
复制
sudo apt-get upgrade

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

此过程可能需要一些时间。完成后,使用该dist-upgrade命令执行升级,包括更改依赖关系,根据需要添加或删除新包。这将处理一组可能由apt-get upgrade方面阻止的升级:

代码语言:javascript
复制
sudo apt-get dist-upgrade

再次,在提示继续时回答y,并等待升级完成。

现在您已经安装了Ubuntu 15.10的最新版本,您可以使用do-release-upgrade升级到16.04版本。

第3步 - 使用Ubuntu的do-release-upgrade工具执行升级

首先,确保安装了update-manager-core包:

代码语言:javascript
复制
sudo apt-get install update-manager-core

传统上,Debian版本可以通过更改能指定包存储库的Apt/etc/apt/sources.list来使升级成为可能,并用apt-get dist-upgrade于执行升级。Ubuntu仍然是Debian派生的发行版,因此这个过程可能仍然有用。相反,我们将使用do-release-upgradeUbuntu项目提供的工具来处理新版本的发布,更新sources.list以及一系列其他任务。这是服务器升级的官方建议升级路径,必须通过远程连接执行。

首先运行没有选项的do-release-upgrade

代码语言:javascript
复制
sudo do-release-upgrade

如果尚未发布Ubuntu 16.04,您应该看到以下内容:

代码语言:javascript
复制
Checking for a new Ubuntu release
No new release found

要在正式发布之前升级到16.04,请指定该-d选项以使用开发版本:

代码语言:javascript
复制
sudo do-release-upgrade -d

如果您通过SSH连接到您的系统,就像使用腾讯云CVM一样,您会被问到是否要继续。

在CVM上,通过SSH升级是安全的。虽然do-upgrade-release没有告知我们这一点,但您可以使用腾讯云控制面板中提供的控制台连接到您的CVM而无需运行SSH。

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

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

代码语言:javascript
复制
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

代码语言:javascript
复制
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键。接下来,可能会警告您找不到镜像条目。在腾讯云系统上,可以安全地忽略此警告并继续升级,因为16.04的本地镜像实际上是可用的。输入y

代码语言:javascript
复制
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 'trusty' to 'xenial' entries. 
If you select 'No' the upgrade will cancel. 
?
Continue [yN] y

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

代码语言:javascript
复制
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并检查要删除的软件包列表,以防它包含您稍后需要重新安装的任何内容。

代码语言:javascript
复制
Remove obsolete packages? 
?
?
53 packages are going to be removed. 
?
 Continue [yN]  Details [d]y

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

代码语言:javascript
复制
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会话中,您可能会看到如下内容:

代码语言:javascript
复制
=== Command detached from window (Thu Apr  7 13:13:33 2016) ===
=== Command terminated normally (Thu Apr  7 13:13:43 2016) ===

您可能需要在此处按一个键以退出本地提示,因为您的SSH会话将在服务器端终止。等待系统重启,然后重新连接。在登录时,您会看到一条消息,确认您现在使用的是Xenial Xerus:

代码语言:javascript
复制
Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 4.4.0-17-generic x86_64)

结论

你现在应该有一个工作的Ubuntu 16.04安装。从这里开始,您可能需要调查对服务和已部署应用程序的必要配置更改。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Upgrade to Ubuntu 16.04 LTS》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 潜在的陷阱
        • 第1步 - 备份系统
          • 第2步 - 升级当前安装的软件包
            • 第3步 - 使用Ubuntu的do-release-upgrade工具执行升级
              • 结论
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
              http://www.vxiaotou.com