Ubuntu is an ancient African word meaning ‘humanity to others’. It also means ‘I am what I am because of who we all are’. The Ubuntu operating system brings the spirit of Ubuntu to the world of computers.
Where did it all begin?
Linux was already established as an enterprise server platform in 2004, but free software was not a part of everyday life for most computer users. That’s why Mark Shuttleworth gathered a small team of developers from one of the most established Linux projects — Debian — and set out to create an easy-to-use Linux desktop: Ubuntu.
The vision for Ubuntu is part social and part economic: free software, available to everybody on the same terms, and funded through a portfolio of services provided by Canonical.
The Ubuntu team broke new ground in committing to a programme of scheduled releases on a predictable six-month basis. It was decided that every fourth release, issued on a two-year basis, would receive long-term support (LTS). LTS releases are typically used for large-scale deployments.
Ubuntu is different from the commercial Linux offerings that preceded it because it doesn’t divide its efforts between a high-quality commercial version and a free ‘community’ version. The commercial and community teams collaborate to produce a single, high-quality release, which receives ongoing maintenance for a defined period. Both the release and ongoing updates are freely available to all users.
New features in 16.04 LTS
Snap application format
Ubuntu 16.04 LTS introduces a new application format, the ‘snap’, which can be installed alongside traditional deb packages. These two packaging formats live quite comfortably next to one another and enable Ubuntu to maintain its existing processes for development and updates. More information is available here.
As with every new release, packages--applications and software of all kinds--are being updated at a rapid pace. Many of these packages came from an automatic sync from Debian's unstable branch; others have been explicitly pulled in for Ubuntu 16.04.
For a list of all packages being accepted for Ubuntu 16.04, please subscribe to xenial-changes.
Linux kernel 4.4
Ubuntu 16.04 LTS is based on the long-term supported Linux release series 4.4.
Python2 is not installed anymore by default on the server, cloud and the touch images, long live Python3! Python3 itself has been upgraded to the 3.5 series.
If you have your own programs based on Python 2, fear not! Python 2 will continue to be available (as the python package) for the foreseeable future. However, to best support future versions of Ubuntu you should consider porting your code to Python 3. Python/3 has some advice and resources on this.
VIM defaults to python3
The default VIM package has been built against python3 instead of python2. This means plugins that require a python2 interpreter support from VIM will not work anymore. For this case alternative VIM packages are available that still use python2, for example vim-gnome-py2. They can be made the default via the alternatives mechanism:
- sudo update-alternatives --set vim /usr/bin/vim.gnome-py2
golang toolchain was upgraded to the 1.6 series, and gccgo was upgraded to the GCC 6.1 release candidate 1. Thus the same level of standard library and compiler features are provided by both compilers on all fully supported architectures.
Recent OpenSSH releases disable several pieces of weak, legacy, and/or unsafe cryptography. If you are upgrading a system remotely over SSH, you should check that you are not relying on these to ensure that you will retain access after the upgrade.
- Support for the legacy SSH version 1 protocol is disabled by default at compile time. Note that this also means that the Cipher keyword in ssh_config(5) is effectively no longer usable; use Ciphers instead for protocol 2. The openssh-client-ssh1 package includes "ssh1", "scp1", and "ssh-keygen1" binaries which you can use if you have no alternative way to connect to an outdated SSH1-only server; please contact the server administrator or system vendor in such cases and ask them to upgrade.
- Support for the 1024-bit diffie-hellman-group1-sha1 key exchange is disabled by default at run-time. It may be re-enabled using the upstream instructions.
- Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time. These may be re-enabled using the upstream instructions.
- Support for the legacy v00 cert format has been removed.
- Several ciphers are disabled by default in ssh: blowfish-cbc, cast128-cbc, all arcfour variants and the rijndael-cbc aliases for AES.
- MD5-based and truncated HMAC algorithms are disabled by default in ssh.
glibc was updated to the 2.23 release, binutils to the 2.26 release, and GCC to a recent snapshot from the GCC 5 branch (post GCC 5.3.0).
Apt 1.2 includes the new privilege separation features introduced in Apt 1.1. Importantly, the unprivileged "_apt" user is now used when making outgoing network connections and parsing the results for the various apt transport methods (HTTP, HTTPS, FTP).
Ubuntu for IBM LinuxONE and z Systems
Ubuntu 16.04 LTS includes a new port to 64-bit z/Architecture for IBM mainframe computers. This is a practically complete port of Ubuntu Server and Cloud with circa 95% binary package availability. We are excited to enable OpenStack software, Juju, MAAS, LXD, and much more on this platform.
For more information about this port see S390X page.
The general theme for 16.04 on the desktop is one of bug fixes and incremental quality improvements.
- GNOME is mostly upgraded to 3.18. GLib upgraded to to 2.48 (corresponding to GNOME 3.20)
- GNOME Software replaces Ubuntu Software Center. This brings a faster store experience and moves our archive metadata in line with Debian. It has been renamed "Ubuntu Software" to improve recognition for Ubuntu Software Center users.
- All default applications and libraries ported to use WebKit 2
- GNOME Calendar is now included by default
- Empathy and Brasero are removed from the default installation
- Chromium upgraded to version 48
- Firefox upgraded to version 45
- Online searches in the dash are now disabled by default
- Improved HiDPI support in the greeter
- Added more supported languages by default More info
- Multiple bug fixes
Unity & Compiz
- Improved launcher integration with file manager and devices
- Support for formatting removable devices from quicklist
- Improved support for gtk applications using headerbars
- Improvements to the switcher and spread backends
- Activate app spread by Super+Ctrl+W
- Unity control center option to always show menus
- Improvements to GNOME key grabbing
- New dash overlay scrollbars
- Better Dash theming support
- Support for scaling cursors in HiDPI environments
- Show icons launching state in launcher when apps launched elsewhere
- Launcher can be moved to the bottom
- LibreOffice defaults to the Breeze theme in Ubuntu
- Improvements in the Python scripting and language bindings http://conference.libreoffice.org/assets/Conference/Aarhus/Slides/MatthewFrancisPyUNO.pdf
- Support for WebDAV via HTTPS
Writer word processor
- Added support for whitespace hiding. A long standing feature request.
- Mailmerge in Writer can use spreadsheets as a data source http://vmiklos.hu/blog/mail-merge-embedding.html
- Spell check dialogue no longer auto closes
- Exponential and power trend lines handle negative Y values
- Performance improvements leveraging SSE3 for SUM functions
- Added support for PNG export
- Search for numbers as formatted/displayed
- Slide transitions use OpenGL 2.1+ and new transitions added
- Keyboard shortcuts for navigation and sorting
- Screensaver inhibiting for KDE, XFCE, Mate
New in 16.04, the kernel crash dump mechanism now supports remote kernel crash dumps. It is now possible to send kernel crash dumps to a remote server using the SSH or NFS protocols. Details of the new functionality are available in the Ubuntu Server Guide.
Ubuntu 16.04 includes the latest OpenStack release, Mitaka, including the following components:
- OpenStack Identity - Keystone
- OpenStack Imaging - Glance
- OpenStack Block Storage - Cinder
- OpenStack Compute - Nova
- OpenStack Networking - Neutron
- OpenStack Telemetry - Ceilometer and Aodh
- OpenStack Orchestration - Heat
- OpenStack Dashboard - Horizon
- OpenStack Object Storage - Swift
- OpenStack Database as a Service - Trove
- OpenStack DNS - Designate
- OpenStack Bare-metal - Ironic
- OpenStack Filesystem - Manila
- OpenStack Key Manager - Barbican
Please refer to the OpenStack Mitaka release notes for full details of this release of OpenStack.
OpenStack Mitaka is also provided via the Ubuntu Cloud Archive for OpenStack Mitaka for Ubuntu 14.04 LTS users.
Ubuntu 16.04 also includes the first GA release of of the Nova driver for LXD ('nova-lxd').
WARNING: Upgrading an OpenStack deployment is a non-trivial process and care should be taken to plan and test upgrade procedures which will be specific to each OpenStack deployment.
Make sure you read the OpenStack Charm Release Notes for more information about how to deploy Ubuntu OpenStack using Juju.
Libvirt has been updated to the 1.3.1 release.
Qemu has been updated to the 2.5 release.
See http://wiki.qemu.org/ChangeLog/2.5 for details.
Open vSwitch 2.5.0
Ubuntu 16.04 includes the latest release of Open vSwitch, 2.5.0. This is also an LTS release of Open vSwitch.
Ubuntu 16.04 also includes support for Open vSwitch integrated with DPDK (Data Plane Development Kit) enabling fast packet processing through userspace usage of compatible networking cards - see the openvswitch-switch-dpdk package for more details.
Ubuntu 16.04 includes the latest release candidate (10.1.2) of the Ceph Jewel stable release; An update to the final release version will be delivered as an SRU to Ubuntu 16.04.
For full details on the Ceph Jewel release, please refer to the upstream release notes.
Ubuntu 16.04 includes version 1.9.15 of the Nginx web server, with an expectation to provide the next stable release of Nginx, 1.10.0, as an SRU after release (which will be virtually identical to 1.9.15). This version of Nginx also includes HTTP/2 support, which supersedes SPDY support previously provided in the Nginx packages.
Ubuntu 16.04 LTS includes LXD, a new, lightweight, network-aware, container manager offering a VM-like experience built on top of Linux containers.
LXD comes pre-installed with all Ubuntu 16.04 server installations, including cloud images and can easily be installed on the Desktop version too. It can be used standalone through its simple command line client, through Juju to deploy your charms inside containers or with OpenStack for large scale deployments.
All the LXC components, LXC, LXCFS and LXD in Ubuntu 16.04 LTS are at version 2.0.
Learn more about LXD here: http://www.ubuntu.com/cloud/lxd/
And discover all the LXD 2.0 features with: https://www.stgraber.org/2016/03/11/lxd-2-0-blog-post-series-012/
docker was upgraded to the version 1.10. Note that this requires migration of existing images to a new format which will be performed on the first start of the service. This migration can take a long time and put a high load on the system, see https://docs.docker.com/engine/migration/ for more information.
- NGINX and PHP 7.0
- Upgrading from prior version of Ubuntu with PHP5 FPM configurations and NGINX will require a manual configuration change (details at: http://dark-net.net/nginx-http2-php7.0).
Most PHP-dependent packages were either rebuilt or upgraded for PHP7.0 support. Where that was not possible, packages may have been removed from the archive. There was one exception, Drupal7.
- Drupal7 does not pass upstream testing with PHP7.0 as of the 16.04 release (https://www.drupal.org/node/2656548). An SRU will be provided once upstream PHP7.0 support is available and verified. Until that time, the drupal7 package will not be installable in 16.04.
MySQL has been updated to 5.7. Some configuration directives have been changed or deprecated, so if you are upgrading from a previously customised configuration then you will need to update your customisation appropriately. See bug 1571865 for details.
Password behaviour when the MySQL root password is empty has changed. Packaging now enables socket authentication when the MySQL root password is empty. This means that a non-root user can't log in as the MySQL root user with an empty password. For details, see the NEWS file.
Juju and Juju UI have been updated to 2.0beta4. The final Juju 2.0 release will come via an update post-release. The package name is juju-2.0. Juju 1.25.5 is available in the juju package for existing production environments. Please read the upgrade documentation before moving to 2.0
Juju now supports modelling workloads on AWS, Microsoft Azure, Google Cloud Engine, Rackspace, Joyent, LXD, MAAS, and manual deployments.
- The Juju Charm Store now has over 300 charms ready to deploy. Most of these workloads will deploy Trusty instances, but we expect 16.04 charms to start landing and being announced independent of Juju's release.
Get Ubuntu 16.04 LTS
Download Ubuntu 16.04 LTS
Images can be downloaded from a location near you.
You can download ISOs from:
http://releases.ubuntu.com/16.04/ (Ubuntu Desktop, Server, and Snappy Core)
http://cdimage.ubuntu.com/ubuntu/releases/16.04/release/ (Less Popular Ubuntu Images)
https://cloud-images.ubuntu.com/releases/16.04/release/ (Ubuntu Cloud Server)
http://cdimage.ubuntu.com/netboot/16.04/ (Ubuntu Netboot)
http://cdimage.ubuntu.com/ubuntustudio/releases/16.04/release/ (Ubuntu Studio)
Upgrading from Ubuntu 14.04 LTS or 15.1014.04 LTS to LTS upgrades will be enabled with 16.04.1 LTS release, in approximately 3 months time.
To upgrade on a desktop system:
- Open the "Software & Updates" Setting in System Settings.
- Select the 3rd Tab called "Updates".
- Set the "Notify me of a new Ubuntu version" dropdown menu to "For any new version" if you are using 15.10, set it to "long-term support versions" if you are using 14.04 LTS.
- Press Alt+F2 and type in "update-manager" (without the quotes) into the command box.
- Software Updater should open up and tell you: New distribution release '16.04 LTS' is available.
- Click Upgrade and follow the on-screen instructions.
To upgrade on a server system:
- Install the update-manager-core package if it is not already installed.
- Make sure the /etc/update-manager/release-upgrades is set to normal if you are using 15.10, lts if you are using 14.04 LTS.
- Launch the upgrade tool with the command sudo do-release-upgrade.
- Follow the on-screen instructions.
Note that the server upgrade will use GNU screen and automatically re-attach in case of dropped connection problems.
There are no offline upgrade options for Ubuntu Desktop and Ubuntu Server. Please ensure you have network connectivity to one of the official mirrors or to a locally accessible mirror and follow the instructions above.
There are several other ways to get Ubuntu including torrents, which can potentially mean a quicker download, our network installer for older systems and special configurations and links to our regional DVD image mirrors for our older (and newer) releases. If you don’t specifically require any of these installers, we recommend using our default installers.
The network installer lets you install Ubuntu over the network. This is useful, for example, if you have an old machine with a non-bootable CD-ROM or a computer that can’t run the graphical interface-based installer, either because they don’t meet the minimum requirements for the live CD/DVD or because they require extra configuration before the graphical desktop can be used, or if you want to install Ubuntu on a large number of computers at once.
BitTorrent is a peer-to-peer download network that sometimes enables higher download speeds and more reliable downloads of large files. You will need to install a BitTorrent client on your computer in order to enable this download method.