Ubuntu 22.04

22.04LTSLinux
Added 3
  • Ubuntu 22.04 LTS ships with Linux kernel v5.17 on latest certified desktop devices and rolling HWE kernel based on v5.15 on other hardware generations
  • systemd-oomd package is now shipped by default on Ubuntu Desktop flavor to avoid overloaded systems
  • OpenJDK 18 is now provided in addition to OpenJDK 11
Changed 11
  • GCC was updated to 11.2.0, binutils to 2.38, and glibc to 2.35
  • Python now ships at version 3.10.4
  • Perl was updated to version 5.34.0
  • LLVM now defaults to version 14
  • golang defaults to version 1.18.x
  • rustc defaults to version 1.58
Fixed 1
  • UDP is disabled for NFS mounts via kernel option CONFIG_NFS_DISABLE_UDP_SUPPORT=y to prevent mount errors

Ubuntu 22.04 LTS release notes

These release notes for Ubuntu 22.04 LTS (Jammy Jellyfish) provide an overview of the release and document the known issues with Ubuntu and its flavors. For details of the changes applied since 20.04, refer to the following posts:

  • 22.04.5
  • 22.04.4
  • 22.04.3
  • 22.04.2
  • 22.04.1 For the release schedule of Ubuntu 22.04 LTS and its point releases, refer to:
  • Release schedule
Support lifespan

Maintenance updates will be provided for 5 years until April 2027 for Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud, and Ubuntu Core. All the remaining flavors will be supported for 3 years. Additional security support is available with ESM (Extended Security Maintenance).

Get Ubuntu 22.04 LTS

Images can be downloaded from a location near you. You can download ISOs and flashable images from:

  • Ubuntu Desktop and Server for 64-bit x86 (AMD64)
  • Less Frequently Downloaded Ubuntu Images
  • Ubuntu Cloud Images
  • Lubuntu
  • Kubuntu
  • Ubuntu Budgie
  • Ubuntu Kylin
  • Ubuntu MATE
  • Ubuntu Studio
  • Xubuntu
Upgrading from Ubuntu 21.10

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”.
  • Press Alt+F2 and type in update-manager -c into the command box.
  • Update Manager should open up and tell you: “New distribution release ‘22.04’ is available.”
  • If not you can also use /usr/lib/ubuntu-release-upgrader/check-new-release-gtk
  • Click Upgrade and follow the on-screen instructions. To upgrade on a server system:
  • Make sure the Prompt line in /etc/update-manager/release-upgrades is set to normal.
  • 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.
Changes since 20.04 LTS

If you’re upgrading from Ubuntu 20.04 LTS to 22.04 LTS, you get all the changes that happened in the six months since Ubuntu 21.10, as well as the changes in all the interim releases between 20.04 LTS and 22.04 LTS. For details, see the complete interim release notes: 20.10, 21.04 and 21.10. Finally, review the following changes since Ubuntu 21.10.

New features in 22.04 LTS
Updated Packages
Linux kernel 🐧

Ubuntu 22.04 LTS ships multiple optimized kernels on per-product basis:

  • Ubuntu Desktop will automatically opt-into v5.17 kernel on the latest generations of certified devices (linux-oem-22.04)
  • Ubuntu Desktop uses a rolling HWE kernel (linux-hwe-22.04) on all other generations of hardware. The rolling HWE kernel is based on the v5.15 kernel for 22.04.0 and 22.04.1 point releases
  • Ubuntu Server defaults to a non-rolling LTS kernel v5.15 (linux-generic)
  • Ubuntu Cloud and Devices use optimized kernels in collaboration with partners (v5.15+ with additional backports and features) Additional optimized and certified kernel flavors will become available in Ubuntu 22.04 LTS in due course.
UDP disabled for NFS mounts

Since Ubuntu 20.10 (Groovy Gorilla), the kernel option CONFIG_NFS_DISABLE_UDP_SUPPORT=y is set and this disables using UDP as the transport for NFS mounts, regardless of NFS version. In practice, if you try to use udp, you will get this error: $ sudo mount f1:/storage /mnt -o udp mount.nfs: an incorrect mount option was specified

Toolchain Upgrades 🛠️

GCC was updated to the 11.2.0 release, binutils to 2.38, and glibc to 2.35. Python 🐍 now ships at version 3.10.4, Perl 🐪 at version 5.34.0. LLVM now defaults to version 14. golang defaults to version 1.18.x. rustc defaults to version 1.58. In addition to OpenJDK 11, OpenJDK 18 is now provided (but not used for package builds). Ruby 💎 was updated from v2.7.4 to v3.0.

systemd v249.11

The init system was updated to systemd v249, using a solid .11 patchlevel for the LTS. Please refer to the upstream changelog for more information about the individual features. We’ve enabled the userspace OOMD service and are shipping the systemd-oomd package by default on the “Ubuntu Desktop” flavor, to avoid overloaded systems and the need of the kernel’s OOM killer to kick in. The OOMD status can be checked using oomctl.

OpenSSL 3.0

We’ve upgraded the OpenSSL library to the new 3.0 version, which disables a lot of legacy algorithms by default, as detailed in their migration guide. In particular, certificates using SHA1 or MD5 as hash algorithms are now invalid under the default security level. In addition to the upstream deprecations, please note that since Ubuntu 20.04 LTS (Focal Fossa), the security level 2 (which is the default) disables the (D)TLS protocols below 1.2 (included). Since the new version has an API bump, third-party packages that depend on libssl1.1 will need to be rebuilt to instead depend on libssl3, as the older ABI isn’t provided anymore.

plocate

plocate is now the default locate implementation, replacing mlocate. The mlocate package is now a transitional package and will install plocate. plocate is largely argument-compatible with mlocate, but some incompatibilities do exist. For details, see the manual for plocate.

