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, and where appropriate photos / links 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 new additions one of which allows you to import SSH Keys from either Launchpad or GitHub, other noticeable improvements come in the form of updated packages such as LXD, QEMU, libvirt, Apache, Nginx and PHP.
The latest release of Ubuntu Server also ships with Linux kernel 4.15, enabling support for recently released 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 installers look very similar. I have included some photos of the new installer below.
One new feature that has been added is the ability to import SSH Keys during the installation wizard, these are loaded from a remote source, at the time of writing this list is composed of GitHub and Launchpad.
It should be noted that if you require any of the features listed below during the installation process you will need to continue using the old installer located here.
- Using existing partitions
The current implementation of ifupdown has been deprecated and since replaced with netplan.io. The configuration on Ubuntu Server is now 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 for 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 the 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 the much discussed spectre and meltdown patch. 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 now provide information on hot-plugged memory.
You can read the full Qemu 2.11.1’s change log from here.
Libvirt has been updated to version 4.0, libvirt storage drivers are now built as pluggable libraries which in theory should sim down 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 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 of functionality 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 are now 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 includes some cool new 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 rundown 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 is always a list of bugs.
I have detailed a list of known problems at the time of release, this will be updated as and when fixes become available.
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.