Ubuntu 18.04 LTSで「長期サポート」されるパッケージは一部のみ!【知らないとヤバイ】

2018年4月29日

Ubuntuは、2年毎に「LTS(Long Term Support)」と呼ばれる「長期サポート版」をリリースしています。

2018年4月にリリースされた「Ubuntu 18.04 LTS」は、バージョンに「LTS」がついていることから分かる通り、長期サポート版ですね。

しかし、Ubuntu 18.04 LTSにインストールできるソフトのうち、5年間「サポート」されるのは一部だけなので注意が必要です。

サポートとは?

Ubuntuの通常リリースは9ヶ月しかサポートされないところ、長期サポート版は5年間サポートされます。

ここで言う「サポート」とは、セキュリティホールやバグが修正されたパッケージが提供されることを指します。
そのため、サポート期間が過ぎたバージョンを使い続けるのは問題です。
セキュリティホールやバグのせいで、重要なデータが漏洩したり、破損したり、不正なソフトウェアを用いて悪用されたりする可能性が高くなってしまいます。

そこで、Ubuntu 18.04 LTSなら5年間サポートされて安心…かというと、そう単純でもありません。

そもそもサポート対象じゃないソフトも多い

Ubuntuのパッケージは、「main」「restricted」「universe」「multiverse」という「コンポーネント」に分類されています。

Ubuntuで「サポート」されるのは、「main」と「restricted」というコンポーネント含まれているパッケージだけです。

「main」と「restricted」に属するパッケージは、Ubuntu Teamが「セキュリティホールや深刻なバグが見つかれば修正する」としています。
インストール時に導入されるソフトウェア、その他の重要だと判断されたソフトウェア、それらが利用するライブラリやツールが、これらのコンポーネントに属します。

一方、「universe」と「multiverse」は、Debianという元になったLinuxディストリビューションの「レポジトリ」から「ソースパッケージ」をコピーし、Ubuntu用にビルドされたものです。

そして、「universe」と「multiverse」に含まれるパッケージは、そもそもUbuntu Teamによる「サポート」が提供されていません。

これらのパッケージが修正されるかは、「ボランティア」にかかっています。

Debianで修正されればUbuntuにも取り込まれるため、多くのパッケージは問題なく更新されていきます。
とはいえ、更新が保証されているわけではないので、問題を抱えたまま放置されることもあります。

パッケージのコンポーネントを調べるには?

「Ubuntuソフトウェア」で、アプリをクリックすると以下のような表示になります。

この例だと「ソース」が「ubuntu-bionic-universe」となっているので、「universe」レポジトリだと分かります。

コマンドで確認するなら、「apt show パッケージ名」を実行しましょう。

$ apt show nginx
Package: nginx
Version: 1.14.0-0ubuntu1
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Nginx Maintainers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 43.0 kB
Depends: nginx-core (<< 1.14.0-0ubuntu1.1~) | nginx-full (<< 1.14.0-0ubuntu1.1~) | nginx-light (<< 1.14.0-0ubuntu1.1~) | nginx-extras (<< 1.14.0-0ubuntu1.1~), nginx-core (>= 1.14.0-0ubuntu1) | nginx-full (>= 1.14.0-0ubuntu1) | nginx-light (>= 1.14.0-0ubuntu1) | nginx-extras (>= 1.14.0-0ubuntu1)
Homepage: http://nginx.net
Supported: 5y
Download-Size: 3,596 B
APT-Sources: http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Description: small, powerful, scalable web/proxy server
 Nginx ("engine X") is a high-performance web and reverse proxy server
 created by Igor Sysoev. It can be used both as a standalone web server
 and as a proxy to reduce the load on back-end HTTP or mail servers.
 .
 This is a dependency package to install either nginx-full (by default),
 nginx-light or nginx-extras.

この例だと、「APT-Sources: http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 Packages」とあるので、nginxパッケージはmainコンポーネントであることが分かります。

どうすれば良い?

リリースから時間が経てば、「universe」と「multiverse」のパッケージは修正されなくなる確率が高くなっていきます。
5年後となると、バージョンが古すぎて誰も更新作業を行わないパッケージが増えることも考えられます。

そのため、重要なサーバーに「universe」や「multiverse」のパッケージをインストールする場合は注意が必要です。
自分でセキュリティ情報を集め、必要に応じてパッケージを作る必要が出てくるかもしれません。
主要なサービスでは、できるだけ使わないほうが良いでしょう。

デスクトップで利用する場合は、好みに応じて「universe」や「multiverse」のアプリを追加するのが普通です。
しかし、いずれセキュリティホールが残ったまま放置されるかもしれないということは知っておきましょう。
そして5年間使い続けるのではなく、少なくともLTSが出る2年ごとにアップグレードすれば、リスクを低くおさえることができるでしょう。

関連記事