Security Improvements 🔒

nftables is now the default backend for the firewall. All applications on the system must agree on whether they will use the legacy xtables backend or the newer nftables backend. Bug 1968608 provides some context that may be helpful. Docker may not be ready for the new nftables backend. ssh-rsa is now disabled by default in OpenSSH. See bug 1961833 to learn how to selectively re-enable it if necessary. If you are upgrading a system remotely over SSH, you should check that you are not relying on this to ensure that you will retain access after the upgrade. scp offers a -s command line option to use sftp mode rather than scp mode when handling remote filenames. This new, safer, behaviour will eventually become the default.

Ubuntu Desktop
  • Ubuntu now offers 10 color choices each in dark and light styles
  • Firefox is now only provided in Ubuntu as a snap. Some benefits include
  • Directly maintained by Mozilla
  • More maintainable for the entire Ubuntu LTS lifecycle
  • … Which means faster access to the newest Firefox versions
  • Easily switch to a different Firefox flavor with snap channels including esr/stable, latest/candidate, latest/beta, and latest/edge
  • Sandboxed for improved security hardening for this critical app
  • Improved in 22.04.1: Firefox startup speed is significantly faster now compared to the original Ubuntu 22.04 LTS release.
  • Desktop icons are shown in the bottom right by default but this can be changed through new settings added to the Appearance panel of the Settings app.
  • Also there are new settings to control the Dock look and behavior
  • Dock devices and filemanager integration has been improved
GNOME 👣
  • GNOME has been updated to include new features and fixes from GNOME 41 and GNOME 42
  • Several apps are still at their 41 version numbers to provide a more time-tested experience for the LTS desktop by mostly avoiding libadwaita.
  • The new cross-desktop dark style preference is supported.
  • GNOME Shell and mutter have lots of performance improvements including the triple buffering patch.
  • The default session for most systems that don’t have an Nvidia desktop graphics card is now Wayland. If you need a non-Wayland session, you can choose the Ubuntu on Xorg session by clicking the gear button after selecting your name on the login screen.
  • Hardware with privacy screen support is now supported
  • RDP is now available for sharing your desktop remotely. Legacy VNC is still available, but it is strongly recommended to use RDP for better security, privacy, and performance. If you were previously using VNC, you’ll need to manually re-enable desktop sharing in the Settings app and get your new login information.
Updated Applications
  • Firefox 103 🔥🦊
  • LibreOffice 7.3 📚
  • Thunderbird 91 🌩️🐦
Updated Subsystems
  • BlueZ 5.63
  • CUPS 2.4
  • NetworkManager 1.36
  • Mesa 22
  • Poppler 22.02
  • PulseAudio 16
  • xdg-desktop-portal 1.14
Ubuntu Server
Ubuntu HA/Clustering
Corosync

It was updated to version 3.16 which includes some new features:

  • Support for changing crypto configuration during runtime. This includes turning cryptography on or off, changing crypto_cipher and crypto_hash and also changing of crypto key.
  • Default token timeout was changed from 1 seconds to 3 seconds.
  • Run corosync -v to get the list of supported crypto and compression models which can be used in corosync.conf
  • Cgroup v2 support. For the complete list of changes please refer to the upstream release notes.
Pacemaker

It was updated to version 2.1.2 which includes some new features:

  • Add a new feature priority-fencing-delay. Optionally derive the priority of a node from the resource-priorities of the resources it is running.
  • Add on-fail=demote and no-quorum-policy=demote recovery policies for promoted resources.
  • support for OCF Resource Agent API 1.1 standard.
  • Many improvements in crm_mon and crm_resource. For the complete list of changes please refer to the upstream release notes. A notable difference from the version in Ubuntu Focal 20.04 is that the default configuration file does not define the node name as node1 anymore, now the output of uname -n is used as the default node name.
Resource agents

It was updated to version 4.7.0. Check the list of changes since Ubuntu Focal 20.04 here. The agents are now separated in two packages: resource-agents-base and resource-agents-extra. The resource-agents-base package contains the agents which are curated by the Ubuntu Server team, which means that automated tests are running in a continuous integration system to guarantee the quality of those agents. The resource-agents package is now a metapackage which depends on both resource-agents-base and resource-agents-extra. Please note that the resource-agents package will be removed in future releases; we recommend that you do not rely on its existence.

Fence agents

It was updated to version 4.7.1. The agents are now separated in two packages: fence-agents-base and fence-agents-extra. The fence-agents-base package contains the agents which are curated by the Ubuntu Server team, which means that automated tests are running in a continuous integration system to guarantee the quality of those agents. The fence-agents package is now a metapackage which depends on both fence-agents-base and fence-agents-extra. Please note that fence-agents will be removed in releases; we recommend that you do not rely on its existence.

Containers runtime
containerd

It was updated to version 1.5.9. Some interesting changes are:

  • Update pull to handle of non-https urls in descriptors
  • Install AppArmor parser for arm64 and update seccomp to 2.5.1
  • Add support for clone3 syscall to fix issue with certain images when seccomp is enabled
  • Add image config labels in CRI container creation For the complete list of changes please refer to the upstream release page.
runc

It was updated to version 1.1.0. There are many improvements and bug fixes which can be found in the upstream release page. Some deprecations and removals which might impact the upgrade are presented below: Deprecation

  • runc run/start now warns if a new container cgroup is non-empty or frozen; this warning will become an error in runc 1.2 Removals
  • cgroup.GetHugePageSizes has been removed entirely, and been replaced with cgroup.HugePageSizes which is more efficient
  • intelrdt.GetIntelRdtPath has been removed. Users who were using this function to get the intelrdt root should use the new intelrdt.Root instead. …
View original

Upgraded? How did it go?

Discussion