昨年末公開したPlamo-5.0以降、セキュリティがらみで更新されたパッケージも溜ってきたので、それらをとりまとめてPlamo-5.1ということにしました。
32ビット版のみのPlamo-4.73をリリースしたのが2010年9月、Plamo-4.73を元に64ビット化の作業に取り組んで、64ビット版のみでとりまとめたPlamo64-1.0が2011年12月、32ビット版と64ビット版を揃えたPlamo-5.0が2012年12月…と、ここ数年はメジャーバージョンを更新するレベルの大規模な変更が続き、リリースも年に一度程度になっていましたが、今回は久しぶりのメンテナンスリリースということもあって、パッケージの「旬」を逃さないよう早めにリリースすることにしました。
とは言っても、Plamo-5.0以降に変更されたパッケージを数えてみると、contrib以下を除いても32ビット版、64ビット版それぞれで300ほどありました。パッケージの総数は1200ほどなので、およそ1/4が更新されていることになります。もっとも、そのうちの180ほどはKDEとLibreOfficeの更新に関わるパッケージなので、それらを除くと全体の1割程度の更新規模になるようです。
更新されたパッケージ
先に紹介したように、今回のリリースは既に収録しているソフトウェアを新しいバージョンに追従させるメンテナンスが主目的なので、特に目新しい機能はありません。しかしながら、linux-3.9.3やFirefox-21.0、ffmpeg-1.2など、主要なパッケージは現時点での最新版やそれに準ずるバージョンに更新しています。パッケージによっては、古いバージョンにセキュリティ問題が報告されていることもあるので、Plamo-5.0をお使いの方はパッケージのアップデートをお勧めします。
以下ではPlamo-5.0から更新したパッケージをカテゴリごとに紹介し、簡単な解説を加えてみます。「カテゴリ」はPlamo Linuxで採用しているパッケージの分類単位で、FTPサイトやDVDイメージ等ではplamoディレクトリ以下のサブディレクトリになっています。また、以下の紹介では64ビット版を元に説明しますので、32ビット版では適宜アーキテクチャ名(x86_64)等を読み替えください。
00_base
00_baseはPlamo Linuxの基本構成に必要なパッケージを集めており、bashやlinuxカーネル、glibcライブラリなど、システムの動作に必須のソフトウェアを集めています。このカテゴリでは以下のパッケージを更新しました。
カーネルは、当初3.8.5あたりに留めておく予定でしたが、3.8.10以前のカーネルには、カーネルのパフォーマンスを測定する機能にローカルユーザの権限上昇を許す問題が見つかり、すでにそれを利用する攻撃用コードなども公開されているとのことなので、急遽最新版の3.9.3に更新しました。
coreutilsとutil_linuxはそれぞれの最新版への追従です。含まれているコマンドの機能は従来のバージョンと変わらないものの、util_linuxに含まれているmountコマンドは-vオプション指定時の表示形式が多少変わって、起動時にマウント状況を表のような形で表示するようになりました。
kmodは、カーネルのモジュールドライバを操作するソフトウェアで、開発が終了したmodule-init-toolsが担っていた機能を引き継ぎます。kmodが提供するコマンドはmodprobeやrmmod等、module-init-toolsと変らないものの、パッケージ名が異なるためupdatepkgのみでは更新できず、removepkg module_init_tools してから、installpkg kmod-13-x86_64-P1.txz する必要があります。
ほとんどのパッケージはupdatepkgで更新できるものの、いくつかこのような注意が必要なパッケージも存在するので、後述するようにPlamo-5.0から5.1へアップデートするための簡単なシェルスクリプトも用意してみました。
01_minimum
01_minimumはGUIを利用しない主要コマンドを集めたカテゴリで、GCCやperl,python,rubyといった開発環境やメールサーバ、DNSサーバといったネットワークの基本ツールなどを収めています。このカテゴリでは以下のパッケージを更新しています。
このカテゴリでは、最近見つかったネットワーク関連のセキュリティフィックスが多くなっています。ほとんどのパッケージは既存パッケージのマイナーバージョンアップなのでそのまま更新できますが、2.9.5から2.10.0に更新されたPostfixではメールのリレーを制御するsmtpd_relay_restrictionsというパラメータが追加され、従来はsmtpd_recipient_restrictionsで行っていた指定をこちらで行うように変更されています。Postfixの設定ファイルを引き継ぐ際はご注意ください。
02_x11
02_x11カテゴリは、X Window Systemとそれに関連するソフトウェアを集めています。今回はX Window Systemの更新は行なわなかったので、このカテゴリでのアップデートは、バージョンアップされたVLGothicフォントの更新と、新たに収録したMigu/Migumixフォントの追加のみです。
Migu/Migumixフォントは、M+フォントとIPAフォントを合成した新しい日本語TrueTypeフォントで、ターミナル等での視認性を重視して設計されているそうです。
元となったIPAゴシックフォントとMigu 1Mフォントを比べてみると、手前に置いたMigu 1Mの方がメリハリが強くて、確かに小さいサイズでも見やすく感じます。
04_xapps
04_xappsは、X Window Systemを必要とするものの、特定のデスクトップ環境には依存しないソフトウェアを集めています。
このカテゴリではglibを2.34.3に更新するのに合わせて、それに関連するパッケージを更新したり、firefox/thunderbirdを更新したり、cups印刷システムを1.6.2に更新したりしています。
05_ext
このカテゴリには、XfceやKDEといったデスクトップ環境が共通に利用しているコマンドやライブラリを集めています。
今回の更新では、音声の入出力を管理するpulseaudioを3.0に、さまざまな種類の動画フォーマットを操作するffmpegを1.2にそれぞれ更新したので、それに伴って多数の動画、音声関連のソフトウェアに更新が生じています。
Plamo-5.0ではこのカテゴリの一部としてMySQLデータベースをインストールしていましたが、Plamo-5.1ではMySQLの元々の開発者たちが新しく立ちあげたMariaDBデータベースに変更しました。そのため、mysqlパッケージを削除してから、mariadbパッケージをインストールする必要があります。
06_xfce
シンプルで軽快なXfceデスクトップ環境をまとめたカテゴリです。Xfceデスクトップ環境は比較的更新頻度が低く、現在もPlamo-5.0当時と同様、Xfce-4.10が最新版なので、更新されたパッケージも5つほどに留まっています。
paroleは新たに追加されたシンプルなメディアプレイヤーですが、XVideo extension機能の指定方法に少し癖があるので、動画ファイルを正しく再生できない場合は、筆者の日記のページなどを参照してみてください。
07_kde
KDEデスクトップ環境を収めたカテゴリです。KDEデスクトップ環境は開発が活発で、すでに4.10.3というバージョンが公開されているものの、手元で試した限りでは一部の機能が正しく動作しなかったので、ひとつ前のシリーズである4.9.5に留めることにしました。それでも更新されたパッケージは121に上るので、以下はその一部です。
Plamo-5.0では、KDE環境が提供するアプリケーションに関する情報やD-Busへ提供するサービス情報を/opt/kde/share/以下に収めていました。しかし、これらの情報は他のデスクトップ環境とも統合した方が便利なので、Plamo-5.1では/opt/kde/share/{dbus-1,polkit-1,applications,mime}/の各ディレクトリはそれぞれ/usr/share/以下の同名のディレクトリへのシンボリックリンクに変更しました。このような変更はパッケージ類を更新する前に行わないといけないため、別途シェルスクリプトにしておきました。
08_tex
電子組版システムTeX(ptexlive-2010)に関するパッケージを集めたカテゴリです。PDF操作用のライブラリを提供しているpopplerのバージョンアップに合わせて、システムのバイナリ部分を更新しました。
09_kernel
Linuxカーネルのソースコードを収めたカテゴリです。Plamo-5.1のデフォルトカーネル(linux-3.9.3)に必要なパッチをあてた状態でパッケージ化されているので、このソースコードを元に設定を調整すれば、独自のカーネルも簡単にビルドできるでしょう。
10_lof
フリーなオフィススイートLibreOffice関連のパッケージを収めたカテゴリです。Plamo-5.0ではLibreOffice-3.6.3を収録していましたが、Plamo-5.1では4.0.2に更新しました。そのため、このカテゴリでも61のパッケージがアップデートされています。
LibreOffice-3.6.3と4.0.2のパッケージを比較すると、統合されるなどして無くなったパッケージが3つほどあるので、Plamo-5.0から更新する際は、事前に3.6.3のパッケージを削除しておいてから、4.0.2のパッケージをインストールするのが確実でしょう。その手順もシェルスクリプトにしておきました。
Plamo-5.0からのアップデート
以上、今回のリリースで更新したパッケージをざっと紹介してみました。Plamoの場合、30分もあればDVDからのフルインストールが可能なので、パッケージのアップデートで最新版に追従しようとする人は少ないようにも思いますが、今回はメンテナンスリリースなので、更新したパッケージを抽出したアップデート集を用意しました。
アップデート集はPlamoのFTPサイトのUpdate/5.0_5.1/{x86,x86_64}/以下に、今回紹介したカテゴリに沿った形で整理しています。
リストにもあるように、それぞれのカテゴリ(=ディレクトリ)ごとにupdate.shというシェルスクリプトを用意して、このスクリプトを実行すれば自動的にそのカテゴリのアップデート処理を行うようにしています。
たとえば、00_baseに収めたupdate.shでは、module_init_toolsをremovepkgしてから、更新されたパッケージをupdatepkgでインストールすると共に、一部の設定ファイルの修正のみで更新できるパッケージは、patchコマンドを用いて必要なファイルの変更のみを行うようにしています。update.shは簡単なシェルスクリプトなので、Plamo-5.0からアップデートしようとする人はぜひ内容を確認して、問題等があればお知らせください。
なお、Plamo Linuxのユーザではカーネルは自前でカスタマイズしていることが多いと考えて、カーネルパッケージ(カーネルバイナリ、ヘッダファイル、ソースコード)はアップデート集に含めていません。カーネルパッケージの更新方法は過去の連載などでも紹介しているので、ユーザ各自の判断で対応してください。
また、アップデート集として用意したのは更新されたパッケージだけなので、あるカテゴリ(たとえば07_kde)を新規にインストールする場合は、アップデート集だけでは必要なパッケージが揃いません。Plamo-5.0ではKDE環境を入れてなかったけど、5.1に更新したついでにKDEを試してみようか、という場合は、インストール済みのカテゴリをアップデート集で更新した上で、Plamo-5.1の07_kdeからKDE環境をインストールする必要があるのでご注意ください。