玩式草子─ソフトウェアとたわむれる日々

第46回Plamo-5.1 released

昨年末公開した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ライブラリなど、システムの動作に必須のソフトウェアを集めています。このカテゴリでは以下のパッケージを更新しました。

 bash-4.2.45-x86_64-P1.txz       hdsetup-5.1-i586-P1.txz              openssh-6.2p1-x86_64-P2.txz
 coreutils-8.21-x86_64-P2.txz    iproute2-3.8.0-x86_64-P1.txz         openssl-1.0.0k-x86_64-P1.txz
 dhcp-4.2.5_P1-x86_64-P1.txz     kbd-1.15.5-x86_64-P2.txz             procps_ng-3.3.7-x86_64-P1.txz
 e2fsprogs-1.42.7-x86_64-P2.txz  kernel-3.9.3_plamo64-x86_64-P1.txz   readline-6.2.4-x86_64-P1.txz
 etc-5.0_64-noarch-P26.txz       kmod-13-x86_64-P2.txz                sudo-1.7.10p7-x86_64-P1.txz
 file-5.12-x86_64-P1.txz         libtirpc-0.2.3-x86_64-P1.txz         sysvinit-2.88dsf-x86_64-P5.txz
 grep-2.14-x86_64-P1.txz         linux_firmware-201303-noarch-P1.txz  util_linux-2.23-x86_64-P2.txz
 grub-2.00-x86_64-P6.txz         microcode_ctl-1.21-x86_64-P2.txz     zlib-1.2.8-x86_64-P1.txz

カーネルは、当初3.8.5あたりに留めておく予定でしたが、3.8.10以前のカーネルには、カーネルのパフォーマンスを測定する機能にローカルユーザの権限上昇を許す問題が見つかり、すでにそれを利用する攻撃用コードなども公開されているとのことなので、急遽最新版の3.9.3に更新しました。

coreutilsとutil_linuxはそれぞれの最新版への追従です。含まれているコマンドの機能は従来のバージョンと変わらないものの、util_linuxに含まれているmountコマンドは-vオプション指定時の表示形式が多少変わって、起動時にマウント状況を表のような形で表示するようになりました。

  swap                     : ignored
  /                        : ignored
  /cdrom                   : ignored
  /proc                    : already mounted
  /sys                     : already mounted
  ...

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サーバといったネットワークの基本ツールなどを収めています。このカテゴリでは以下のパッケージを更新しています。

 alsa_plugins-1.0.26-x86_64-P5.txz  gnutls-2.12.23-x86_64-P1.txz              perl-5.14.2-x86_64-P3.txz
 automake-1.12.4-x86_64-P1.txz      indent-2.2.10-x86_64-P1.txz               pkg_config-0.28-x86_64-P1.txz
 bc-1.06.95-x86_64-P2.txz           iptables-1.4.17-x86_64-P1.txz             postfix-2.10.0-x86_64-P1.txz
 bind-9.9.2_P2-x86_64-P1.txz        kernel_headers-3.9.3_plamo64-i386-P1.txz  ruby-1.9.3_p392-x86_64-P1.txz
 curl-7.30.0-x86_64-P1.txz          libgcrypt-1.5.1-x86_64-P1.txz             sqlite-3.7.16.1-x86_64-P1.txz
 fetchmail-6.3.26-x86_64-P1.txz     libxml2-2.9.1-x86_64-P1.txz
 gnupg-2.0.19-x86_64-P1.txz         man_pages-3.47-noarch-P1.txz

このカテゴリでは、最近見つかったネットワーク関連のセキュリティフィックスが多くなっています。ほとんどのパッケージは既存パッケージのマイナーバージョンアップなのでそのまま更新できますが、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フォントの追加のみです。

 VLGothic-20130510-noarch-P1.txz  fonts_migmix-20121030-noarch-P2.txz  fonts_migu-20121030-noarch-P1.txz

Migu/Migumixフォントは、M+フォントとIPAフォントを合成した新しい日本語TrueTypeフォントで、ターミナル等での視認性を重視して設計されているそうです。

元となったIPAゴシックフォントとMigu 1Mフォントを比べてみると、手前に置いたMigu 1Mの方がメリハリが強くて、確かに小さいサイズでも見やすく感じます。

図1 IPAゴシックフォント(左)とMigu 1Mフォント(右)の比較
図1 IPAゴシックフォント(左)とMigu 1Mフォント(右)の比較

04_xapps

