Ubuntu Server 18.04 LTS comes with some welcomed new additions, many of which have been implemented since 17.10 first released back on October 19th, 2017. The following list is essentially a change log with the most important changes highlighted, I have also included notes that Ubuntu’s change log fails to cover, where possible links to each new feature’s change log have been included.
The first of many new features you’re going to notice right out of the box, is the new Ubuntu Server 18.04 LTS installer, code named subiquity. This installer comes with some great new additions one of which allows you to import SSH Keys from either Launchpad or GitHub, other noticeable improvements come in the form of new packages such as LXD, QEMU, libvirt and upgrades to Apache, Nginx and PHP.
The latest release of Ubuntu Server also ships with Linux kernel 4.15, enabling the latest hardware and peripherals. It also includes some notable improvements that have been inherited from upstream, to list a few:
- Linux security module stacking support
- CPU controller for cgroup 2 interface
- AMD secure memory encryption support
- The latest MD driver for software raid
- Improvements to SATA Link power management
As mentioned above one of the most notable changes taking place in this release is the revamped server installer. My personal experience is that it feels faster and easier to use than the previous installer and people familiar with Juju or OpenStack should find the installer look’s similar to what there used to. I have included some photos of the new installer below.
One new feature that’s been added is the ability to import SSH Keys during the installation wizard, these are loaded from a remote source, currently this list is composed of GitHub and Launchpad.
It should be noted that if you require the following features we will need to continue using the old installer from here.
- Re-use existing partitions
The current implementation of ifupdown has been deprecated and since replaced with netplan.io. The configuration on Ubuntu Server is provided by system-networkd by default.
The latest release of Ubuntu 18.04 includes the new LXD 3.0 release, this has some fantastic improvements over prior versions such as:
- Clustering of LXD servers
- Support of Nvidia runtime passthrough
- Remote transfer of storage volumes
- Port redirection support
- Command line interface improvements
- The ability to convert systems into Lxd container images using lxd-p2c utility.
Qemu has been updated to release 2.11.1, this comes with a wide range of fixes and improvements including a change to spectre and meltdown fixes. Some notable changes are:
- Support for more than 64 VCPU’s from within a Windows guest that have Hyper-V enabled.
- IDE and SCSI devices can now report their rotation rate.
- Support for TPM emulators.
- Command info numa can provide information on hot-plugged memory.
You can read Qemu 2.11.1’s change log from here.
Libvirt has been updated to version 4.0 upon other changes, libvirt storage drivers are now built as pluggable libraries which in theory should sim down the installation requirements. You can read the full change log here.
This release of Ubuntu includes the latest stable version of Dpdk, this includes a large number of new features. You can read up more on these changes from Dpdk’s official release notes here.
Open vSwitch has been updated to 2.9 and includes some new features, most notable:
- Support for Dpdk 17.11.
- Now supports vHost IOMMU.
- Additional support for Linux kernel 4.13
- New documentation for ovsdb
A full list of the latest fixes and features can be found here.
As of this release of Ubuntu the ntpd time service is being replaced by a new protocol called Chrony. This new service is released under the Gpl2 license and includes some rather neat new features, Chrony can handle more requests and gives the end user more control. If you’re interested in why this change was made, a comparison chart can be found here.
It should be noted that systemd-timesyncd is still included within the base system, Chrony is simply a package for more accurate and efficient syncing.
Chrony’s change log can be found here.
An updated version of cloud-init is available (18.2) Hurray! notable new features include:
- VMware support for 64Bit OVF data sources.
- Azure pre-provisioning improvements and speed optimisations.
- IBMCloud and HetznerCloud now have official data sources, OpenTelekom known by cloud-id.
- Command line tools status, analyse and clean have been added.
- cloud-config can now manage snaps and ubuntu advantage services.
- Puppet 4 is now supported
Once again you can see a more complete list of update notes here.
Curtin has been updated to version 18.1, some new features include:
- Experimental support for ifs and zpool file systems.
- Pollinate user agent support.
- You can now install remote filesystem images.
- A new sub command collect-logs can collect debug information.
A full list of Curtin changes can be found here.
Ubuntu’s Metal as a service has been updated to release 2.4b2, with some very notable new features:
- New audit logging system.
- Adds KVM pod support and allows the creation of machines with two or more storage pools.
- Added a UI for DNS management.
- NTP service has been migrated to the new Chrony takeover.
Some update notes can be found here.
Sssd is now supported and has been updated to version 1.16.x, as a result it’s secret service is now enabled. Previously disabled because of unmet requirements but a recent fix resolved this issue.
Nginx has been updated to version 1.14.0, which now includes some new notable features:
- Mirror module
- HTTP/2 Push
- gRPC proxy module
- A new enhanced DNS resolver
Nginx 1.14.0’s release notes can be found here.
Php has been updated to version 7.2.x, a list of changes and migration notes can be found here.
Apache has been updated to version 2.4.29, as a result HTTP/2 support is now enabled by default on Ubuntu 18.04. You can view Apache’s full release notes here.
The Ubuntu Landscape Client which used for remote management has been updated to use Python 3.
Ubuntu’s advantage service has also been given some love in this release, with two new features:
- New MOTD support for the Live patch service.
- Fips enabled systems can now use the dedicated enable-fips-updates command.
Openstack has been updated to the Queens release, you can find the full run down of changes from the Openstack release notes here. It should be noted that users still running Ubuntu 16.04 LTS can still access this update via the Ubuntu Cloud Archive.
Teaming support with libteam is now available from within the Networking Manager.
The default DNS resolver is now systemd-resolved for those coming from 16.04.
New Ubuntu installs now use a swap file instead of a swap partition.
Python 3 has been updated to 3.6 and Python 2 is not installed by default.
OpenSSH now refuses to use any key smaller than 1024 bits by default.
Home folder encryption is no longer available instead it’s recommended you use full disk encryption.
As with any new operating system release, there are always some minor bugs that people might run into. I have detailed a list of known problems at the time of writing.
During the partitioning phase of the installer, you are allowed to configure an LVM across more than one device without setting up a dedicated /boot partition. As a result the installer may fail to add the boot-loader subsequently leading to a failed boot sequence upon restarting. You cannot remove an LVM configuration when two or more volume groups have the same name, the partitioner during the installation does not support two or more identical volume groups. As an example if you are installing Ubuntu (with LVM) across multiple disks that already have individual installations of Ubuntu (with LVM) installed on them The Cio Ignore Blacklist does not work after installation, this is due to the install-time parameters not being passed into the installed system. Workaround is to edit /etc/zipl.conf to apply these and re-run sudo zipl to update the IPL.
One of the many new features within the installer is to import SSH Keys from either GitHub or Launchpad, at the moment this functionality doesn’t work.
Below you can find the release notes for other Ubuntu distributions.