The Ubuntu operating system’s most recent Long Term Support (LTS) release, version 18.04 (Bionic Beaver), was released on April 26, 2018.
This guide is intended as a brief overview of new features and significant changes to Ubuntu Server since the previous LTS release, 16.04 (Xenial Xerus). It synthesizes information from the official Bionic Beaver release notes and other sources.
While new Ubuntu Desktop and Server releases occur every six months, LTS versions come every two years and are supported for five years after release. 18.04 will continue to receive security updates and critical bug fixes until April of 2023. This makes LTS releases a stable platform for deploying production systems.
You can view a timeline of the Ubuntu release lifecycle at the Ubuntu release end of life page.
Generally, Ubuntu LTS releases contain very few surprises or major changes. This remains the case with Ubuntu 18.04. Beyond a few networking changes — which we will cover in subsequent sections — most updates are small changes to the base system and new versions of available software packages.
As a general summary, a selected list of Ubuntu 18.04 software versions follows. For comparison, the versions that shipped in Ubuntu 16.04 are included in
( ) parentheses:
More extensive changes are detailed in the following sections.
The Linux kernel has been updated to version 4.15. This version includes updates to mitigate the Spectre and Meltdown vulnerabilities (these updates have also been backported to Ubuntu 16.04’s 4.4 kernel). Beyond that, the changes relevant to Ubuntu Server users are mostly filesystem bug fixes, performance improvements, and support for very large amounts of memory.
LXD 3.0 adds clustering support, where multiple identically configured LXD servers can function as one. There is also support for passing NVIDIA GPUs into containers, hotplugging devices, and proxying TCP connections between the host and its containers. For more details, see the LXD 3.0.0 release notes.
ifupdown (including the familiar
ifdown utilities) has been replaced by Netplan. Netplan is a simplified interface for configuring Linux networking, where YAML files in
/etc/netplan are used to generate configuration information for either NetworkManager or — in the case of new Ubuntu Server installations –
ip link set command is a replacement for
ifdown. You can learn more about it in theHow To Configure Network Interfaces and Addresses section of our IPRoute2 Tools tutorial.
For more information on configuring Netplan, see the official documentation. Details on how to use and configure
systemd-networkd are available in the systemd-networkd.service and systemd.network man pages.
networkctl can output a summary of your network devices:
IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 eth0 ether routable configured
Run the command with the
status flag and it will print the state of each IP address on the system:
● State: routable Address: 192.0.2.10 on eth0 203.0.113.241 on eth0 2001:DB8:68be:caff:fe4c:c963 on eth0 Gateway: 203.0.113.1 (ICANN, IANA Department) on eth0 DNS: 203.0.113.2 203.0.113.3
The default DNS resolver is now
systemd-resolved. The standard
/etc/resolve.conf file is now managed by
systemd-resolved, and configuration of the resolver should be done in
Configuration information for
systemd-resolved can be found in the resolved.conf man page.
chrony replaces ntpd as the recommended NTP server in Ubuntu 18.04. Though the default Ubuntu system is set up to use
systemd-timesyncd for simple sync needs, ntpd would often be required for more demanding time synchronization or to provide network time services for other clients. In 18.04 ntpd has been demoted to the
universe repo, and is unavailable without updating your APT configuration.
The official chrony website has a comparison of NTP implementations to help you decide which is right for you.
While this guide is not exhaustive, you should now have a general idea of the major changes and new features in Ubuntu 18.04.
The safest course of action in migrating to a major new release is usually to install the distribution from scratch, configure services with careful testing along the way, and migrate application or user data as a separate step.
If you prefer to upgrade in place, our tutorial How To Upgrade to Ubuntu 18.04 LTS will provide details on the process.