04_xappsは、X Window Systemを必要とするものの、特定のデスクトップ環境には依存しないソフトウェアを集めています。

 at_spi2_atk-2.6.2-x86_64-P1.txz    gobject_introspection-1.34.2-x86_64-P1.txz
 at_spi2_core-2.6.3-x86_64-P1.txz   harfbuzz-0.9.14-x86_64-P1.txz
 atk-2.6.0-x86_64-P1.txz            ijs-0.35-x86_64-P1.txz
 cairo-1.12.14-x86_64-P1.txz        libffi-3.0.13-x86_64-P1.txz
 cups-1.6.2-x86_64-P1.txz           nspr-4.9.6-x86_64-P1.txz
 cups_filters-1.0.34-x86_64-P1.txz  nss-3.14.3-x86_64-P1.txz
 dbus-1.6.8-x86_64-P1.txz           pango-1.32.5-x86_64-P1.txz
 dbus_glib-0.100.1-x86_64-P1.txz    pangox_compat-0.0.2-x86_64-P1.txz
 firefox-21.0-x86_64-P1.txz         qpdf-4.0.1-x86_64-P1.txz
 gdk_pixbuf-2.26.5-x86_64-P2.txz    shared_mime_info-1.1-x86_64-P1.txz
 gegl-0.2.0-x86_64-P2.txz           thunderbird-17.0.6-x86_64-P1.txz
 glib-2.34.3-x86_64-P2.txz

このカテゴリではglibを2.34.3に更新するのに合わせて、それに関連するパッケージを更新したり、firefox/thunderbirdを更新したり、cups印刷システムを1.6.2に更新したりしています。

05_ext

このカテゴリには、XfceやKDEといったデスクトップ環境が共通に利用しているコマンドやライブラリを集めています。

今回の更新では、音声の入出力を管理するpulseaudioを3.0に、さまざまな種類の動画フォーマットを操作するffmpegを1.2にそれぞれ更新したので、それに伴って多数の動画、音声関連のソフトウェアに更新が生じています。

 QtZeitgeist-0.7.0-x86_64-P3.txz         liblastfm-1.0.3-x86_64-P1.txz
 Twisted-12.3.0-x86_64-P1.txz            libquicktime-1.2.4-x86_64-P3.txz
 apr_util-1.5.1-x86_64-P1.txz            libupnp-1.6.18-x86_64-P1.txz
 avidemux-2.5.3-x86_64-P4.txz            mariadb-5.5.30-x86_64-P1.txz
 boost-1.53.0-x86_64-P1.txz              mediastreamer-2.8.2-x86_64-P2.txz
 cmake-2.8.10.2-x86_64-P1.txz            mplayer-36021-x86_64-P1.txz
 dconf-0.14.1-x86_64-P1.txz              php-5.4.15-x86_64-P2.txz
 docbook_45-1.0-noarch-P2.txz            pidgin-2.10.7-x86_64-P1.txz
 dvdauthor-0.7.1-x86_64-P1.txz           polkit_qt_1-0.103.0-x86_64-P2.txz
 ffmpeg-1.2-x86_64-P1.txz                proftpd-1.3.4c-x86_64-P1.txz
 ffmpegthumbnailer-2.0.8-x86_64-P1.txz   pulseaudio-3.0-x86_64-P2.txz
 git-1.8.1.4-x86_64-P1.txz               qt-4.8.4-x86_64-P1.txz
 gpac-r4375-x86_64-P1.txz                samba-3.6.12-x86_64-P1.txz
 gst_plugins_base_1-1.0.5-x86_64-P1.txz  smtube-1.7-x86_64-P1.txz
 gst_plugins_good_1-1.0.5-x86_64-P1.txz  sox-14.4.1-x86_64-P3.txz
 gst_plugins_ugly-0.10.19-x86_64-P5.txz  taglib-1.8-x86_64-P1.txz
 gstreamer_1-1.0.5-x86_64-P1.txz         vala-0.18.1-x86_64-P1.txz
 gtk+-3.6.4-x86_64-P1.txz                vlc-2.0.5-x86_64-P2.txz
 gtk_vnc-0.5.2-x86_64-P1.txz             vorbis_tools-1.4.0-x86_64-P2.txz
 httpd-2.4.4-x86_64-P4.txz               x264-20130313-x86_64-P1.txz
 jre-1.7.0_21-x86_64-P1.txz              xine_lib-1.2.2-x86_64-P5.txz
 lftp-4.4.4-x86_64-P1.txz                xvidcore-1.3.2-x86_64-P3.txz
 libcanberra-0.30-x86_64-P1.txz          zope.interface-3.7.0-x86_64-P1.txz
 libcdio-0.83-x86_64-P2.txz

