Ubuntu Weekly Recipe

第217回 新年度特別企画・Red HatユーザーのためのUbuntuパッケージ管理の心得

この記事を読むのに必要な時間:およそ 5 分

4月になりました。新年度・新学期のはじまりということで,新しいことにチャレンジする機会です。今回はRed Hatとその互換ディストリビューションに慣れている人向けに,Ubuntuに乗り換えるための基礎知識として,RHEL環境のパッケージ管理の常識をUbuntuに持ち込むための,少しマニアックなレシピをお届けします。

サポート期間と採用ソフトウェアの違い

RHELとその互換ディストリビューションのユーザーがUbuntuに手を出すにあたり問題になるのが,サポート期間の違いです。サーバー構築の現場では,一度構築してしまえばディストリビューションとしての寿命が尽きるまで使う,ということは決して珍しくありません。そして,RHELはLinuxディストリビューションの中でも,サポート期間の長いディストリビューションです。

RHEL5/6は10年間のサポート期間を持ち,フェーズによって差はあるものの,継続的にセキュリティアップデートやバグフィックスが行われます。このサポート期間は,エクステンドライフフェーズのための契約を結ぶことでさらに+3年され,計13年間使い続けることができます。

互換ディストリビューションではエクステンドライフフェーズ部分には追従しないため注1)⁠ベースとなる10年間のみになってしまいますが,それでもSLESの7年に比べても非常に長いものとなっています。ただし,RHELのリリース周期は2~3年に一度で,実際のサポート期間はこの数字よりは少なくなります。

この一方で,Ubuntuのサポート期間は通常のリリースで1.5年,LTSで5年です。LTSは2年ごとにリリースされるので,最短ケースでは3年強です。サポート期間という観点では,Ubuntuは非常に不利です。

また,Ubuntuの「サポート期間」が及ぶ範囲にも注意が必要です。Ubuntuにおいて,5年間のサポートが公式にコミットされているのは,事実上,mainに属するパッケージだけです。main以外のパッケージは,コミュニティ(要するに「有志」⁠によるサポートや,⁠リリースしたベンダのサポートに依存」という形で管理されます。main以外のリポジトリ,たとえばuniverseにあるパッケージを中心にサービスを構築してしまうと,最悪の場合,自分が「有志」としてパッケージを更新する必要が出てくるかもしれません。

ただし,Fedoraとしてリリースされてから厳密な検証を行い,長期間のリリースエンジニアリングを行った上でリリースされるRHELと異なり,UbuntuのLTSは比較的「生きのいい」ソフトウェアが含まれています。Linuxカーネルのバージョンで比較すると,RHEL6(2010年11月リリース)は2.6.30,Ubuntu 10.04(2010年4月リリース)は2.6.32です。RHELと比べると寿命が短いかわりに,新鮮なソフトウェアを使うことができる,ということがUbuntuの強みです。

もし現場でUbuntuを使う場合は,このあたりをきちんと理解しておく必要があります。

注1
Red HatからSRPMが提供されなくなるためです。

新規ハードウェアのサポート方法

RHELのリリースバージョンは,6.0→6.1→6.2……といった形で継続的に更新されていきます。この更新のタイミングでカーネルも新しいブランチに切り替わり,新しいハードウェアに対応していきます。たとえば,⁠6.0ではサポートされていなかったデバイスが,6.1からは使えるようになる」ということです。

これに対してUbuntuでは,⁠一度リリースされたものには,ドライバの追加は行われない」という対応が基本です。いくつかの例外はありますが,⁠あるデバイスが動作しなかった場合,より新しいUbuntuのリリースを使う必要がある」ということです。サポート期間の違いもあり,一度構築したシステムに手を加えずにおいておき,より新しいハードウェアを調達したらそこでも同じように再現して使い続ける,という使い方は不向きだ,と言うこともできるでしょう。

いくつかある例外の一つは,RAID HBAのドライバです。そもそもストレージが認識されないとOSはインストールできないため,リリース後にも更新が行われる可能性があります。ただし,Ubuntuでは一度リリースしたISOイメージを更新することはないので,LTSリリース以外では意味がありません。LTSリリースに限り,⁠10.04.1」と末尾に数字を付ける「ポイントリリース」が行われてISOイメージが更新されます。これは,⁠その時点の最新のアップデート」を盛り込んだISOイメージです。たとえば10.04.4は,10.04を最新まで更新した状態をISOイメージに反映したものです。これを用いることで,新しいRAID HBAを搭載して動作させることができます。

なお,Ubuntuのリリースバージョンは,⁠そのリリースが行われた年・月」を組み合わせたものです。2012年4月にリリースされたから12.04,といった形です。このバージョン文字列はあくまでもカレンダー上の数字を元にしたものですので,⁠11.04と11.10はマイナーバージョンアップだが12.04はメジャーバージョンアップ」といった考え方ではありません。

まとめると,次のようになります。

  • RHELは6.0→6.1→6.2……と更新されるにつれて,ユーザランドはほとんど変わらずに注2対応ハードウェアが増えていく。
  • Ubuntuは8.04→8.10→9.04→9.10→10.04……と更新されていくが,それぞれ異なるリリースであり,ユーザランドは異なるものになる。LTSのみ,ポイントリリースを使うことでインストールCDが更新される。
注2
厳密にはカーネル以外,ユーザランド部分も更新されるので「同じ環境で使い続けられる」かというと少々微妙なところです。完全に同じユーザランドで更新を受け取りたい場合,RHELはEUS(Extended Update Support)を使うことになります。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入