Ubuntu 20.04: More Stable and Secure
The latest Long Term Support version of Ubuntu is out: 20.04. In this article, we explain what’s new and why this version is more stable and secure than predecessor 18:04.
Table of Content
About Ubuntu
In case you didn’t know: Ubuntu is a Linux-based operating system that is widely used in the hosting world. Ubuntu is also the operating system of choice with True, partly because we receive long-term support with Ubuntu and can therefore guarantee the stability and security of our managed hosting environments.
In addition to the operating systems for servers, Ubuntu is also available as a personal operating system. In this article, we will discuss the version for (web) servers.
Five years of support
The term LTS stands for Long Term Support. Canonical, the company behind Ubuntu, releases a new LTS version of the operating system every two years. With the LTS version, the company guarantees five-year support to ensure stability and security.
An LTS version of Ubuntu ensures that software remains available from start to finish without major changes. In the meantime, no major updates to newer software variants are forced. This ensures that a server remains stable and that updates only provide improved stability and increased security.
The numbering of the Ubuntu version is easy to explain. The first digits are the year in which the version is released, the second the month. Since the version will be supported for five years, support for Ubuntu 20.04 will end in April 2025.
Focal Fossa
This time too Canonical has come up with a nice name for this version: Focal Fossa. Like many, I had to google what this stood for: a feline animal that lives on Madagascar.
What makes Ubuntu 20.04 unique is that it is more stable and secure than its predecessors. In addition, Ubuntu 20.04 comes with up-to-date packages such as PHP 7.4, MySQL 8, and Python 3.8.
The following features are noteworthy in the LTS release:
● Linux kernel 5.4
– Support for WireGuard VPN and Raspberry Pi
– Support for exFAT filesystem
● WireGuard VPN
● SSH two-factor authentication
– Support for U2F/FIDO
● HAProxy 2.0
– Native support for Prometheus exporter
– End-to-End HTTP/2
● Apache2.4.41
– Support for TLSv1.3
Since our customers make extensive use of PHP, MySQL, and Python, I will go into this in more detail.
PHP 7.4
PHP 7.4 is included by default in Ubuntu 20.04. Ubuntu 18.04 shipped with PHP 7.2, which was already a big improvement in terms of speed. However, PHP 7.4 takes it one step further. By pre-loading functions and classes with OPCache, this provides a significant speed gain of up to 30%.
There are of course several new features:
● Typed properties
● Arrow functions
● Weak references
● Unpacking inside arrays
Nginx 1.17.10
Nginx is the reverse proxy and web server we prefer at True. Ubuntu 20.04 comes with version 1.17.10, Ubuntu 18.04 came with 1.14.
Nginx is busy implementing HTTP3 QUIC. The plan was to include this in the 1.17 release, but it turns out to be quite an undertaking. In all likelihood, this will come in version 1.19.
The most important changes between 1.14 and 1.17 at a glance:
● Improvements for UDP proxying, including sessions.
● Dynamic loading of certificates for SNI configurations. By using the ssl_server_name variable in your SSL paths you can create dynamic SSL configurations.
● Better request rate and connection limiting.
Also Read: How to Increase Internet Speed?
MySQL 8
Where Ubuntu 18.04 was delivered with MySQL 5.7, Ubuntu 20.04 comes with MySQL 8. A major major version upgrade, with many new features.
Too much has changed to list them all, but here are a few interesting changes:
● The default character set has been changed from latin1 to utf8mb4 (emojis 😄 ).
● Setting the global variables can now be made persistent with SET PERSISTENT so that they are also written to the disk.
● Quite a few improvements regarding security, roles, and accounts. Among other things, the syntax has been adjusted for adjusting/setting passwords for accounts.
● Roles can be assigned to accounts. For example, you can give all developers the same rights and you no longer have to give individual accounts rights.
Python 3.8
Ubuntu 20.04 no longer ships with Python 2.7. If you haven’t switched to Python 3 yet, now is the time. Ubuntu 20.04 is installed by default with Python version 3.8.2.
The most noticeable changes are in this major version difference in syntax. For example, in Python 2.7 you did not have to place parenthesis around print statements, in Python 3 you have to.
A few important differences:
● Strings are Unicode by default, in Python 2 you had to specifically indicate this by putting a “u” in front of it.
● Division operator functions differently, Python 3 output floats instead of ints.
● xrange is now range in Python 3.
● To make the process of migrating to Python 3 easier, you can use the __future__ module to use functions from Python 3 in Python 2.
Conclusion
Ubuntu 20.04 comes with the latest versions of packages like PHP and MySQL. In addition, many improvements have been made to security and stability, which makes Focal Fossa a must to upgrade. we will wait a little longer until 20.04.1, the version where all child errors are guaranteed to be removed.