Plamo-5.0ではこのカテゴリの一部としてMySQLデータベースをインストールしていましたが、Plamo-5.1ではMySQLの元々の開発者たちが新しく立ちあげたMariaDBデータベースに変更しました。そのため、mysqlパッケージを削除してから、mariadbパッケージをインストールする必要があります。

06_xfce

シンプルで軽快なXfceデスクトップ環境をまとめたカテゴリです。Xfceデスクトップ環境は比較的更新頻度が低く、現在もPlamo-5.0当時と同様、Xfce-4.10が最新版なので、更新されたパッケージも5つほどに留まっています。

 libxfce4ui-4.10.0-x86_64-P4.txz  tumbler-0.1.29-x86_64-P1.txz    xfwm4_themes-4.6.0-noarch-P1.txz
 parole-0.5.0-x86_64-P1.txz       xfdesktop-4.10.2-x86_64-P1.txz

paroleは新たに追加されたシンプルなメディアプレイヤーですが、XVideo extension機能の指定方法に少し癖があるので、動画ファイルを正しく再生できない場合は、筆者の日記のページなどを参照してみてください。

07_kde

KDEデスクトップ環境を収めたカテゴリです。KDEデスクトップ環境は開発が活発で、すでに4.10.3というバージョンが公開されているものの、手元で試した限りでは一部の機能が正しく動作しなかったので、ひとつ前のシリーズである4.9.5に留めることにしました。それでも更新されたパッケージは121に上るので、以下はその一部です。

 00_kde_links-0.1-noarch-P2.txz                   kmousetool-4.9.5-x86_64-P1.txz
 akonadi-1.9.1-x86_64-P1.txz                      kmplot-4.9.5-x86_64-P1.txz
 amarok-2.7.0-x86_64-P1.txz                       kolourpaint-4.9.5-x86_64-P1.txz
 ...
 kmag-4.9.5-x86_64-P1.txz                         virtuoso_opensource-6.1.6-x86_64-P2.txz
 kmix-4.9.5-x86_64-P1.txz

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のバージョンアップに合わせて、システムのバイナリ部分を更新しました。

 ptexlive-20100711-x86_64-P7.txz

09_kernel

Linuxカーネルのソースコードを収めたカテゴリです。Plamo-5.1のデフォルトカーネル(linux-3.9.3)に必要なパッチをあてた状態でパッケージ化されているので、このソースコードを元に設定を調整すれば、独自のカーネルも簡単にビルドできるでしょう。

 kernelsrc-3.9.3_plamo64-noarch-P1.txz

10_lof

フリーなオフィススイートLibreOffice関連のパッケージを収めたカテゴリです。Plamo-5.0ではLibreOffice-3.6.3を収録していましたが、Plamo-5.1では4.0.2に更新しました。そのため、このカテゴリでも61のパッケージがアップデートされています。

 libobasis_base-4.0.2-x86_64-P1.txz               libobasis_javafilter-4.0.2-x86_64-P1.txz
 libobasis_calc-4.0.2-x86_64-P1.txz               libobasis_kde_integration-4.0.2-x86_64-P1.txz
 libobasis_core01-4.0.2-x86_64-P1.txz             libobasis_librelogo-4.0.2-x86_64-P1.txz
 ...
 libobasis_ja_writer-4.0.2-x86_64-P1.txz          libreoffice_writer-4.0.2-x86_64-P1.txz

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}/以下に、今回紹介したカテゴリに沿った形で整理しています。

 $ ls -R x86_64
 x86_64:
 00_base/  01_minimum/  02_x11/  04_xapps/  05_ext/  06_xfce/  07_kde/  08_tex/  10_lof/
 
 x86_64/00_base:
 bash-4.2.45-x86_64-P1.txz       kbd-1.15.5-x86_64-P2.txz             readline-6.2.4-x86_64-P1.txz
 coreutils-8.21-x86_64-P2.txz    kmod-13-x86_64-P2.txz                sudo-1.7.10p7-x86_64-P1.txz
 dhcp-4.2.5_P1-x86_64-P1.txz     libtirpc-0.2.3-x86_64-P1.txz         sysvinit-2.88dsf-x86_64-P5.txz
 e2fsprogs-1.42.7-x86_64-P2.txz  linux_firmware-201303-noarch-P1.txz  update.sh*
 ...
 libobasis_ja_calc-4.0.2-x86_64-P1.txz                               libreoffice_writer-4.0.2-x86_64-P1.txz
 libobasis_ja_help-4.0.2-x86_64-P1.txz                               update.sh*

リストにもあるように、それぞれのカテゴリ(=ディレクトリ)ごとに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環境をインストールする必要があるのでご注意ください。

おすすめ記事

記事・ニュース一覧