バックポートの利用法:安定版ディストリビューション上で新規パッケージを実行する

安定性を最優先したシステムの運用を続けていると、アプリケーションの最新版がリリースされたのに対応性の問題から使用できない、というケースにしばしば遭遇する。だが、そこでくじけてはいけない。新規リリースされたパッケージを既存の旧版ディストリビューション用に“バックポート”(backport)し直した、いわゆるバックポート版を用いれば活路が開けることもあるからだ。

バックポートとは、新規リリースされたソフトウェア(たいていはベータ版ないし開発リリース段階のもの)を既存の旧版ディストリビューションで使えるように古いライブラリを使ってコンパイルし直したものである。つまり最新版ソフトウェア用にアップグレードされていない“安定”システムであっても、こうしたバックポート版ならば実行できるかもしれないのだ。お気に入りのソフトウェアの最新バージョンがリリースされたが、対応性の問題から手元のシステムでは使用できないといった場合、こうしたバックポート版の使用を検討してみるのも1つの手であろう。

UbuntuディストリビューションのBackports Projectリーダを務めるJohn Dong氏の説明によると、同プロジェクトにおけるバックポート作業は、基本的に旧バージョン環境下での再コンパイルしたものを提供するだけであり、通常手順でのコンパイルが可能な状態にパッケージを改変することはあまり行いたくないとのことである。「ただし何らかの理由がある場合は(深刻なバグフィックスなど)、手作業でパッケージを修正したり、他のUbuntu開発者と連携して開発ツリーに特定バージョンをアップロードして以前のUbuntuリリースに対するバックポートを行い易くすることもあります」

こうしたバックポートできるパッケージに制限はないはずだが、実際問題としては比較的需要の高いユーザレベルのアプリケーションに対してのみ施されることが多く、具体的には、Firefox、OpenOffice.org、その他のメジャーな大型パッケージおよび、マルチメディア系アプリケーションやメディア系プレーヤなどが該当する。

本来こうしたバックポートは、バージョン的な齟齬を解消するのではなく、セキュリティ上の目的で作られてきたという経緯がある。新規アプリケーションのリリース時に重要なセキュリティアップデートが伴っている場合、そうしたセキュリティアップデートが既存バージョンにも適用すべきものであれば、旧バージョン群でも適用可能にするためベンダが新規リリースの“バックポート”版を作成するという具合だ。実際、Red HatおよびSUSEなどの主要ディストリビューションは、各自のパッケージにおけるセキュリティ用バックポートを定期的に公開している。

とは言うものの、こうしたバックポートの用途はセキュリティやバグフィックスにのみ限られる訳ではなく、旧式化した安定版のディストリビューションを維持したまま新機能が装備された最新版アプリケーションを使いたい、という場合に利用することもできるのだ。

DebianおよびUbuntuディストリビューションでは、バックポート版ソフトウェアがアーカイブ化されており、ユーザはごく簡単な手順を踏むだけで必要なバックポートを使用できるようになっている。

Debianにおけるバックポートの使用法

Debianシステムの場合、何百個ものバックポート版パッケージがDebian Backportsとしてbackports.orgに用意されている。実際に利用する前にどのようなパッケージがオンライン上で公開されているかを確認したければ、同サイトのディレクトリを調べればいいだろう。その他にもバックポートアーカイブの最新追加情報を紹介したページや、機能比較の一覧を掲載したページも用意されており、現行の安定バージョンであるDebian Sargeリリースでどのバックポートが使用できるか、あるいは次にリリースされるDebian Etch版のものと何が違うかを簡単に確認できるようになっている。

なおDebian Backportsプロジェクトでは、複数のメーリングリストを用いた新規アナウンスおよびサポート活動が行われている。

Debianのバックポートを使用するには、まず最初に/etc/apt/sources.listファイルを編集して(root権限が必要)、当該ディストリビューション用のバックポート版パッケージのソースを1ないし複数個指定しておく必要がある。例えば、SargeシステムからDebian Backportsのメインアーカイブにアクセスするのであれば下記の行を追加すればいい。

deb http://www.backports.org/debian sarge-backports main contrib non-free

次に必要なのは、利用可能なパッケージのリストをアップデートすることだが、それはapt-get updateというコマンドで行える。

パッケージリストの更新後、aptitudedselectなどのパッケージ管理用フロントエンドを用いて対応パッケージを一覧させると、現状で使用可能なバックポートが表示されるはずだ。なお慣例により、Debianのバックポート版パッケージについてはバージョン番号に「~bpo」という文字列が追加されている。

バックポート版パッケージの選択およびインストールをする場合、あるいはコマンドラインでのapt-get使用時に-tオプションを指定すると、ターゲットとするリリースを「sarge-backports」のみに制限することができる(異なるバックポートアーカイブを利用したい場合は、当然その他の指定も可能)。例えば、Firefoxの最新バージョンをインストールするためのバックポートが必要であれば、下記のように指定すればいい。

apt-get -t sarge-backports install firefox

なおDebian用のバックポート版パッケージの入手先は、Debian Backportsプロジェクトだけに限られている訳ではない。ソフトウェアの特定リリースに対するバックポート作成と公開は誰でも行えるからだ。例えばapt-get.orgにアクセスすれば、独自作成されたバックポートの配布サイトに関する膨大なリストを入手することができる。