Ja

Differences between revisions 2 and 3
Revision 2 as of 2020-04-25 06:03:04
Size: 97661
Editor: kazken3
Comment: import from https://wiki.ubuntulinux.jp/FocalFossa/ReleaseNotes/Ja rev 47
Revision 3 as of 2020-04-25 06:08:21
Size: 54979
Editor: kazken3
Comment: Clean up
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:
<locked-by:kazken3>
{{{
= Introduction =

These release notes for '''Ubuntu 20.04 LTS''' (Focal Fossa) provide an overview of the release and document the known issues with Ubuntu 20.04 LTS and its flavors.

=== Support lifespan ===

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


=== Official flavor release notes ===
Find the links to release notes for official flavors [[#Official_flavours|here]].

<<BR>>
= Get Ubuntu 20.04 LTS =
== Download Ubuntu 20.04 LTS ==

Images can be downloaded from a location near you.

You can download ISOs and flashable images from:

https://releases.ubuntu.com/20.04/ (Ubuntu Desktop and Server for AMD64) <<BR>>
http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/ (Less Frequently Downloaded Ubuntu Images) <<BR>>
http://cdimage.ubuntu.com/ubuntu-legacy-server/releases/20.04/release/ (Less Frequently Downloaded Ubuntu Images) <<BR>>
http://cloud-images.ubuntu.com/daily/server/focal/current/ (Ubuntu Cloud Images) <<BR>>
http://cdimage.ubuntu.com/kubuntu/releases/20.04/release/ (Kubuntu) <<BR>>
http://cdimage.ubuntu.com/lubuntu/releases/20.04/release/ (Lubuntu) <<BR>>
http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04/release/ (Ubuntu Budgie) <<BR>>
http://cdimage.ubuntu.com/ubuntukylin/releases/20.04/release/ (Ubuntu Kylin) <<BR>>
https://ubuntu-mate.org/download/ (Ubuntu MATE) <<BR>>
http://cdimage.ubuntu.com/ubuntustudio/releases/20.04/release/ (Ubuntu Studio) <<BR>>
http://cdimage.ubuntu.com/xubuntu/releases/20.04/release/ (Xubuntu)

== Upgrading from Ubuntu 18.04 LTS or 19.10 ==
 * You can upgrade to Ubuntu 20.04 LTS from either Ubuntu 18.04 LTS or Ubuntu 19.10.
 * Ensure that you have all updates installed for your current version of Ubuntu before you upgrade.

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" drop down menu to "For long-term support versions" if you are using 18.04 LTS; set it to "For any new version" if you are using 19.10.
 * Press Alt+F2 and type `update-manager -c -d` into the command box.
 * Update Manager should open up and tell you that Ubuntu 20.04 LTS is now available.
 * If not you can run ` /usr/lib/ubuntu-release-upgrader/check-new-release-gtk`
 * Click Upgrade and follow the on-screen instructions.

To upgrade on a server system:
 * Install `update-manager-core` if it is not already installed.
 * Make sure the {{/{Prompt}}/} line in /etc/update-manager/release-upgrades is set to 'normal' if you want non-LTS upgrades, or 'lts' if you only want LTS upgrades.
 * Launch the upgrade tool with the command `sudo do-release-upgrade -d`
 * 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.


=== Upgrades on i386 ===
Users of the i386 architecture will not be presented with an upgrade to Ubuntu 20.04 LTS. Support for i386 as a host architecture was dropped in 19.10.

}}}
</locked-by:kazken3>
Line 126: Line 63:
Line 172: Line 110:
<locked-by:kazken3>
{{{
= New Features in 20.04 LTS =

== Updated Packages ==

As with every Ubuntu release, Ubuntu 20.04 LTS comes with a selection of the latest and greatest software developed by the free software community.

=== Linux Kernel ===

Ubuntu 20.04 LTS is based on the long-term supported Linux release series '''5.4'''. Notable features and enhancements in 5.4 since 5.3 include:

 * Support for new hardware including Intel Comet Lake CPUs and initial Tiger Lake platforms, Qualcomm Snapdragon 835 & 855 SoCs, AMD Navi 12 and 14 GPUs, Arcturus and Renoir APUs along with Navi 12 + Arcturus power features.
 * Support has been added for the exFAT filesystem, virtio-fs for sharing filesystems with virtualized guests and fs-verity for detecting file modifications.
 * Built in support for the WireGuard VPN.
 * Enablement of lockdown in integrity mode.

Other notable kernel updates to '''5.4''' since version 4.15 released in 18.04 LTS include:

 * Support for AMD Rome CPUs, Radeon RX Vega M and Navi GPUs, Qualcomm Snapdragon 845 and other ARM SoCs and Intel Cannon Lake platforms.
 * Support for raspberry pi (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B)
 * Significant power-saving improvements.
 * Numerous USB 3.2 and Type-C improvements.
 * A new mount API, the io_uring interface, KVM support for AMD Secure Encrypted Virtualization and pidfd support.
 * Boot speed improvements through changing the default kernel compression algorithm to lz4 (in Ubuntu 19.10) on most architectures, and changing the default initramfs compression algorithm to lz4 on all architectures.

=== Toolchain Upgrades 🛠️ ===

Ubuntu 20.04 LTS comes with refreshed state-of-the-art toolchain including new upstream releases of glibc 2.31, ☕ OpenJDK 11, rustc 1.41, GCC 9.3, 🐍 Python 3.8.2, 💎 ruby 2.7.0, php 7.4, 🐪 perl 5.30, golang 1.13.

=== Ubuntu Desktop ===

  * New graphical boot splash (integrates with the system BIOS logo).

  * Refreshed [[https://ubuntu.com/blog/new-ubuntu-theme-in-development-for-20-04|Yaru theme]] 🎨
    * [[https://twitter.com/m_wimpress/status/1232246572479590401|Light/Dark theme switching]]

  * GNOME 3.36
    * New lock screen design.
    * New system menu design.
    * New app folder design.
    * Smoother performance, lower CPU usage for [[https://bugs.launchpad.net/bugs/1725180|window and overview animations]], [[https://gitlab.gnome.org/GNOME/gjs/issues/302|JavaScript execution]], [[https://bugs.launchpad.net/bugs/1848951|mouse movement]] and [[https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/724|window movement (which also has lower latency now)]].
    * 10-bit [[https://en.wikipedia.org/wiki/Color_depth#Deep_color_(30/36/48-bit)|deep colour]] support.
    * X11 fractional scaling.

  * [[https://www.mesa3d.org/|Mesa]] 20.0 OpenGL stack
  * [[http://www.bluez.org/|BlueZ]] 5.53
  * [[https://www.freedesktop.org/wiki/Software/PulseAudio/|PulseAudio]] 14.0 (prerelease)
  * [[https://www.mozilla.org/en-US/firefox/75.0/releasenotes/|Firefox 75.0]]
  * [[https://www.thunderbird.net/en-US/thunderbird/68.7.0/releasenotes/|Thunderbird 68.7.0]]
  * [[https://wiki.documentfoundation.org/ReleaseNotes/6.4|LibreOffice 6.4]]
}}}
</locked-by:kazken3>
Line 251: Line 136:

<locked-by:kazken3>
{{{

## == Security Improvements ==

== Network configuration ==

With this Ubuntu release, [[https://netplan.io/|netplan.io]] has grown multiple new features, some of which are:
 * Basic support for configuring SR-IOV network devices. Starting with netplan.io 0.99, users can declare Virtual Functions for every SR-IOV Physical Function, configure those as any other networking device and set hardware VLAN VF filtering on them.
 * Support for GSM modems via the NetworkManager backend via the `modems` section.
 * Adding WiFi flags for `bssid`/`band`/`channel` settings.
 * Adding ability to set `ipv6-address-generation` for the NetworkManager backend and `emit-lldp` for networkd.

== Storage/File Systems ==
=== ZFS 0.8.3 ===
Continuing with what started in the Eoan release, Ubuntu Focal ships zfs 0.8.3. Compared to what was available in the previous LTS release, zfs 0.8 brings many new features. Highlights include:
 * Native Encryption (with hardware acceleration enabled in Focal)
 * Device removal
 * Pool TRIM
 * Sequential scrub and resilver (performance)

Upstream 0.8.0 release notes: https://github.com/openzfs/zfs/releases/tag/zfs-0.8.0

Also checkout [[https://github.com/openzfs/zfs/releases/tag/zfs-0.8.1|0.8.1]], [[https://github.com/openzfs/zfs/releases/tag/zfs-0.8.2|0.8.2]] and [[https://github.com/openzfs/zfs/releases/tag/zfs-0.8.3|0.8.3]] for more details.

}}}
</locked-by:kazken3>
Line 299: Line 155:


<locked-by:kazken3>
{{{

== Other base system changes since 18.04 LTS ==

=== Python3 by default ===
In 20.04 LTS, the python included in the base system is Python 3.8. Python 2.7 has been moved to universe and is not included by default in any new installs.

Remaining packages in Ubuntu which require Python 2.7 have been updated to use /usr/bin/python2 as their interpreter, and `/usr/bin/python` is not present by default on any new installs. On systems upgraded from previous releases, `/usr/bin/python` will continue to point to `python2` for compatibility. Users who require `/usr/bin/python` for compatibility on newly-installed systems are encouraged to install the `python-is-python3` package, for a `/usr/bin/python` pointing to `python3` instead.

=== Snap Store ===

The Snap Store (snap-store) replaces ubuntu-software as the default tool for finding and installing packages and snaps.

== Ubuntu Server ==

=== Installer ===

The live server installer is now the preferred media to install Ubuntu
Server on all architectures.

Besides architecture support, the main user visible new features are
[[https://wiki.ubuntu.com/FoundationsTeam/AutomatedServerInstalls|support for automated installs]] and being able to install the bootloader to
multiple disks (for a more resilient system).

There have been many other fixes under the hood to make using
encryption easier, better support installing to multipath disks, more
reliable installation onto disks that have been used in various ways
and allowing failures to be reported more usefully.

}}}
</locked-by:kazken3>
Line 364: Line 185:
Line 386: Line 206:

<locked-by:kazken3>
{{{

=== QEMU ===

QEMU was updated to 4.2 release.
There is so much that it is hard to select individual improvements to highlight, here just a few:

  * free page hinting through virtio-balloon to avoid migrating unused pages which can speed up migrations
  * PPC: NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI
  * Many speed improvements for LUKS backend
  * pmem/nvdimm support
  * ...

Therefore please see the full change logs [[http://wiki.qemu.org/ChangeLog/4.2|4.2]] and [[http://wiki.qemu.org/ChangeLog/4.1|4.1]] for major changes since Ubuntu 19.10.

For Upgraders from Ubuntu 18.04 please also check out [[http://wiki.qemu.org/ChangeLog/4.0|4.0]], [[http://wiki.qemu.org/ChangeLog/3.1|3.1]], [[http://wiki.qemu.org/ChangeLog/3.0|3.0]] and [[http://wiki.qemu.org/ChangeLog/2.12|2.12]].

When upgrading it is always recommended to [[https://wiki.ubuntu.com/QemuKVMMigration#Upgrade_machine_type|upgrade the machine types]] allowing guests to fully benefit from all the improvements and fixes of the most recent version.

==== upgrading from 19.10 ====

For trimmed down container like isolation use-cases the new qemu has the [[https://github.com/bonzini/qemu/blob/master/docs/microvm.rst|microvm]] machine type which can be combined with the [[https://github.com/bonzini/qboot|qboot]] ROM (available as `bios-microvm.bin`) to provide a reduced feature set at a much faster startup time. To further emphasize that you can use the package `qemu-system-x86-microvm` which provides an alternative QEMU binary stripped of all features not needed these use cases as sugegsted by the [[https://github.com/bonzini/qboot|qboot]] ROM.

The VMX related features can now be controlled individually instead of just vmx on/off. Due to that the VMX-subfeatures of certain CPU types might have slightly changed (matching those of the selected CPU type now instead of almost randomly depending on the underlying hardware). In general it is - and always was - recommended to use a well defined cpu type when defining a guest, this is also what almost all higher level management tools from virt-manager to openstack will do. But if you want the most generic and compatible cpu but also enable VMX please use the type `kvm64` instead of `qemu64` now.

People that like to work or experiment with nvdimms and persistent memory QEMU now has [[https://docs.pmem.io/persistent-memory/getting-started-guide/creating-development-environments/virtualization/qemu|pmem]] and [[https://github.com/qemu/qemu/blob/master/docs/nvdimm.txt|nvdimm]] support enabled in Ubuntu Focal Fossa.

==== upgrading from 18.04 ====

QEMU now has [[https://virgil3d.github.io/|virglrenderer]] enabled which allows to create a virtual 3D GPU inside QEMU virtual machines. That is inferior to GPU passthrough, but can be handy if the platform used lacks the capability for classic [[https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM|PCI passthrough]] as well as more modern [[https://www.kernel.org/doc/Documentation/vfio-mediated-device.txt|mediated devices]].

The graphical QEMU back-end is now based on GTK instead of SDL. That provides much better Desktop integration and is often faster.

=== libvirt ===

libvirt was updated to version 6.0. See the upstream [[https://libvirt.org/news.html|change log]] for details since version 5.6 that was in Ubuntu 19.04 or further back since verison 4.0 that was in Ubuntu 18.04.

==== upgrading from 19.10 ====

Among many improvements worth to mention might be the features:
  * to access NVMe disks directly now allowing a speed oriented setup that still supports migration.
  * Mediated GPU devices are now supported as boot display.
  * Support kvm-hint-dedicated performance hint allowing the guest to enable optimizations when running on dedicated vCPUs
  * ...see the detailed changelog linked above for much more

==== upgrading from 18.04 ====

Worth mentioning is that libvirt can now enable QEMUs ability to use [[http://manpages.ubuntu.com/manpages/eoan/man1/virsh.1.html|parallel connections for migration]] which can help to speed up migrations if one doesn't saturate your network yet.

Administrators might like the ease of a new local include apparmor to the libvirt-qemu profile that allows local overrides for special devices or paths matching your setup without conffile delta that has to be managed on later upgrades.

Added the ability to have GL enabled graphics as well as mediated devices to be configured while still being guarded by custom apparmor profiles generated per guest. This is required for the use of gpu based mediated devices as well as VirGL mentioned above in the qemu section.

}}}
</locked-by:kazken3>

Line 491: Line 252:

<locked-by:hito>
{{{
=== dpdk ===

Ubuntu 20.04 LTS includes the latest stable release 19.11.1 of the latest LTS series 19.11.x.
The very latest (non-stable) version being 20.02 was not chosen for downstream projects of DPDK (like Open vSwitch) not being compatible yet.

See the [[https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html|19.11]] and [[https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#release-notes|19.11.1]] release notes for details.

==== upgrading from 18.04 ====

DPDK dependencies were reorganized into more or less common/tested components. Due to that most DPDK installations will now have a smaller installation footprint and less potentially active code to care about.

=== Open vSwitch ===

Open vSwitch has been updated to 2.13.

Please read the [[https://www.openvswitch.org/releases/NEWS-2.13.0.txt|2.13 release notes]] for more detail.

Upgraders from 18.04 might also want to take a look at release notes of:
  * [[https://www.openvswitch.org/releases/NEWS-2.12.0.txt|2.12 release notes]]
  * [[https://www.openvswitch.org/releases/NEWS-2.11.0.txt|2.11 release notes]]
  * [[https://www.openvswitch.org/releases/NEWS-2.10.0.txt|2.10 release notes]]

=== Chrony ===

Chrony been updated to [[https://chrony.tuxfamily.org/news.html|version 3.5]] which provides plenty of improvements in accuracy and controls. Furthermore it also adds additional isolation for non-x86 by enabling syscall filters on those architectures as well.

To further allow feeding [[https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html|Hardware time into Chrony]] the package [[https://gpsd.gitlab.io/gpsd/index.html|GPSD]] is now also fully supported.

But still for simple time-sync needs the base system already comes with systemd-timesyncd. Chrony is only needed to act as a time server or if you want the advertised more accurate and efficient syncing.

=== cloud-init ===

Cloud-init was updated to version 20.1-10. Notable features include:

==== Cloud platform features ====

 * New datasource detection/support: e24cloud, Exoscale, Zstack
 * Azure dhcp6 support, fix runtime error on cc_disk_setup, add support for byte-swapped instance-id
 * EC2: render IPv4 and IPv6 network on all NICs, IMDSv2 session-based API tokens and add secondary IPs as static
 * Scaleway: Fix DatasourceScaleway network rendering when unset

 * LRU cache frequently used utils for improved performance
 * Drop python2 support
}}}
</locked-by:hito>
Line 584: Line 297:
<locked-by:hito>
{{{
==== Networking features ====

 * Prioritize netplan rendering above /etc/network/interfaces even when both
   are present
 * Read network config from initramfs
 * net: support network-config:disabled on the kernel commandline
 * Add physical network type: cascading to openstack helpers
 * net/cmdline: correctly handle static ip= config

==== Config module features ====

 * distros: drop leading/trailing hyphens from mirror URL labels
 * cc_disk_setup: add swap filesystem force flag
 * cloud-init query surfaces merged_cfg and system_info dicts for use in
   Jinja templated cloud-config when opinionated based on series, platform
 * use SystemRandom when generating random password.

=== PHP 7.4 ===

PHP 7.4 is a new feature update, bringing typed properties, arrow functions, weak references, and unpacking inside arrays among other things. For more information on the new features and improvements, see the [[https://www.php.net/releases/7_4_0.php|PHP 7.4 Release Announcement]].

For more details about deprecated functionality, and suggested replacements, see the [[https://www.php.net/manual/en/migration74.deprecated.php|PHP 7.4 Deprecated Features]] page. [[https://www.php.net/manual/en/migration74.php|Migration guides to 7.4 from 7.3]] or earlier versions of PHP are also available in the PHP Manual. Users coming from Ubuntu 18.04 will be moving from 7.2 to 7.4, so should also refer to the [[https://www.php.net/manual/en/migration73.php|Migration guides to 7.3 from 7.2]].

=== Ruby 2.7 ===

The default Ruby interpreter was updated to version 2.7. It comes with some nice features and improvements like: Pattern Matching, REPL improvement, Compaction GC, Separation of positional and keyword arguments and much more. To have a broad overview about the cool features and improvements check the [[https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/|Ruby 2.7 Release Announcement]].

Users coming from previous Ubuntu releases (from 18.04 on) will be moving from Ruby 2.5 to 2.7, in this case the [[https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/|Ruby 2.6 Release Announcement]] might be useful as well. An important thing to keep in mind is that some libraries are not bundled anymore in Ruby. If you need them please install them separately:

 * CMath
 * Scanf
 * Shell
 * Synchronizer (ruby-sync)
 * ThreadsWait (ruby-thwait)
 * E2MM (ruby-e2mmap)

For more information check out this [[https://discourse.ubuntu.com/t/ruby-2-7-in-focal/15020|blog post]].

=== Ruby on Rails 5.2.3 ===

Ruby on Rails was updated to version 5.2.3. From users coming from Ubuntu 18.04 is a major change, moving from version 4.2.10 to 5.2.3. Some highlights are: addition of Action Cable framework, option to create slimmed down API only appli
cations, Active Record attributes API and so on. Check the Ruby on Rails [[https://guides.rubyonrails.org/5_0_release_notes.html|5]] and [[https://guides.rubyonrails.org/5_2_release_notes.html|5.2]] Release Notes for an overview.

If you need to upgrade your Ruby on Rails application please take a look at the
[[https://guides.rubyonrails.org/upgrading_ruby_on_rails.html|upstream upgrading guide]].
}}}
</locked-by:hito>
Line 707: Line 370:

<locked-by:hito>
{{{
=== Ubuntu HA/Clustering ===

==== Kronosnet ====

kronosnet (or knet for short) is the new underlying network protocol for Linux
HA components (corosync), that features the ability to use multiple links
between nodes, active/active and active/passive link failover policies,
automatic link recovery, FIPS compliant encryption (NSS and/or OpenSSL),
automatic PMTUd and in general better performance compared to the old network
protocol.

Main NEW features:

 * Up to 8 links dynamically reconfigured without restart of corosync
 * MTU auto-configuration
 * Support for NSS or OpenSSL encryption of packets
 * Compression
 * Higher throughput and lower latency
 * Support for RDMA and Upstart is gone

==== Corosync ====

From Corosync 3 release notes:

Corosync 3.0 contains many interesting features mostly related to usage of
Kronosnet (https://kronosnet.org/) as a default (and preferred) network
transport.

==== Pacemaker ====

From Pacemaker 2.0 release notes:

The main goal of the 2.0 release was to remove support for deprecated syntax,
along with some small changes in default configuration behavior and tool
behavior. Highlights: Only Corosync version 2 and greater is now supported as
the underlying cluster layer. Support for Heartbeat and Corosync 1 (including
CMAN) is removed.

Rolling upgrades from Pacemaker versions earlier than 1.1.11 are not possible,
even if the underlying cluster stack is corosync 2 or greater. Other rolling
upgrades, from newer versions on top of corosync 2 or greater, should be
possible with little to no change.

 * https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Configuration_Changes
 * https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Daemon_Changes
 * https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_Tool_Changes
 * https://wiki.clusterlabs.org/wiki/Pacemaker_2.0_API_Changes

==== Resource Agents ====

Cluster Resource Agents (RAs), compliant with the Open Cluster Framework (OCF)
specification, used to interface with various services in a High Availability
environment managed by the Pacemaker resource manager.

Complete Changelog:

 * https://github.com/ClusterLabs/resource-agents/blob/master/ChangeLog

==== Fence Agents ====

Fence Agents is a collection of scripts to handle remote power management for
several devices. They allow failed or unreachable nodes to be forcibly restarted
and removed from the cluster.

==== keepalived ====

Failover and monitoring daemon for LVS clusters, used for monitoring real
servers within a Linux Virtual Server (LVS) cluster. It can be configured to
remove real servers from the cluster pool if they stop responding, as well as
send a notification email to make the admin aware of the service failure.

=== isc-kea 1.6 stable track ===

Even though it's a Universe package, isc-kea is a promising new dhcp server from the same upstream that created Bind and isc-dhcp. For Focal, we updated it to the 1.6.x stable series.

Upstream 1.6.0 release notes: https://downloads.isc.org/isc/kea/1.6.0/Kea160ReleaseNotes.txt

Upstream 1.6.2 release notes (version currently in Focal): https://downloads.isc.org/isc/kea/1.6.2/Kea162ReleaseNotes.txt

=== Bind 9.16 ===

Bind has been updated to the new stable release series from upstream: 9.16.x.

Important packaging changes are:
 * no `-dev` package at the moment, as upstream discourages linking with its libraries. See a bit of a discussion about that here: https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/3089#note_111299. Debian just added the `dev` package back (2020-04-16), we might follow with an SRU: https://bugs.debian.org/954906
 * bind-libs 9.11.x package: used for software projects that do not yet work with the new 9.16 version, like isc-dhcp.
 * bind-dyndb-ldap has not yet been ported to bind9 9.16.x
 * geoip legacy support was removed and replaced with geoip2 (libmaxminddb)

Upstream blog post about major changes in bind9 9.16.0: https://www.isc.org/blogs/bind9.16.0_released/

More detailed release notes: https://downloads.isc.org/isc/bind9/9.16.0/RELEASE-NOTES-bind-9.16.0.html

Presentation about the development of bind9 culminating in this new release: https://youtu.be/5math9Oy97s?t=46
}}}
</locked-by:hito>
Line 863: Line 427:

<locked-by:kazken3>
{{{
=== OpenSSH updates with U2F Support ===


OpenSSH 8.2 added support for U2F/FIDO hardware devices to allow easy hardware-based two factor authentication. It is as simple as:
{{\{
# plug device in and:
$ ssh-keygen -t ecdsa-sk
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation. <-- touch device
Enter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_sk
Your public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pub
The key fingerprint is:
SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal
}\}}
Now just transfer the public part to the server to `~/.ssh/authorized_keys` and you are ready to go:
{{\{
$ ssh -i .ssh/id_ecdsa_sk ubuntu@focal.server
Confirm user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- touch device
Welcome to Ubuntu Focal Fossa (development branch) (GNU/Linux 5.4.0-21-generic x86_64)
(...)
ubuntu@focal.server:~$
}\}}

 /!\ If you don't see the prompt asking for the user presence confirmation, then you are affected by
  - block-discover supports multipath discovery
  - vmtest add ppc64le/arm64 architectures

  
Upstream development of OpenSSH 8.2 in Debian has [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=631189|added support for an 'Includes' keyword]] in configuration files. This allows including additional configuration files via glob(3) patterns. By default the system sshd config (/etc/ssh/sshd_config) now [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=952427|includes files under /etc/ssh/sshd_config.d/*.conf]]. For each keyword encountered in configuration files, the first obtained value will be used. This is used in various [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Cloud_Images_.2BJgE-|Cloud Images]] to apply cloud-specific tuning while avoiding debconf prompts on package upgrade.

The effective configuration of sshd can be validated by running 'sudo sshd -T'. This reads and validates the config file(s) and prints the effective configuration before exiting.

See the upstream release notes for more details: https://www.openssh.com/txt/release-8.2

=== HAProxy 2.0 ===

First introduced in Ubuntu Eoan 19.10, HAProxy in Focal is tracking the upstream LTS 2.0 branch. This series has many new features when compared to the previous 1.8 stable branch, and all are detailed in this blog post: https://www.haproxy.com/blog/haproxy-2-0-and-beyond/

=== Apache, TLSv1.3, client cert auth ===

Apache has been built with TLSv1.3 support, and depending on the server configuration, this might require clients performing certificate authentication to support Post Handshake Authentication (PHA). Not all TLSv1.3 capable clients can perform PHA, and will fail. Telltale signs of this being the error include these messages in the Apache server logs:
{{\{
AH: verify client post handshake
AH10158: cannot perform post-handshake authentication
SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received
}\}}
In this case, if there is no updated client version, you should preferably disable TLSv1.3 on the affected client.

Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=911653

Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1511989 (fixed, can be enabled by toggling security.tls.enable_post_handshake_auth)

python httplib should enable post-handshake authentication for TLS 1.3: https://bugs.python.org/issue37440

}}}
</locked-by:kazken3>
Line 933: Line 434:

<locked-by:mizuno>
{{{
=== Samba 4.11 ===

Focal ships with Samba 4.11.x which introduces a number of changes. Of note we have:
 * SMB1 disabled by default: can still be enabled via a `/etc/samba/smb.conf` config change;
 * python2 no longer supported

Detailed upstream release notes for 4.11.0 can be seen here: https://www.samba.org/samba/history/samba-4.11.0.html
}}}
</locked-by:mizuno>
Line 958: Line 447:

<locked-by:mizuno>
{{{
=== PostgreSQL 12 ===

Focal is shipping postgresql-12, which has many improvements:
 * improved query performance, particularly over larger data sets
 * SQL/JSON path expression support
 * generated columns
 * pluggable table storage interface

Upstream announcement: https://www.postgresql.org/about/news/1976/

Upstream release notes: https://www.postgresql.org/docs/12/release-12.html
}}}
</locked-by:mizuno>
Line 999: Line 472:

<locked-by:kazken3>
{{{

=== nginx ===

Starting in Focal Fossa, nginx-core no longer ships with the legacy geoip module enabled by default. If you are using the legacy geoip module in nginx, you may run into upgrade issues if you do not deactivate the geoip module in your configuration. This was done as part of the deprecation of GeoIP legacy support.

Here are some scenarios you might encounter:

 * Since nginx-core dropped the dependency on libnginx-mod-http-geoip, an "apt autoremove" might suggest that libnginx-mod-http-geoip can be removed. If this happens, and there are still geoip configuration directives, nginx will fail to restart. Note that this would also happen had we replaced libnginx-mod-http-geoip with libnginx-mod-http-geoip2, as the configuration directives are different

 * If someone has just main enabled, with nginx-code and libnginx-mod-http-geoip installed, and release upgrades to focal, libnginx-mod-http-geoip won't be updated because it's in focal/universe.



=== Squid 4.x ===
When upgrading from the previous LTS Ubuntu Bionic 18.04, the squid proxy cache will be at version 4. Among other changes, if you used custom logging format, be aware the redefining the build-in formats no longer works (upstream bug: https://bugs.squid-cache.org/show_bug.cgi?id=4905).

For example, if you were redefining the `squid` log format to change the timestamp, like this:
{{/{
logformat squid %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
}/}}

You now have to use another name, and specify that it should be used, like this:
{{/{
logformat custom-squid %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
access_log daemon:/var/log/squid/access.log custom-squid
}/}}

}}}
</locked-by:kazken3>
Line 1042: Line 483:

<locked-by:hito>
{{{
=== s390x ===

IBM Z and LinuxONE / s390x-specific enhancements since 19.10 (partly not limited to s390x):

 * Starting with Ubuntu Server 20.04 LTS the architectural level set was changed to z13 (Bug:1836907). This has a significant impact: Ubuntu Server for s390x now benefits from improved and more instructions that got introduced with z13 hardware; at the same time support for zEC12/zBC12 got dropped and the minimum supported hardware is now IBM z13 and LinuxONE Rockhopper (I) and LinuxONE Emperor (I).

 * Secure Execution, a Trusted Execution Environment (TEE) for IBM Z and LinuxONE is now supported. It required adaptations in the kernel (Bug:1835531), qemu (Bug:1835546) and s390-tools (Bug:1834534). It can only be used with IBM z15 and LinuxONE III. With Secure Execution (or the upstream name 'protected virtualization' aka 'protvirt') workloads can run virtualized in full isolation with protection for both internal and external threats, using hardware assisted key based encryption for the guest memory.

 * The toolchain was significantly upgraded to gcc 9.3 - making sure that fixes like (Bug:1862342) are included, even moved to gdb 9.1 (Bug:1825344), that includes latest s390x hardware support - similar with LLVM, that was upgraded to v10 (Bug:1853145), again to have the latest s390x hardware enhancements included (Bug:1853269).

 * The KVM virtualization stack got updated to qemu 4,2 and libvirt 6.0, and with that CPU model comparison and baselining got enabled (Bug:1853315), CCW IPL support added to qemu (Bug:1853316) and libvirt (Bug:1853317) and several issue fixed, like (Bug:1861125), (Bug:1867109) and (Bug:1866207). In addition KVM crypto pass-through is now included (Bug:1852737), (Bug:1852738) and (Bug:1852744).

 * Support for new CEX7S crypto express hardware (Bug:1853304) and (Bug:1856831) was added, as well as CPACF MSA 6 in-kernel crypto support for SHA3 (Bug:1853105) and a lot of CPACF crypto co-processor (largely assembly based) optimizations and fixes in OpenSSL (Bug:1853150) and (Bug:1853312), incl. but not limited to ECDSA.

 * Performance tests showed (Bug:1868113) that it is beneficial to use 'Striding RQ' with RoCE Express 2 and 2.1 PCIe cards (ConnectX-4) on IBM z14 and LinuxONE Rockhopper II / Emperor II and newer - but this is not the default. Hence if one has RoCE 2 or 2.1 hardware plugged in to such a system, the enablement of 'Striding RQ' should be considered, like: '{{{ethtool --set-priv-flags <ifname> rx_striding_rq on}}}'. For the reason of persistence one may also create a service or udev-rule that sets this at boot time.
}}}
</locked-by:hito>
Line 1097: Line 518:
<locked-by:kazken3>
{{{
=== OpenStack Ussuri ===

Ubuntu 20.04 LTS includes the latest !OpenStack release, Ussuri, as a preview with final release coming in the 20.04.1 LTS, including the following components:

 * !OpenStack Identity - Keystone
 * !OpenStack Imaging - Glance
 * !OpenStack Block Storage - Cinder
 * !OpenStack Compute - Nova
 * !OpenStack Networking - Neutron
 * !OpenStack Telemetry - Ceilometer, Aodh, Gnocchi, and Panko
 * !OpenStack Orchestration - Heat
 * !OpenStack Dashboard - Horizon
 * !OpenStack Object Storage - Swift
 * !OpenStack DNS - Designate
 * !OpenStack Bare-metal - Ironic
 * !OpenStack Filesystem - Manila
 * !OpenStack Key Manager - Barbican
 * !OpenStack Load Balancer - Octavia
 * !OpenStack Instance HA - Masakari

Please refer to the [[http://releases.openstack.org/ussuri/|OpenStack Ussuri release notes]] for full details of this release of !OpenStack.

!OpenStack Ussuri is also provided via the [[OpenStack/CloudArchive|Ubuntu Cloud Archive]] for !OpenStack Ussuri for Ubuntu 18.04 LTS users.

'''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 [[https://docs.openstack.org/charm-guide/latest|OpenStack Charm Release Notes]] for more information about how to deploy Ubuntu !OpenStack using Juju.

=== Ceph ===

Ceph was updated to the 15.2.1 release, Ceph Octopus. Please refer to the [[https://docs.ceph.com/docs/master/releases/octopus/|Ceph Octopus release notes]] for full details of this release.

This release of Ceph is also provided via the [[OpenStack/CloudArchive|Ubuntu Cloud Archive]] for use with !OpenStack Ussuri for Ubuntu 18.04 LTS users.

}}}
</locked-by:kazken3>
Line 1157: Line 540:

<locked-by:mizuno>
{{{
== Cloud Images ☁ ==

=== Amazon Web Services (AWS) ===

  * Amazon Machine Images (AMIs) have the [[https://launchpad.net/ubuntu/+source/ec2-instance-connect|ec2-instance-connect]] package installed and enabled by default starting in Focal. AWS' [[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html|Instance Connect]] feature uses AWS Identity and Access Management (IAM) policies and principals to control SSH access to your instances.
  
=== Google Compute Engine ===

  * The existing sshd config overrides that were written to /etc/ssh/sshd_config have been moved to /etc/ssh/sshd_config.d/50-cloudimg-settings.conf, see [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#OpenSSH_Includes_Keyword|OpenSSH Includes Keyword]] above.

=== Microsoft Azure ===

  * Azure instances now use chrony to manage time synchronization, and they are configured by default to use highly accurate Stratum 1 devices hosted in the Azure cloud. See more information: [[https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync|Time sync for Linux VMs in Azure]]
  * The existing sshd config overrides that were written to /etc/ssh/sshd_config have been moved to /etc/ssh/sshd_config.d/50-cloudimg-settings.conf, see [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#OpenSSH_Includes_Keyword|OpenSSH Includes Keyword]] above.
 
=== Vagrant ===

  * Vagrant boxes are 40G by default instead of 10G. [[https://bugs.launchpad.net/cloud-images/+bug/1580596|(LP: #1580596)]]

== Raspberry Pi ==

Since the release of Ubuntu 19.10 Raspberry Pi 32-bit and 64-bit preinstalled images (renamed to raspi) support the Raspberry Pi 4 platform out-of-the-box. With this, our images now support almost all modern flavors of the Raspberry Pi family of devices (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B).
}}}
</locked-by:mizuno>
Line 1211: Line 567:

<locked-by:kazken3>
{{{
= Known issues =

As is to be expected, with any release, there are some significant known bugs that users may run into with this release of Ubuntu 20.04 LTS. The ones we know about at this point (and some of the workarounds), are documented here so you don't need to spend time reporting these bugs again:

== Installer and live session ==

  * Systems with an nVidia graphics card boot the live session by default with the open source video driver 'nouveau'. On some hardware this driver may crash which results in a freeze of the graphical session of the installer. If it happens, on the boot menu, select a 'Safe graphics mode' entry. Then in the installer, on the 'Preparing to install ...' page, select 'Install third party software ...' and continue. This option will install the nVidia proprietary drivers on the target system. Upon installation the proprietary drivers for your card will be loaded and the graphical session should work properly with optimized drivers. (Bug:1822026) (Bug:1871562)

  * Ubuntu now defaults to checking the integrity of the medium in use when booting into live sessions. This can be skipped by hitting Ctrl-C, but due to a bug the message that tells you to hit this key is not shown in some flavours. ([[https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1870018|bug 1870018]])
  * When selecting to install 3rd party drivers there can be a long pause before the next step is available. ([[https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1824905|bug 1824905]])
  * With certain Broadcom wireless cards if you choose to install third party software during the installation process your wifi will disconnect. ([[https://bugs.launchpad.net/bugs/1867465|bug 1867465]])

## == Kernel ==

== Desktop ==

  * Fractional scaling does not work with the NVIDIA proprietary driver ([[https://bugs.launchpad.net/bugs/1870736|bug 1870736]], [[https://bugs.launchpad.net/bugs/1873403|bug 1873403]]).
  * Automatic login does not work with the NVIDIA proprietary driver ([[https://bugs.launchpad.net/bugs/1845801|bug 1845801]]).
  * After upgrading audio device selection in Settings is sometimes ignored ([[https://bugs.launchpad.net/bugs/1866194|bug 1866194]]).
  * ZFS installation fails to boot if there are existing pools named `bpool` or `rpool` on a second drive ([[https://bugs.launchpad.net/bugs/1867007|bug 1867007]]).
  * Due to database format changes fprintd will remove all saved fingerprints, please ensure you have another mechanism for logging in ([[http://launchpad.net/bugs/1865824]]).

== Raspberry Pi ==

  * The [[https://pinout.xyz/pinout/fan_shim#|Pimoroni Fan Shim]] for the Raspberry Pi 4 re-uses the serial console pins on the GPIO header to control its RGB LED. This results in "noise" on the serial line which stops u-boot during startup (as it thinks a key has been pressed). Adding {{\{enable_uart=0}\}} to {{\{/boot/firmware/syscfg.txt}\}} disables the serial console permitting the boot sequence to complete ([[https://launchpad.net/bugs/1873520|bug 1873520]])
<<BR>>
}}}
</locked-by:kazken3>
Line 1276: Line 601:

<locked-by:kazken3>
{{{
= Official flavours =

The release notes for the official flavors can be found at the following links:

 * Lubuntu [[https://lubuntu.me/focal-released/]]
 * Kubuntu [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/Kubuntu]]
 * Ubuntu Budgie [[https://ubuntubudgie.org/2020/04/02/ubuntu-budgie-20-04lts-release-notes/|19.10 からのアップグレード]] / [[https://ubuntubudgie.org/2020/04/21/ubuntu-budgie-20-04lts-release-notes-for-18-04-upgraders/|18.04 からのアップグレード]]
 * Ubuntu MATE [[https://ubuntu-mate.org/blog/ubuntu-mate-focal-fossa-release-notes/]]
 * Ubuntu Studio [[https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/UbuntuStudio]]
 * Xubuntu [[https://wiki.xubuntu.org/releases/20.04/release-notes]]
 * Ubuntu Kylin [[https://www.ubuntukylin.com/news/2004ReleaseNotes-en.html]]

<<BR>>
= More information =

=== Reporting bugs ===

Your comments, bug reports, patches and suggestions will help fix bugs and improve the quality of future releases. Please [[http://help.ubuntu.com/community/ReportingBugs|report bugs using the tools provided]].

If you want to help out with bugs, the [[http://wiki.ubuntu.com/BugSquad|Bug Squad]] is always looking for help.

=== Participate in Ubuntu ===

## These images were able to be made available to you thanks to the help of our [[https://wiki.ubuntu.com/SaucySalamander/TechnicalOverview/Beta1/Testers|QA Community]].

If you would like to help shape Ubuntu, take a look at the list of ways you can participate at

 https://community.ubuntu.com/contribute

=== More about Ubuntu ===

You can find out more about Ubuntu on the [[https://www.ubuntu.com|Ubuntu website]] and [[https://wiki.ubuntu.com|Ubuntu wiki]].

To sign up for future Ubuntu development announcements, please subscribe to Ubuntu's development announcement list at:

 https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-announce
}}}
</locked-by:kazken3>

Table of Contents

イントロダクション

このリリースノートには、Ubuntu 20.04 LTS (Focal Fossa) のリリース概要と Ubuntu 20.04 LTS とそのフレーバーに関する既知の不具合を記述しています。

サポート期間

Ubuntu Desktop、Ubuntu Server、Ubuntu Cloud、Ubuntu Coreのメンテナンスアップデートは 2025年4月 まで5年間サポートされます。そのほかすべてのフレーバーは3年間サポートされます。追加のセキュリティサポートはESM (Extended Security Maintenance) が利用できます。

公式フレーバーのリリースノート

公式フレーバーのリリースノートはこちらで確認できます。

Ubuntu 20.04 LTS を入手する

Ubuntu 20.04 LTS をダウンロードする

イメージはお近くのミラーサイトからもダウンロードできるでしょう。

ISO およびフラッシュ可能なイメージはこちらからダウンロードできます: https://releases.ubuntu.com/20.04/ (AMD64 向け Ubuntu デスクトップとサーバー)
http://cdimage.ubuntu.com/ubuntu/releases/20.04/release/ (余りダウンロードされない Ubuntu イメージ)
http://cdimage.ubuntu.com/ubuntu-legacy-server/releases/20.04/release/ (余りダウンロードされない Ubuntu イメージ)
http://cloud-images.ubuntu.com/daily/server/focal/current/ (Ubuntu Cloud イメージ)
http://cdimage.ubuntu.com/kubuntu/releases/20.04/release/ (Kubuntu)
http://cdimage.ubuntu.com/lubuntu/releases/20.04/release/ (Lubuntu)
http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04/release/ (Ubuntu Budgie)
http://cdimage.ubuntu.com/ubuntukylin/releases/20.04/release/ (Ubuntu Kylin)
https://ubuntu-mate.org/download/ (Ubuntu MATE)
http://cdimage.ubuntu.com/ubuntustudio/releases/20.04/release/ (Ubuntu Studio)
http://cdimage.ubuntu.com/xubuntu/releases/20.04/release/ (Xubuntu)

Ubuntu 18.04 LTS または 19.10 からのアップグレード

  • Ubuntu 20.04 LTSは Ubuntu 18.04 LTS または Ubuntu 19.10からアップグレードすることができます。
  • アップグレードを行う前に、現在のバージョンの Ubuntu ですべてのアップデートがインストールされていることを確認してください。

デスクトップ環境でのアップグレード手順は次のとおりです:

  • システム設定から「ソフトウェアとアップデート」を開きます。(Ubuntu 19.10であればアプリケーションの一覧から「ソフトウェアとアップデート」を選択します)
  • 3番目の「アップデート」と書かれたタブを選択します。
  • 「Ubuntu の新バージョンの通知」のドロップダウンメニューを Ubuntu 18.04 LTS であれば「長期サポート(LTS)版」に、Ubuntu 19.10 であれば「すべての新バージョン」にします。
  • Alt + F2 を押してコマンドボックスに "update-manager -c -d" と入力します(ダブルクオーテーションは付けません。)。
  • 「ソフトウェアの更新」が開いて、次のように表示されるはずです: 「Ubuntu 20.04 が入手可能です」
    • 表示されない場合、 "/usr/lib/ubuntu-release-upgrader/check-new-release-gtk" も使用できます。
  • 「アップグレード」を押し、画面に表示される指示に従います。

サーバー環境でアップグレードするには、次の手順を用います:

  • update-manager-core をインストールしていない場合はインストールします。

  • /etc/update-manager/release-upgrades の Prompt 行が LTSでないアップグレードも必要な場合は 'normal' を、LTSのアップグレードが必要な場合は 'lts' に設定されていることを確認します。

  • do-release-upgrade -d のコマンドでアップグレードツールを起動します。

  • 画面に表示される指示に従います。

注意:サーバーのアップグレードでは GNU screen を使用しており、通信が切断されてしまった場合などでも自動的に再アタッチします。

Ubuntu デスクトップおよび Ubuntu サーバーのオフラインでのアップグレードオプションはありません。公式ミラーや、各地の接続可能なミラーのいずれかにネットワーク接続できることを確認して、上記の指示に従ってください。

i386 環境でのアップグレード

i386 アーキテクチャーのユーザーは、 Ubuntu 20.04 LTS へアップグレードできません。また、ホストアーキテクチャーとしての i386 のサポートは 19.10 で廃止されました。

20.04 LTS の新機能

アップデートされたパッケージ

Ubuntu 20.04 LTSには、すべてのUbuntuリリースでフリーソフトウェアコミュニティによって開発された、最新かつ最高のソフトウェアセレクションが付属しています。

Linux カーネル

Ubuntu 20.04 LTS はLinuxの長期サポートリリースである 5.4 がベースとなっています。 5.3からの5.4への注目すべき機能と拡張には以下のものが含まれています:

  • IntelのComet Lake CPUや初期のTiger Lakeプラットフォーム、Qualcomm Snapdragon 835 と 855 のSoC、AMD Navi 12 と 14 GPU、Navi 12、Navi 12とArcturus電源の機能を含んだArcturus と Renoir APUの新しいハードウェアのサポート。
  • exFATファイルシステム、仮想化ゲストとファイルシステムを共有するためのvirtio-fs、およびファイルの変更を検出するためのfs-veritのサポートの追加。
  • WireGuard VPNの組み込みサポート

  • 整合性モード(integrity)でのロックダウン機構を有効化。

18.04 LTSでリリースされたバージョン 4.15 から 5.2 への注目すべきカーネルの更新には以下のものが含まれています:

  • AMD Rome CPU、Radeon RX Vega M と Navi GPU、Qualcomm Snapdragon 845 と other ARM SoC、Intel Cannon Lake プラットフォームのサポート。
  • Raspberry piのサポート (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B)
  • 消費電力の大幅な改善。
  • 多くのUSB 3.2およびType-Cの改善
  • 新しいマウントAPI、io_uringインターフェース、KVMによるAMD Secure Encrypted Virtualizationサポート、pidfdサポート。
  • 多くのアーキテクチャでデフォルトのカーネル圧縮アルゴリズムをlz4(Ubuntu 19.10 から)に変更、また、すべてのアーキテクチャでinitramfsの圧縮アルゴリズムをlz4に変更したことによる起動速度の改善。

ツールチェインの更新 🛠️

Ubuntu 20.04 LTS は、glibc 2.31、☕ OpenJDK 11、rustc 1.41、GCC 9.3、🐍 Python 3.8.2、💎 ruby 2.7.0、php 7.4、🐪 perl 5.30、golang 1.13の新しいアップストリームリリースを含む、最先端のツールチェーンに更新されています。

Ubuntu デスクトップ

ネットワーク設定

このUbuntuのリリースでは、netplan.ioの以下の複数の新しい機能が進化しました:

  • SR-IOVネットワークデバイス設定の基本サポート。netplan.io 0.99から始まり、ユーザーは、SR-IOV物理機能毎に対し仮想機能を宣言し、それらを他のネットワーキングデバイスとして構成し、そこにハードウェアVLAN VFフィルタリングを設定できます。
  • modemsセクションを介した、NetworkManagerバックエンドによるGSMモデムのサポート。

  • bssid/band/channel 設定用のWiFiフラグの追加。

  • NetworkManagerバックエンドに ipv6-address-generation 、networkdに emit-lldp を設定する機能の追加。

ストレージ/ファイルシステム

ZFS 0.8.3

Eoanのリリースから開始した継続的取り組みにより、Ubuntu Focalではzfs 0.8.3を送り出します。以前のLTSリリースで利用可能であったものと比較して、zfs 0.8は多くの新機能をもたらします。 ハイライトは以下のとおりです:

以前のLTSリリースで利用可能であったものと比較して、zfs 0.8は多くの新機能をもたらします。 ハイライトは以下のとおりです:

  • ネイティブな暗号化(Focalにおいてハードウェアアクセラレーションを有効にした場合)
  • ストレージプールからのデバイスの削除(Device removal)
  • プール構成下のTRIM
  • シーケンシャルなスクラブとresilver(パフォーマンスの向上)

アップストリームの 0.8.0 リリースノート: https://github.com/openzfs/zfs/releases/tag/zfs-0.8.0

さらなる詳細は0.8.10.8.20.8.3で確認することもできます。

18.04 LTSからのその他のベースシステムの変更

Python3がデフォルトになりました

20.04 LTSでは、ベースシステムに含まれる「python」はPython 3.8になりました。Python 2.7はuniverseに移動し、新規インストールでもデフォルトで含まれなくなりました。

Python 2.7を必要とするUbuntuの残りのパッケージは、/usr/bin/python2を自身のインタプリターとして使用するよう更新され、新規インストールでは /usr/bin/python は存在しなくなりました。過去のリリースからのシステムアップグレードでは、互換性のため /usr/bin/python を引き続いて python2 を指定するようになっています。新規インストールしたシステムで互換性のために /usr/bin/python を必要とするユーザーは、 python3 の代わりに /usr/bin/python を指定する python-is-python3 をインストールすることをおすすめします。

Snap Store

Snap Store(snap-store)はubuntu-softwareから置き換わり、パッケージやsnapを見つけてインストールするためのデフォルトのツールになりました。

Ubuntu Server

インストーラー

ライブサーバーインストーラーはすべてのアーキテクチャー向けのUbuntu Serverをインストールするための推奨されるメディアになりました。

アーキテクチャサポートの他、ユーザーに目に見える主な新機能は、自動インストールのサポートや、ブートローダーを複数のディスクにインストールを可能にしました(システムの回復力を高めるため)。

より簡単な暗号化の利用や、マルチパスディスクへのインストールをより適切なサポート、さまざまな方法で使用されているディスクへのより信頼性の高いインストール、障害をより便利に報告できるようにするなど、他の多くの修正が入念に行われました。

QEMU

QEMUは4.2リリースにアップデートされました。 個別の変更点を取り上げて紹介するにはあまりにも難しい分量のため、ここではほんのいくつかを紹介します:

  • マイグレーションの速度向上を可能にする、未使用のページのマイグレーションを避けるためのvirtio-balloonを利用したフリーページヒンティング
  • PowerPC: VFIO PCIを利用したspapr向けのNVIDIA V100 GPU/NVLink2パススルー
  • LUKSバックエンド向けの多くの速度向上
  • pmem/nvdimmサポート
  • ...

これによる、Ubuntu 19.10以降の主な変更点については、完全な変更履歴である4.2および4.1を参照してください。

Ubuntu 18.04からアップグレードする方向けには4.03.13.02.12を確認できます。

アップグレードする場合は、ゲストが最新バージョンのすべての改善点や修正を十分に活用できるよう、マシンタイプをアップグレードすることを常におすすめします。

19.10からのアップグレード

分離したユースケースのような、削減されたコンテナー向けに新しいQEMUはmicrovmマシンタイプを持ち、qboot ROM( bios-microvm.binとして利用可能)と組み合わせて、起動時間を大幅に短縮し機能セットを削減します。さらに強調するため、qboot ROMによって提案されたこれらのユースケースで不要なすべての機能を取り除いた、代替QEMUバイナリを提供するパッケージ qemu-system-x86-microvm を使うことができます。

VMXに関連する機能は、VMXのオン/オフの代わりに個別に制御できるようになりました。 このため、特定のCPUタイプにおけるVMXのサブ機能がわずかに変更されている可能性があります(基本的なハードウェアに依存してほぼランダムにではなく、選択したCPUタイプと一致するようになりました)。一般的に(常にそうだったように)、ゲストを定義するときは明確に定義されたCPUタイプを使用することを推奨します。これは、virt-managerからopenstackまでのほとんどすべての高レベルな管理ツールが行っているでしょう。 しかし、最も汎用的で互換性のあるCPUが必要だがVMXも有効にする場合、qemu64 ではなく kvm64 タイプを使用してください。

nvdimmsと永続メモリで作業や実験をしたい人は、Ubuntu Focal FossaでQEMUはpmemnvdimmのサポートが有効になりました。

18.04からのアップグレード

QEMUでvirglrendererが有効になり、QEMU仮想マシン内で仮想3D GPUを作成できるようになりました。これはGPUパススルーより劣りますが、使用するプラットフォームに従来のPCIパススルーや、最新のVFIOを介したデバイスの機能がない場合には便利です。

グラフィカルなQEMUバックエンドはSDLかGTKベースになりました。デスクトップとの統合がよりよくなり、より早くなるでしょう。

libvirt

libvirtはバージョン6.0に更新されました。 Ubuntu 19.04で含まれていたバージョン5.6以降、またはUbuntu 18.04で含まれていたバージョン4.0以降の詳細は、アップストリームの変更履歴を参照してください。

19.10からのアップグレード

多くの改善の中で、言及すべき価値がある機能は以下になります:

  • NVMeディスクに直接アクセスすることで、マイグレーションをサポートし速度重視のセットアップが可能になりました。
  • 仲介されたGPUデバイスをブートディスプレイとしてサポートするようになりました。
  • kvm-hint-dedicatedのパフォーマンスヒントをサポートし、ゲストが専用のvCPUで実行しているときに最適化を有効にできるようになりました。
  • ...より詳細な内容は、上記にある詳細な変更履歴を参照してください

18.04からのアップグレード

言及する価値があるのは、libvirtがマイグレーション用の並行接続を使用するQEMUの機能を有効にできるようになり、ネットワークがまだ飽和状態でなければマイグレーションを加速できるようになりました。

管理者は、libvirt-qemuプロファイルへの新しいlocal include apparmorの使いやすさを好むかもしれません。設定に一致する特別なデバイスやパスをへのオーバーライドが可能になり、アップグレード後に管理すべき必要がある設定ファイルへの差分がなくなります。

ゲストごとに生成されたカスタムのapparmorプロファイルによって、保護されたままGL対応のグラフィックスと仲介するデバイスを構成する機能を追加しました。 これは、qemuセクションで述べたVirGLと同じく、GPUベースの仲介デバイスを使用するために必要です。

dpdk

Ubuntu 20.04 LTSには、最新のLTSシリーズである19.11.x系の最新の安定版リリースである19.11.1が含まれます。

ごく最近リリースされた(安定版ではない)バージョンである20.02は現状、下流にあるプロジェクトでは採用されておらず(例:Open vSwitch)、これらとの互換性がありません。

19.11のドキュメントを確認し、19.11.1リリースノートで詳細を確認してください。

18.04からのアップグレード

DPDKの依存関係は、一定の範囲でよりテストされた・一般的なコンポーネントに再編されています。

DPDKの典型的なインストール環境において、これまでよりも少ないインストール容量と、おそらくより少ないコード変更で済む状態になっています。

Open vSwitch

Open vSwitchは2.13に更新されました。

詳細は、2.13リリースノートを確認してください。

18.04からのアップグレードを行う場合、以下それぞれのリリースノートも確認してください。

Chrony

Chronyはバージョン3.5に更新されました。このバージョンは正確さと制御について、多くの修正を含んでいます。くわえて、x86以外のアーキテクチャにおいて、システムコールの呼び出し時にシステムコールフィルタを有効にし、アーキテクチャに適した分離を提供します。

また、ハードウェアクロックをChronyに取り込むためのパッケージであるGPSDを完全にサポートするようになりました。

とはいえ、単純な時刻同期だけを目的として、ベースシステムはsystemd-timesyncdを利用しています。Chronyは、タイムサーバーとして動作する場合と、より正確で効率のよい時刻同期を要求する場合にのみ必要になるでしょう。

cloud-init

Cloud-initはバージョン20.1-10に更新されました。重要な機能は次の通りです。

Cloud platform features

  • 新しいdatasourceの検知と対応: e24cloud, Exoscale, Zstack
  • Azure dhcp6のサポート。cc_disk_setupのランタイムエラーと、誤ってバイトオーダーが逆転しているinstance-idに対応しています。
  • EC2: IPv4・IPv6ネットワークを全てのNICで設定可能に。また、IMDSv2のセッションベースAPIトークンに対応し、セカンダリIPを固定的に割り当てるように変更されています。
  • Scaleway: unsetを行う場合のDatasourceScalewayネットワーク設定に対応しました。

  • LRU cache frequentlyを利用しているユーティリティにおいて、性能を向上しました。
  • python2サポートを除去しました。

ネットワーク機能

  • netplanの優先。/etc/network/interfacesと同時に利用されている場合も、netplanが優先されるようになりました。
  • ネットワーク設定をinitramfsから読み取るようになりました。
  • net: network-config:disabled指定をカーネルコマンドラインでサポートします。
  • 物理ネットワークタイプとして、type: cascadingをOpenStack Helpersでサポートします。

  • net/cmdline: 固定的なip=設定を正しくハンドリングするようになりました。

コンフィグモジュール機能

  • distros: ミラーURLラベルから、先頭/末尾にあるハイフンを除去するようになりました。
  • cc_disk_setup: swapファイルシステムを強制するフラグをサポートします。
  • coud-init queryは、merged_cfgとsystem_info辞書がJinja templated cloud-config上で用いられる場合、アクセスを制御するようになりました(series, platformから生成されている場合)。
  • SystemRandomをランダムパスワード生成時に利用するようになりました。

PHP 7.4

PHP 7.4に更新されます。7.4では、型付きプロパティ、アロー関数、弱参照、配列内での値のアンパックといった新しい機能が提供されます。より詳しい新機能や機能強化については、PHP 7.4 Release Announcementを参照してください。

また、deprecateされた機能や、それらの推奨される代替については、PHP 7.4 Deprecated Featuresページを参照してください。 Migration guides to 7.4 from 7.3や、それ以前のバージョンからの移行ガイドはPHP Manualにあります。Ubuntu 18.04ユーザーはPHP 7.2から7.4への移行を行うことになるため、Migration guides to 7.3 from 7.2も参照してください。

Ruby 2.7

デフォルトのRubyインタープリタは2.7に更新されます。このバージョンにはPattern Matching、REPL improvement、Compaction GC、キーワード引数を通常の引数から分離といった、いくつかの素晴らしい機能と強化が含まれます。全体的な強化とその詳細については、Ruby 2.7 Release Announcementを確認してください。

以前のリリースのUbuntu(18.04)からアップグレードしたユーザーは、Ruby 2.5から2.7へ移行を行うことになります。この場合は、Ruby 2.6 Release Announcementも役に立つでしょう。心に留めておくべき重要な点としては、いくつかのライブラリがRuby本体に同梱されなくなっていることです。以下が必要な場合は、個別にインストールしてください。

  • CMath
  • Scanf
  • Shell
  • Synchronizer (ruby-sync)
  • ThreadsWait (ruby-thwait)

  • E2MM (ruby-e2mmap)

あわせて、blog postを参照してください。

Ruby on Rails 5.2.3

Ruby on Railsはバージョン5.2.3に更新されます。Ubuntu 18.04を利用していたユーザーは、メジャーバージョン更新である4.2.10から5.2.3へ移行することになります。注目する点は、Action Cableフレームワークの追加、APIだけに特化したスリムダウンされたRails、Active Recordのattributes APIなどがあげられます。Rails 5のリリースノートや、5.2のリリースノートを参照してください。

Ruby on Railsアプリケーションを更新する場合、upstreamの提供するアップグレードガイドを参照してください。

Ubuntu HA/Clustering

Kronosnet

kronosnet(もしくは短縮形のknet)は、Linux HAコンポーネント(corosync)の新しい基底ネットワークプロトコルです。機能としてノード間を複数のリンクで接続したり、active/active・active/passiveリンクフェイルオーバーの実現や自動的なリンクの回復、FIPS compliantな暗号化(NSS and/or OpenSSL)、自動的なPMTUdと、旧来のネットワークプロトコルよりも高い性能を持ちます。

主な新機能:

  • 最大で8リンクまでを動的に、corosyncの再起動なしで再構成可能
  • MTU自動設定
  • NSS or OpenSSLによるパケット暗号化
  • 圧縮
  • 高スループットと低レイテンシ
  • RDMAのサポートとUpstart対応の廃止

Corosync

Corosync 3のリリースノートより:

Corosync 3.0には、Kronosnet ( https://kronosnet.org/ ) を利用するためのものを中心に、多くの興味を引く設定が追加されています。また、デフォルトの(そして優先される)ネットワーク伝送系となっています。

Pacemaker

Pacemaker 2.0のリリースノートより:

2.0リリースにおける主なゴールは、deprecatedな記法のサポートを終了することでした。いくつかの小さなデフォルト設定の変更が行われ、デフォルト動作とツールの挙動が変化しています。ハイライト:Corosyncバージョン2とそれ以降のみがクラスタレイヤの基底として利用できます。HeartbeatとCorosync 1(CMANを含む)サポートは除去されました。

Pacemakerのバージョン1.1.11以前からのローリングアップグレードは行えません。これは基底となるクラスタスタックがcorosync 2やそれ以降の場合でも同様です。これ以外のローリングアップデートは、より新しいバージョンがcorosync 2やそれ以降のバージョン上に構成されている場合、通常、ごくわずかな変更や無変更で利用できます。

Resource Agents

Cluster Resource Agents (RAs)は、Pacemaker resource managerによって管理されるHigh Availability環境の各種サービスへのインターフェースとして用いられるOpen Cluster Framework (OCF)仕様に準拠しています。

Changelog:

Fence Agents

Fence Agentsは、各種デバイスの電源制御を行うスクリプトのコレクションです。これらは、機能不全を起こした、あるいはネットワーク的に普通になったノードを強制的に再起動したり、クラスタから除去するために用いられます。

keepalived

LVSクラスタにおいて、フェイルオーバーとモニタリングを行うデーモンです。Linux Virtual Server (LVS)を動作させる実サーバーのモニタリングに用いられます。LVSが動作を停止した場合、クラスタプールから実サーバーを除去し、また通知メールを送付することで管理者にサービス異常を検知させることができます。

isc-kea 1.6 安定バージョントラック

Universeにあるパッケージではあるものの、isc-keaは今後が期待される新しいDHCPサーバーです。Bindやisc-dhcpと同じ組織から提供されているものです。Focalにおいては、これを1.6.xの安定バージョンシリーズに変更しました。

Upstreamの1.6.0のリリースノート: https://downloads.isc.org/isc/kea/1.6.0/Kea160ReleaseNotes.txt

Upstreamの1.6.2のリリースノート(Focalの現バージョン): https://downloads.isc.org/isc/kea/1.6.2/Kea162ReleaseNotes.txt

Bind 9.16

Bindはupstreamの新しい安定版(9.16.x)に更新されています。

重要なパッケージの変更点としては:

  • -dev パッケージは現状では提供されません。upstreamの問題により、ライブラリとして利用することが難しいためです。https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/3089#note_111299 でこの問題に関する議論が確認できます。Debianではシンプルに dev パッケージを追加しており(2020-04-16)、UbuntuでもSRUとしてこれに追従する予定です。https://bugs.debian.org/954906

  • bind-libs 9.11.x パッケージ: 9.16バージョンをまだ利用しないソフトウェアプロジェクトに使われます(例:isc-dhcp)。
  • bind-dyndb-ldapは、まだbind9 9.16.xでは利用されません。
  • レガシーgeoipサポートは削除され、geoip2で代替されます。(libmaxminddb)

Upstreamのbind9 9.16.0に関するblog post: https://www.isc.org/blogs/bind9.16.0_released/

より詳細なリリースノート: https://downloads.isc.org/isc/bind9/9.16.0/RELEASE-NOTES-bind-9.16.0.html

bind9のこのリリースまでの累積的な変更点のプレゼンテーション: https://youtu.be/5math9Oy97s?t=46

U2Fサポートを含むOpenSSHのアップデート

OpenSSH 8.2は、U2F/FIDOハードウェアデバイスのサポートを追加し、ハードウェアベースの2要素認証を簡単にました。これは以下のように簡単です:

# デバイスを差し込み以下のようにします:
$ ssh-keygen -t ecdsa-sk
Generating public/private ecdsa-sk key pair.
You may need to touch your authenticator to authorize key generation. <-- デバイスにタッチする
Enter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_sk
Your public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pub
The key fingerprint is:
SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal

公開鍵の部分をサーバーの ~/.ssh/authorized_keys に転記すれば準備完了です:

$ ssh -i .ssh/id_ecdsa_sk ubuntu@focal.server
Confirm user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- デバイスにタッチする
Welcome to Ubuntu Focal Fossa (development branch) (GNU/Linux 5.4.0-21-generic x86_64)
(...)
ubuntu@focal.server:~$
  • Warning /!\ ユーザーの存在確認を求めるプロンプトが表示されない場合は、次の影響を受けている場合があります

    • - block-discoverによるマルチパス検出のサポート - vmtestによるppc64leおよびarm64アーキテクチャのサポートの追加

DebianにおけるOpenSSH 8.2のアップストリーム開発で、設定ファイルに'Includes'キーワードのサポートが追加]されました。 これは、glob(3)パターン経由で追加の設定ファイルを含めることができます。 デフォルトではシステムのsshd構成(/etc/ssh/sshd_config)に/etc/ssh/sshd_config.d/*.conf配下のファイルが含まれるようになりました。設定ファイルのキーワードごとに、最初に取得した値が利用されます。これはさまざまなクラウドイメージで使用され、パッケージのアップグレード時にdebconfプロンプトを回避しながら、クラウド固有のチューニングを適用できます。

sshdの効果的な設定は、'sudo sshd -T' を実行することで検証できます。 これにより、複数の設定ファイルが読み取られて検証し、終了前に有効な設定が出力されます。

さらなる詳細は、アップストリームのリリースノートを参照してください: https://www.openssh.com/txt/release-8.2

HAProxy 2.0

Ubuntu Eoan 19.10で最初に導入されたHAProxyは、FocalではアップストリームのLTS 2.0ブランチに追従しています。このシリーズには、以前の 1.8 安定版ブランチと比較して多くの新機能があり、すべてこのブログの投稿で詳しく説明されています: https://www.haproxy.com/blog/haproxy-2-0-and-beyond/

Apache、TLSv1.3、クライアント証明書認証

ApacheはTLSv1.3サポートを組み込んでおり、サーバー設定によっては、クライアントが証明書認証を実行してPost Handshake Authentication(PHA)をサポートする必要がある場合があります。すべてのTLSv1.3対応のクライアントがPHAを実行できるわけではなく失敗する場合もあります。このエラーが生じる前兆として、Apacheのサーバーログに以下のメッセージが出力されます: :

AH: verify client post handshake
AH10158: cannot perform post-handshake authentication
SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received

この場合、PHAをサポートするために更新されたクライアントバージョンがない場合は、影響を受けるクライアントでTLSv1.3を無効にすることを推奨します。

Chromiumのバグ: https://bugs.chromium.org/p/chromium/issues/detail?id=911653

Firefoxのバグ: https://bugzilla.mozilla.org/show_bug.cgi?id=1511989 (fixed, can be enabled by toggling security.tls.enable_post_handshake_auth)

"python httplib should enable post-handshake authentication for TLS 1.3" (pythonのイシュートラッキング): https://bugs.python.org/issue37440

Samba 4.11

Sambaのバージョンは4.11.xになりました。多くの変更が加えられていますが、特筆すべきは以下の点です:

  • SMB1はデフォルトで無効になりました。SMB1を有効にしたい場合は/etc/samba/smb.confを変更してください。

  • python2はサポートされなくなりました。

Samba 4.11.0の詳細なリリースノートはこちらを参照してください: https://www.samba.org/samba/history/samba-4.11.0.html

PostgreSQL 12

PostgreSQLのバージョンはpostgresql-12になりました。これには多くの改善が含まれています:

  • 特に大規模なデータセットにおける、クエリパフォーマンスが改善されました。
  • SQL/JSONパス式がサポートされました。
  • generated columnsがサポートされました。
  • pluggable table storage interfaceがサポートされました。

アップストリームのリリースアナウンスはこちらを参照してください: https://www.postgresql.org/about/news/1976/

アップストリームのリリースノートはこちらを参照してください: https://www.postgresql.org/docs/12/release-12.html

nginx

Focal Fossaから、nginx-coreはレガシーであるgioipモジュールをデフォルトで含まれなくなりました。もし、nginxでレガシーなgeoipモジュールを利用している場合、設定でgeoipモジュールを非アクティブ化しないと、アップグレードで問題が発生する可能性があります。これはGeoIPのレガシーサポート廃止の一環として行われました。

以下に直面しうる、いくつかのシナリオを挙げます:

  • nginx-coreがデフォルトでlibnginx-mod-http-geoipの依存をやめたため、"apt autoremove"はlibnginx-mod-http-geoipの削除を提案する可能性があります。これが発生し、geoipの設定ディレクティブがある場合、nginxが再起動に失敗します。設定ディレクティブが異なるため、libnginx-mod-http-geoipをlibnginx-mod-http-geoip2に置き換えた場合もまた、この問題が発生することに注意してください。
  • 誰かが、nginx-codeとlibnginx-mod-http-geoipをインストールし、mainセクションで有効にしてからFocalへリリースアップグレードを行った場合、libnginx-mod-http-geoipはfocal/universeにあるため更新されません。

Squid 4.x

以前の Ubuntu 18.04 LTS からアップグレードする場合、Squidプロキシキャッシュはバージョン4になります。他の変更の中でも、カスタムログ形式を使用した場合に組み込みフォーマットの再定義が機能しないことに注意してください。 (upstream bug: https://bugs.squid-cache.org/show_bug.cgi?id=4905)

例えば、以下のようにタイムスタンプを変更するために squid ログフォーマットを再定義している場合:

logformat squid  %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt

以下のように他の名前を使用して、それを利用するように指定しなければいけません:

logformat custom-squid  %tg{%F %H:%M:%S %z} %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
access_log daemon:/var/log/squid/access.log custom-squid

s390x

IBM ZとLinuxONEにおける、s390x固有の機能強化が19.10から行われています(部分的に、s390xに限らない要素があります):

  • Ubuntu Server 20.04 LTSから、Architectural Level Setをz13に変更しました(1836907)。これには大きな効果があり、Ubuntu Server for s390xは、z13ハードウェアで導入された機能強化と新しい命令セットを利用できるようになります。また、zEC12/zBC12サポートは終了となります。最低ハードウェア要件はIBM z13、LinuxONE Rockhopper (I)、LinuxONE Emperor (I)となります。

  • Secure Execution環境として、Trusted Execution Environment (TEE) for IBM Z and LinuxONEがサポートされます。これには、kernel (1835531)、qemu (1835546)、s390-tools (1834534)への変更が含まれます。この機能は、IBM z15とLinuxONE IIIでのみ利用できます。Secure Execution(upstreamでは 'protected virtualization'、'protvirt'と呼ばれます)ワークロードは、仮想化環境を完全に隔離し、内部・外部からの脅威から保護できます。ハードウェア支援付の鍵管理を用いた暗号化がゲストメモリに提供されます。

  • ツールチェインはgcc 9.3に更新されました。(1862342) を始めとする複数の更新が含まれており、gdb 9.1 (1825344)、最新のs390xハードウェアサポートを含むLLVM v10への更新(1853145)のような更新や、最新のs390xハードウェア拡張への対応(1853269)が含まれます。

  • KVM仮想化スタックはqemu 4.2とlibvirt 6.0に更新されました。CPUモデル確認と最低ファンクションの確認の有効化(1853315)、CCW IPLサポートのQEMUへの追加(1853316)、libvirt(1853317)、加えて多くの修正(たとえば(1861125), (1867109) and (1866207))が行われています。くわえて、KVMのcrypto pass-through が追加されました((1852737), (1852738), (1852744))。

  • CEX7S暗号化支援ハードウェアのサポート((1853304), (1856831))が追加されました。同様に、CPACF MSA 6のSHA3のカーネル内暗号化サポート(1853105)と、多くのCPACF暗号化コプロセッサの(多くはアセンブリベースの)最適化と修正がOpenSSLに行われました((1853150), (1853312))。これはECDSAに限定されるものではありません。

  • パフォーマンステストが示すように(1868113)、'Striding RQ'(IBM z14 and LinuxONE Rockhopper II / Emperor II以降で利用できるRoCE Express 2または2.1 PCIe cards (ConnectX-4)が前提)を利用することで性能上のメリットがありますが、デフォルトでは利用されません。RoCE 2または2.1ハードウェアが搭載されているシステムにおいては、'Striding RQ'の利用を行うことを検討するべきです。コマンドは 'ethtool --set-priv-flags <ifname> rx_striding_rq on' です。起動時に自動的に機能するように設定する場合は、サービスを作成するか、udev-ruleを準備することを検討してください。

OpenStack Ussuri

Ubuntu 20.04 LTSには、最新のOpenStackリリースであるUssuriがプレビュー版(最終的なリリースは20.04.1 LTS)として含まれており、以下のコンポーネントが含まれています:

  • OpenStack Identity - Keystone

  • OpenStack Imaging - Glance

  • OpenStack Block Storage - Cinder

  • OpenStack Compute - Nova

  • OpenStack Networking - Neutron

  • OpenStack Telemetry - Ceilometer, Aodh, Gnocchi, and Panko

  • OpenStack Orchestration - Heat

  • OpenStack Dashboard - Horizon

  • OpenStack Object Storage - Swift

  • OpenStack DNS - Designate

  • OpenStack Bare-metal - Ironic

  • OpenStack Filesystem - Manila

  • OpenStack Key Manager - Barbican

  • OpenStack Load Balancer - Octavia

  • OpenStack Instance HA - Masakari

OpenStackのこのリリースにおける全ての詳細は、OpenStack Ussuri リリースノートを参照してください。

OpenStack UssuriはUbuntu 18.04 LTSユーザー向けにUbuntu Cloud Archive経由でも提供されます。

警告: OpenStackデプロイメントをアップグレードすることは重要なプロセスであり、各OpenStackデプロイメント固有のアップグレード手順を計画し、テストを行うよう注意する必要があります。

Jujuを使用してUbuntu OpenStackをデプロイする方法の詳細な情報は、OpenStack Charm リリースノートを必ずお読みください。

Ceph

Cephは「Ceph Octopus」である15.2.1リリースに更新されました。このリリースのすべての詳細はCeph Octopusリリースノートを参照してください。

このCephのリリースは、Ubuntu 18.04 LTSユーザー向けにOpenStack Ussuriで利用するためにUbuntu Cloud Archive経由でも提供されます。

クラウドイメージ ☁

Amazon Web Services (AWS)

  • Amazonマシンイメージ(AMI)には、ec2-instance-connectパッケージがインストールされ、デフォルトで有効になっています。AWS Instance Connectは、AWS Identity and Access Management(IAM)ポリシーとプリンシパルを使用して、インスタンスへのSSHアクセスをコントロールできます。

Google Compute Engine

  • /etc/ssh/sshd_configに書き込まれていた、既存のsshdの設定に対する変更は、/etc/ssh/sshd_config.d/50-cloudimg-settings.confに分離されました。詳しくは上記のU2Fサポートを含むOpenSSHのアップデートを参照してください。

Microsoft Azure

  • Azureインスタンスは時刻同期にchronyを使用しています。また、Azureによってホストされている高精度なStratum 1デバイスと同期するように、デフォルトで設定されています。より詳細な情報は Time sync for Linux VMs in Azure を参照してください。

  • /etc/ssh/sshd_configに書き込まれていた、既存のsshdの設定に対する変更は、/etc/ssh/sshd_config.d/50-cloudimg-settings.confに分離されました。詳しくは上記のU2Fサポートを含むOpenSSHのアップデートを参照してください。

Vagrant

  • Vagrant boxのディスクサイズは10GBから40GBになりました。 (LP: #1580596)

Raspberry Pi

Ubuntu 19.10以降、Raspberry Pi向けの32ビット及び64bitのプリインストールイメージ(raspiに改名されました)は、Raspberry Pi 4プラットフォームをサポートしています。これにより、Raspberry Piファミリーにおける現代的なデバイスのほぼすべて(Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B)がサポートされています。

既知の問題

予想される通り、あらゆるリリースと同じように、今回のUbuntu 20.04 LTSのリリースにもユーザーが陥りそうな重大な既知の不具合がいくつか存在します。現時点で判明している不具合(およびいくつかの回避策)をここに記録しておきます。これらの不具合については、再度報告する必要はありません。

インストーラーとライブセッション

  • nVidiaグラフィックカードが搭載されたシステムではオープンソースのビデオドライバーである 'nouveau' がデフォルトでライブセッションとして起動します。一部のハードウェアでは、このドライバーがクラッシュしてインストーラーのグラフィカルセッションがフリーズする可能性があります。もし発生した場合は、ブートメニューで'Safe graphics mode'のエントリーを選択します。次に、インストーラーの'Preparing to install ...'のページで'Install third party software ...'を選択して続行します。このオプションは、nVidiaのプロプライエタリドライバーをターゲットとするシステムにインストールします。インストールすると、カードのプロプライエタリドライバーが読み込まれ、グラフィカルセッションは最適化されたドライバーで適切に動作します。 (1822026) (1871562)

  • Ubuntuはデフォルトでライブセッションを起動するときに、使用中のメディアの整合性をチェックするようになりました。 これはCtrl-Cを押すことでスキップできますが、バグのためこのキーを押すように指示するメッセージが一部のフレーバーに表示されません。 (bug 1870018)

  • サードパーティドライバーのインストールを選択すると、次のステップが利用可能になるまでに長い時間がかかる場合があります。 (bug 1824905)

  • Broadcom製の一部の無線LANカードでは、インストールプロセス中にサードパーティソフトウェアをインストールすることを選択すると、Wi-Fiが切断されます。 (bug 1867465)

Desktop

  • NVIDIAのプロプライエタリドライバーでは、任意倍率のスケーリングが動作しません。 (bug 1870736, bug 1873403)

  • NVIDIAのプロプライエタリドライバーでは、自動ログインが動作しません。 (bug 1845801)

  • アップグレード後、設定内のオーディオデバイスの選択が無視されることがあります。 (bug 1866194)

  • ZFSのインストールで二番目のドライブ上に bpool または rpool と名前付けされたpoolが存在する場合、起動が失敗します。 (bug 1867007)

  • データベースフォーマットの変更により、fprintdは保存していたすべての指紋情報を削除します。ログインするための他の仕組み(パスワードログインなど)があるかを確認してください。(http://launchpad.net/bugs/1865824

Raspberry Pi

  • Raspberry Pi 4のPimoroni Fan Shimは、GPIOヘッダーのシリアルコンソールピンを再利用してRGB LEDを制御しています。その結果、シリアルのライン上にu-boot起動中に停止してしまう「ノイズ」が発生します(キーが押されたと見なされるため)。enable_uart = 0/boot/firmware/syscfg.txtに追加すると、シリアルコンソールが無効となり起動シーケンスを進めることが可能になります。 (bug 1873520)


公式フレーバー

公式フレーバーの各リリースノートは、以下のリンクで参照できます:


より詳しい情報

バグレポート

あなたのコメントやバグレポート、レポートへのコメント・パッチの投稿・提案は、バグの修正や将来のリリース品質の改善につながります。ツールを用いてバグを報告してください

バグの修正を通じて貢献したいのであれば、Bug Squadページが役に立つでしょう。

Ubuntuに参加するには

Ubuntuを支援したいのであれば、以下の支援できる方法の一覧に目を通してみてください。

Ubuntuに関して

Ubuntuに関するより詳しい情報は、UbuntuのWebサイトUbuntu wikiを確認してください。

Ubuntuの開発に関するアナウンスを受け取るには、Ubuntu開発アナウンスメーリングリストを購読してください。

FocalFossa/ReleaseNotes/Ja (last edited 2021-01-16 07:30:05 by cosmos-door)