富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

Ubuntuについて知ろう 〜 Ubuntuのパッケージ管理とサポート範囲【2023年版】

こんにちは。日本仮想化技術株式会社の水野です。

サーバーを運用していくためには、サーバーOSのLinuxディストリビューション特有の「お作法」を知ることが不可欠です。

本記事は、世界的に人気のあるディストリビューション「Ubuntu(ウブントゥ)」の特徴や、上手な使い方をUbuntu Japanese Teamのメンバーでもある筆者が紹介していくシリーズの第2回になります。

前回はUbuntuのリリースサイクルとサポート期間について紹介しました。「サポート期間はX年」ですとか、「製品のサポートが終了してしまう」などとよく言われますが、「OSのサポート」とは一体なんなのでしょうか。

今回は具体的に、Ubuntuのどのような範囲が、どのようにサポートされるのかについて解説します。

Ubuntuのパッケージ管理とサポート範囲

ディストリビューションを構成する「パッケージ」とは

コンピューター上で動作しているソフトウェアは、ソースコードから作られているプログラムの集まりです。

ソフトウェアを動かすためには、必要なソースコードを入手し、自分の環境に合わせてコンパイルやチューニングを行った上で、システムにインストールする必要があります。ソースコードからのインストールを行ったことがある人であれば、この作業の大変さはよく理解されているのではないでしょうか。

ディストリビューションは数百から、場合によってはそれ以上のソフトウェアの集合体です。これらすべてのソフトウェアを手動でビルド、インストールするのは現実的ではありません。またソフトウェアはインストールしたら終わりではありません。

バグや脆弱性が発覚したらアップデートするなど、継続的な管理運用作業も発生します。ディストリビューションを構成するすべてのソフトウェアを、常に安全な状態に保つのは非常に困難で、遠からず破綻してしまうでしょう。

そこで一般的なディストリビューションでは、ソフトウェアをパッケージという単位で管理しています。パッケージとは、ソフトウェアを構成するファイル、インストールやアンインストール作業を行うためのスクリプト、パッケージ自身についての情報や依存関係を表すメタデータなどをまとめたファイルです。

パッケージはリポジトリで入手できます

ディストリビューションの開発元は、カーネルをはじめ、ライブラリやミドルウェア、様々なコマンド群やGUIアプリまで、ディストリビューションに含まれるあらゆるソフトウェアを「パッケージング」し、リポジトリ(後述)と呼ばれるサーバーで公開しています。

そのため利用者は、パッケージファイルをリポジトリからダウンロードして展開するだけで、任意のソフトウェアを自分のシステムへインストールすることができるのです。

またパッケージはきちんとバージョン管理がなされており、より新しいバージョンがリリースされると、簡単に更新できる仕組みが用意されています。そのため労力をかけず、OS全体を常に最新の状態に保つことも簡単です。

Linuxディストリビューションは、こうしたパッケージシステムの上に構築されています。この事情は、RHELであっても、Ubuntuであっても、基本は変わりません。

Ubuntuのリポジトリとサポート

ディストリビューションとは、パッケージの集合体でした。つまりディストリビューションの運用において最も重要なサポートとは、パッケージに対する継続的なバグフィックスやセキュリティアップデートの提供と考えてよいでしょう。

Ubuntuは特定企業が開発する製品ではなく、「Ubuntuコミュニティ」という有志の集まりによって開発が主導されています。

ですがコミュニティによるボランティアベースの開発には限界があるため、Canonical社というイギリスの企業が、開発の支援やサポートの提供を行っています。

Canonical社は、Ubuntuプロジェクトのリーダーでもある、マーク・シャトルワース氏によって創設された企業です。

Ubuntuのパッケージは、「オープンソースソフトウェアかそうでないか」「誰がメンテナンスするか」によって、「main」「restricted」「universe」「multiverse」の4つに分類され、それぞれのリポジトリから配布されています。これらをまとめると、以下の図表のようになります。

Ubuntuのリポジトリ内の分類。

リポジトリ 含まれるパッケージ
main Canonical社によってサポートされるOSS。
restricted Canonical社によってサポートされる非OSS。
universe UbuntuコミュニティによってサポートされるOSS。
multiverse Ubuntuコミュニティによってサポートされる非OSS

前回、UbuntuのLTS版は5年のサポートがあると述べました。ですがこれは、Canonical社によるサポートが約束されている、main/restrictedリポジトリのパッケージに限っての話であることに注意してください。

コミュニティによってサポートされるuniverse/multiverseリポジトリのパッケージに対しては、ベストエフォートな対応に留まり、確実なサポートは保証されていません。

そのため「サーバーにLTSをインストールしたが、よく見たら一部のパッケージはアップデートされなかった」という可能性もあり得ます。

main/restrictedリポジトリはCanonical社によって5年のサポートが提供されるが、universe/multiverseリポジトリはベストエフォートでの対応となる。

Ubuntuでは、これら4つのリポジトリを、個別にON/OFFすることも可能です。そこで想定外の事故を防ぐためにも、「本番サーバーではuniverseをOFFにした状態で使う」というのも、ひとつの方法です。

これはUbuntuデスクトップの「ソフトウェアとアップデート」の画面。リポジトリを個別にON/OFFすることができる。

まとめ

今回の内容を簡単にまとめます。

  • ディストリビューションのサポートにおいて、最も基本的で重要なのが、パッケージの継続的なアップデート
  • Ubuntuは豊富なパッケージを持つが、すべてのパッケージに対して5年間の継続的なアップデートが約束されているわけではない
  • 用途によっては、敢えてuniverse/multiverseを無効にするのもアリ

今回はデフォルトで提供される、パッケージのサポート範囲について解説しました。

次回はCanonical社によって提供されている有償サポートプラン「Ubuntu Pro」について解説します。

【告知】筆者が登壇するイベントです fujitsufjct.connpass.com

最後に宣伝です。
FJCloud-V無料トライアル実施中! この機会に ぜひ、FJCloud-Vをお試しください。
こちらをクリック↓↓↓↓↓↓↓