Ja

イントロダクション

このリリースノートには、Ubuntu 20.04 LTS (Focal Fossa) のリリース概要と Ubuntu 20.04 LTS とそのフレーバーに関する既知の不具合を記述しています。20.04から適用された変更の詳細については、20.04.1 変更の概要(英語)を確認できます。同様に20.04のリリースノートも確認できます(訳注:原文も現在は同じページにリダイレクトしています)。

サポート期間

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

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

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

Ubuntu 20.04.1 LTS を入手する

Ubuntu 20.04.1 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 19.10 であれば「すべての新バージョン」に、Ubuntu 18.04 LTS であれば「長期サポート(LTS)版」にします。
  • Alt + F2 を押してコマンドボックスに Ubuntu 19.10 であれば "update-manager -c" と、 Ubuntu 18.04 LTS であれば "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 行が19.10の場合は 'normal' を、18.04 LTSの場合は 'lts' に設定されていることを確認します。

  • 19.10であればsudo do-release-upgrade を、18.04 LTSであればsudo do-release-upgrade -d のコマンドでアップグレードツールを起動します。

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

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

20.04 LTSのポイントポイントリリース後からアップグレードが有効となるため、Ubuntu 18.04 LTSでは-dのスイッチが必要になります。

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プラットフォーム、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 をインストールすることをおすすめします。

この移行のため、レガシーのpythonおよびpython-minimalパッケージはアップグレード中に削除され、python-is-python2パッケージの依存関係があるpython2python2-minimalパッケージに置き換えられます。

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ベースの仲介デバイスを使用するために必要です。

libvirt-binの移行 -> libvirt-clients / libvirt-daemon / libvirt-daemon-system

Ubuntu 18.04 において、単体のモノリシックなパッケージであったlibvirt-binから、以下の3つのメインコンポーネントに分割されました:

  • libvirt-daemon-system - 設定とsystemdのサービスファイル群によるデーモンのシステム統合(これは、古いlibvirt-bin最も似ているパッケージです)

  • libvirt-clients - virshのようなlibvirtに関連したcliツール群

  • libvirt-daemon - サービス群や設定を除いたlibvirtデーモンのみ

同様に、めったに使用されずサポートが少ないvirtualboxやxenコントロールなどのサブ機能、一般的でないストレージオプションが、さまざまなlibvirt-daemon-driver-*パッケージに分割されました。 これにより、インストール時の専有領域とインストール時の大部分のアクティブコードを削減できます。

パッケージとプロジェクトには十分な移行時間があったため、libvirt-daemon-system + libvirt-clientsを取り込む空の互換性パッケージであるlibvirt-binがついに削除されました。古い名前を参照しているスクリプトまたはサードパーティのコンポーネントがある場合は、上記のリストを使用して最も新しいパッケージを選択してください。

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のリリースにもユーザーが陥りそうな重大な既知の不具合がいくつか存在します。現時点で判明している不具合(およびいくつかの回避策)をここに記録しておきます。これらの不具合については、再度報告する必要はありません。

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

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

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

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

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

過去のリリースからのアップグレード時

  • Ubuntu 18.04 LTSにclang-6.0やpcl-opencl-icdがインストールされていた場合、Ubuntu 20.04へのアップグレードの準備段階で失敗します(bug 1886748)。clang-6.0やlibomp5を削除した上でアップグレードすることでこの問題を回避できます。

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)

  • 20.04.1以降では、HDMIは接続時にデフォルトで音声の出力をおこないます。強制的にヘッドフォンジャックへ出力するには、以下の内容を記載した'.asoundrc'ファイルをホームディレクトリに作成します:
    •     defaults.pcm.card 1
          defaults.ctl.card 1

日本語環境独自の記述

mozc-utils-guiがLiveセッションから削除されました

Ubuntu 19.04からmozc-utils-gui(「Mozcの設定」ソフトウェア)が公式版のLiveイメージから削除されました。これはmozc-utils-guiがQtに依存しているもののQtライブラリはすべてuniverseへと移行したことによる措置です。これにより公式版のLiveセッションとUbuntuのインストール直後はMozcから各種設定ツールを起動できません(日本語変換自体は可能です)。

mozc-utils-guiをインストールしたい場合は「システム設定」の「地域と言語」から「インストールされている言語の管理」を起動してください。有効化されている言語パックのうちインストールされていないパッケージが存在する場合は、その旨表示されますので画面の指示に従ってください。

経緯の詳細は以下のツリーを参照してください。


公式フレーバー

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


より詳しい情報

バグレポート

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

バグの修正を通じて貢献したいのであれば、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)