Ubuntu 16.04 中的新功能
介绍
Ubuntu 操作系统的最新长期支持版本 16.04 (Xenial Xerus) 于 2016 年 4 月 21 日发布。
本指南旨在从服务器系统管理的角度简要概述自 14.04 LTS 以来对整个系统的新功能和重大更改。它借鉴了官方 Xenial Xerus 发行说明以及各种其他来源。
什么是长期支持版本?
虽然新的 Ubuntu 桌面和服务器版本每六个月发布一次,但 LTS 版本每两年发布一次,并且在发布后的五年内由 Canonical 保证提供支持。这意味着它们构成了用于部署生产系统的稳定平台,并在相当长的一段时间内接收安全更新和关键错误修复。 16.04 将持续更新至 2021 年 4 月。
您可以在 Ubuntu Wiki 上阅读 Ubuntu LTS 发布周期的详细分类。
systemd 初始化系统
Ubuntu 15.10 或 Debian Jessie 的用户可能已经熟悉 systemd,它现在是大多数主流 GNU/Linux 发行版的默认初始化系统。在 Ubuntu 上,systemd 取代了 Canonical 的 Upstart。
如果您使用自定义初始化脚本,或定期配置长期运行的服务,则需要了解 systemd 的基础知识。有关概述,请阅读 Systemd Essentials:使用服务、单元和日志。
内核
Ubuntu 16.04 基于 2016 年 1 月发布的 4.4 系列 Linux 内核构建。
在 DigitalOcean 上,新的 16.04 Droplets 和从 15.10 升级的 Droplets 将能够管理和升级自己的内核。从 Ubuntu 14.04 LTS 升级的 Droplet 不是这种情况。
SSH
Ubuntu 16.04 默认为 OpenSSH 7.2p2,它禁用了 SSH 版本 1 协议,并且不允许使用 DSA (ssh-dss) 密钥。如果您使用的是旧密钥或需要从您的系统与旧版 SSH 服务器通信,您应该阅读 SSH 的发行说明。尽管仍在使用的 DSA 密钥相对较少,但在执行升级或在新的 Ubuntu 16.04 服务器上禁用基于密码的 SSH 身份验证之前,您可能需要生成新密钥。
有关生成和使用新 SSH 密钥的概述,请参阅如何在 Linux 服务器上配置基于 SSH 密钥的身份验证。
打包、软件分发和容器
易于
就其核心而言,Ubuntu 仍然建立在 Debian 项目之上,并通过扩展 .deb
包文件由高级包工具 Apt 管理。
Apt 工具没有太大变化,尽管 Ubuntu 16.04 升级到 Apt 1.2,其中包括一些安全改进。从旧版本迁移的用户可能还希望考虑使用 apt
命令代替传统的 apt-get
和 apt-cache
对于许多包管理操作。有关 apt
命令的更多详细信息,请参阅包管理基础知识:apt、yum、dnf、pkg。
快照包
尽管服务器环境中的大多数 Ubuntu 用户将继续依赖 Apt 进行包管理,但 16.04 包括对一种称为 snap 的新型包的访问,它源自 Ubuntu 的移动和物联网开发工作。虽然 snap 不太可能成为 16.04 生命周期早期服务器部署的主要因素,但 Canonical 一再表示 snap 代表了 Ubuntu 打包的未来,因此它们很可能是一个值得关注的发展。
龙信达
LXD 是一个“容器管理程序”,围绕 LXC 构建,而 LXC 又是 Linux 内核包含功能的接口。您可以阅读 linuxcontainers.org。
ZFS
Ubuntu 16.04 包括一个用于 ZFS 的本机内核模块,ZFS 是一个高级文件系统,起源于 2000 年代的 Sun Microsystems,目前在 OpenZFS 项目的保护下为开源系统开发。 ZFS 结合了文件系统和卷管理器的传统角色,并提供了许多引人注目的功能。
分发 ZFS 的决定并非没有争议,引起了软件保护协会和自由软件基金会对许可问题的批评。尽管如此,ZFS 是一项有前途的技术,具有悠久的发展历史 — 对文件系统来说尤其重要,因为文件系统通常需要多年的工作才能被认为足够成熟,可以广泛用于生产。系统管理员可能希望从技术和法律角度跟踪它在 Linux 生态系统中的采用情况。
您可以在 Ubuntu Wiki 上阅读更多关于 Ubuntu 上的 ZFS 的信息。
语言运行时和开发工具
去 1.6
Go 1.6 于今年早些时候发布,并针对 Ubuntu 16.04 进行了打包。
PHP 7
Ubuntu 16.04 的 PHP 包现在默认为 v7.0。 PHP 7 与其前身相比,性能有了重大改进,同时还提供了新功能,例如函数参数和返回值的标量类型声明。它还弃用了一些遗留功能并删除了一些扩展。如果您正在开发或部署 PHP 5 软件,则在迁移应用程序之前可能需要更改代码或升级到较新版本。
有关更改的详细列表,请参阅官方 PHP 迁移指南。
Python 3.5
Ubuntu 16.04 默认安装了 Python 3.5.1 作为 python3
二进制文件。 Python 2 仍然可以使用 python
包安装:
- sudo apt-get install python
这可能是支持尚未移植的现有代码所必需的。
Vim 编辑器的用户应该注意,Vim 的默认构建现在使用 Python 3,这可能会破坏依赖 Python 2 的插件。
结论
虽然本指南并不详尽,但您现在应该对 Ubuntu 16.04 中的主要变化和新功能有一个大概的了解。
迁移到主要新版本的最安全做法通常是从头开始安装分发版,沿途通过仔细测试配置服务,并将应用程序或用户数据作为单独的步骤迁移。对于一些常见配置,您可能需要阅读以下内容中的一项或多项:
- 使用 Ubuntu 16.04 进行初始服务器设置
- 如何在 Ubuntu 16.04 上添加和删除用户
- 如何在 Ubuntu 16.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈
- 如何在 Ubuntu 16.04 上安装 Nginx
- 如何在 Ubuntu 16.04 中安装 Linux、Nginx、MySQL、PHP(LEMP 堆栈)
您还可以阅读如何升级到 Ubuntu 16.04 LTS,了解有关升级现有系统的过程的详细信息。