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

第54回Plamo-5.2と更新されたパッケージ

前回紹介したPlamo Linux 5.2は、無事12月中に公開でき、清々しい気持ちで2014年を迎えることができました。しかしながら、積み残した作業もあります。Plamo-5.2はメンテナンス・リリースという位置づけなので、変更したパッケージを整理して、5.1からのアップデートを可能にしなければなりません。新年最初の作業は、このアップデート集作りになりました。今回は、この作業のついでに調べたPlamo Linuxの更新状況を紹介しましょう。

更新したパッケージの抽出

パッケージの更新履歴はChange.Logに記載されてはいるものの、それを見ながら一件ごと選り分けるのは大変です。そこで、単純に、Plamo-5.1のDVDイメージの作成時刻よりも更新時刻が新しいパッケージを抽出することにしました。

Plamo Linuxの一次配布元はplamo.linet.gr.jpというサイトです。このサイトは筆者宅のサーバ内にあるものの、インターネットに公開していますし、メンテナの人たちもログインして随時パッケージを更新してくれるので、作業用には使えません。そのため、手元では、このサイトで公開しているディレクトリをrsyncで別マシンにコピーして、そこをDVD作成等に使う作業用領域にしています。

rsyncの作業は手動で行なっているので、すでにplamo.linet.gr.jpにはPlamo-5.2リリース以降の新しいパッケージも登録されているものの、手元の作業用領域はPlamo-5.2リリース時の状態を保っています。都合のいいことに、この領域には以前に作ったPlamo-5.1のDVDイメージも残っているので、さっそくfindコマンドを使ってDVDイメージよりも新しいファイルを探してみました。

$ find Plamo-5.x/x86/plamo -cnewer plamo-5.1_x86_2013-05-22_dvd.iso
Plamo-5.x/x86/plamo
Plamo-5.x/x86/plamo/00_base
Plamo-5.x/x86/plamo/00_base/kernel-3.12.5_plamoSMP-i586-P1.txz
Plamo-5.x/x86/plamo/00_base/aaa_base-5.0-noarch-P2.txz
 ...

おっと、単純に検索先のディレクトリ(Plamo-5.x/x86/plamo)を指定するだけでは、パッケージだけではなく、ディレクトリなども引っかかってしまいます。より検索条件を限定するために「ファイル(-type f)」「ファイル名の末尾がtxz(-name "*txz"⁠⁠」という条件を追加してみます。

$ find Plamo-5.x/x86/plamo -type f -a -name "*txz" -cnewer plamo-5.1_x86_2013-05-22_dvd.iso
Plamo-5.x/x86/plamo/00_base/kernel-3.12.5_plamoSMP-i586-P1.txz
Plamo-5.x/x86/plamo/00_base/aaa_base-5.0-noarch-P2.txz
Plamo-5.x/x86/plamo/00_base/acl-2.2.51-i586-P1.txz
Plamo-5.x/x86/plamo/00_base/at-3.1.13-i586-P1.txz
...

今度はパッケージだけが選ばれたようですが、よく見ると最近更新した記憶がないパッケージも引っかかっています。あれれ、と思って更新日時を比較してみると、明らかにDVDイメージよりも古いパッケージも抽出されてしまっています。

$ ls -lh plamo-5.1_x86_2013-05-22_dvd.iso Plamo-5.x/x86/plamo/00_base/at-3.1.13-i586-P1.txz 
-rw-rw-r-- 1 kojima users  44K  2月  6日 2012年 Plamo-5.x/x86/plamo/00_base/at-3.1.13-i586-P1.txz
-rw-r--r-- 1 root   root  3.3G  5月 22日 2013年 plamo-5.1_x86_2013-05-22_dvd.iso

rsyncで同期した日時じゃ比較できないんだっけ? …としばし首を捻りましたが、改めてfindのmanページを調べ直すと、"-cnewer"の指定はファイルステータスが変更されたファイルを見つける」のに対し、修正されたファイルを見つける」のは"-newer"でした。

UNIX/Linuxのファイルには、最終アクセス時刻を記録するatimeと最終変更時刻を記録するmtime最終ステータス変更時刻を記録するctimeの3つの時刻が記録されていて、rsyncで同期した場合、mtimeは元のファイルに合わせるものの、ctimeは更新されます。ctimeは"change time"のはずですが、つい"create time"と思い込み、findの指定では両者をよく混同してしまいます。

改めて "-newer"で指定すると共に、該当するパッケージの日付も合わせて表示させてみました。今度は確かにPlamo-5.1のDVDイメージよりも新しいパッケージのみが抽出できているようです。

$ find Plamo-5.x/x86/plamo -type f -a -name "*txz" -newer plamo-5.1_x86_2013-05-22_dvd.iso -exec ls -lh {} \;
-rw-rw-r-- 1 kojima users 17M 12月 18日  01:07 Plamo-5.x/x86/plamo/00_base/kernel-3.12.5_plamoSMP-i586-P1.txz
-rw-rw-r-- 1 kojima users 6.6K 11月 15日  09:21 Plamo-5.x/x86/plamo/00_base/aaa_base-5.0-noarch-P2.txz
-rw-rw-r-- 1 kojima users 70K 11月 21日  14:09 Plamo-5.x/x86/plamo/00_base/bzip2-1.0.6-i586-P3.txz
-rw-rw-r-- 1 kojima users 1.3M 10月 16日  22:02 Plamo-5.x/x86/plamo/00_base/dhcp-4.2.5_P1-i586-P2.txz
-rw-rw-r-- 1 kojima users 295K 11月 23日  15:55 Plamo-5.x/x86/plamo/00_base/etc-5.0-noarch-P21.txz
 ...

さて、それではPlamo-5.1から5.2の間に更新したパッケージはどれくらいあるのでしょうか? findで見つけた結果を数えてみました。

$ find Plamo-5.x/x86/plamo -type f -a -name "*txz" -newer plamo-5.1_x86_2013-05-22_dvd.iso | wc -l
463

32ビット版のパッケージだけでも463個が更新されているようです。この数字は全体の何割くらいになるのだろうか、と思って、パッケージの総数を数えてみると1331個でした。

$ find Plamo-5.x/x86/plamo -type f -a -name "*txz" | wc -l
1331

Plamo-5.1を出したのが5月22日、5.2を出したのが12月27日ですから、約7ヵ月の間に全体の35パーセントものパッケージが更新されたことになります。

この割合は「メンテナンスリリース」の割には多すぎる気がします。しかし、もう少し詳しく見ると、Plamo-5.2ではX Window System回り(関連パッケージ87個)やKDE回り(178個⁠⁠、LibreOffice回り(61個)をバージョンアップし、Mateデスクトップ環境を追加(同24個)しています。

これらの更新に関連するパッケージは350個あり、それらを除くと更新したパッケージは113個全体との比率では8.5%ぐらいとなります。すなわち、Plamo-5.1から5.2へのアップデートは「大きな更新4件とそれ以外の更新が全体の1割弱」と考えるのがよさそうです。

さて、それでは大きな更新以外に、この7ヵ月の間にどのようなパッケージが更新されたのでしょうか? アップデート集を作るついでにもう少し詳しくパッケージを眺めてみることにしました。

更新したパッケージの概要

前節の方法を使ってPlamo-5.1から5.2の間で更新されたパッケージを抽出し、各カテゴリごとにまとめると共に、Plamo-5.1で採用していたバージョンも併記して、バージョン等がどれくらい変ったかを整理してみました。

00_base

このカテゴリはLinux環境を構築するための必須パッケージを収めています。更新されたパッケージは21個で、ソフトウェアのバージョンが上がったものが9つ、設定等を調整してビルドし直したものが11、新たに追加したものが1つでした。

表1 Plamo-5.1→5.2で更新されたパッケージ一覧(00_base)
Plamo-5.1 のパッケージPlamo-5.2のパッケージ
kernel-3.9.3_plamoSMP-i586-P1.txzkernel-3.12.5_plamoSMP-i586-P1.txz
iproute2-3.8.0-i586-P1.txziproute2-3.12.0-i586-P1.txz
btrfs_progs-20121105-i586-P1.txzbtrfs_progs-3.12-i586-P1.txz
less-444-i586-P1.txzless-382-i586-P2.txz
linux_firmware-201303-noarch-P1.txzlinux_firmware-201311-noarch-P1.txz
openssh-6.2p1-i586-P2.txzopenssh-6.4p1-i586-P1.txz
openssl-1.0.0k-i586-P1.txzopenssl-1.0.1e-i586-P2.txz
sudo-1.7.10p7-i586-P1.txzsudo-1.8.8-i586-P1.txz
hdsetup-5.1-i586-P1.txzhdsetup-5.2-i586-P1.txz
(not exists)lsb_release-1.4-noarch-P1.txz
aaa_base-5.0-noarch-P1.txzaaa_base-5.0-noarch-P2.txz
bzip2-1.0.6-i586-P1.tgzbzip2-1.0.6-i586-P3.txz
dhcp-4.2.5_P1-i586-P1.txzdhcp-4.2.5_P1-i586-P2.txz
etc-5.0-noarch-P18.txzetc-5.0-noarch-P21.txz
glibc-2.16.0-i586-P5.txzglibc-2.16.0-i586-P6.txz
kmod-13-i586-P2.txzkmod-13-i586-P3.txz
libtirpc-0.2.3-i586-P1.txzlibtirpc-0.2.3-i586-P2.txz
network_configs-0.1-noarch-P2.txznetwork_configs-0.1-noarch-P3.txz
nvi-1.79-i586-P3.txznvi-1.79-i586-P4.txz
shadow-4.1.4.2-i586-P10.txzshadow-4.1.4.2-i586-P13.txz
sysvinit-2.88dsf-i586-P5.txzsysvinit-2.88dsf-i586-P10.txz

linuxカーネルは3.9.3から3.12.5へ、iproute2も3.8から3.12へ、btrfs_progsも日付けのバージョンから3.12という正式バージョンへ、それぞれバージョンアップしています。

ネットワークセキュリティの要(かなめ)であるopenssh/opensslも、半年強の間に複数回バージョンアップしているようです。lessのバージョンが下がっているのは奇異に感じますが、これはless-444では日本語回りの処理が不十分だったため、動作する日本語パッチが存在するバージョンに戻したためです。

一方、このカテゴリでは、ソフトウェアのバージョンは変わらないままP2やP6といったビルド番号のみが増えているパッケージも多く、バージョンアップよりも細部のチューニングによって更新されたパッケージが多いようです。

01_minimum

このカテゴリにはC/C++の開発環境やネットワーク用のツール等、GUIを必要としない基本ツールを収めています。

表2 Plamo-5.1→5.2で更新されたパッケージ一覧(01_minimum)
Plamo-5.1Plamo-5.2
automake-1.12.4-i586-P1.txzautomake-1.13.4-i586-P1.txz
kernel_headers-3.9.3_plamoSMP-i386-P1.txzkernel_headers-3.12.5_plamoSMP-i386-P1.txz
gnupg-2.0.19-i586-P1.txzgnupg-2.0.22-i586-P1.txz
libgpg_error-1.10-i586-P1.txzlibgpg_error-1.12-i586-P1.txz
gpgme-1.3.1-i586-P1.txzgpgme-1.4.3-i586-P2.txz
libgcrypt-1.5.1-i586-P1.txzlibgcrypt-1.5.3-i586-P1.txz
bind-9.9.2_P2-i586-P1.txzbind-9.9.4-i586-P1.txz
curl-7.30.0-i586-P1.txzcurl-7.33.0-i586-P1.txz
ethtool-2.6.36-i586-P1.txzethtool-3.10-i586-P1.txz
libpcap-1.2.1-i586-P1.txzlibpcap-1.4.0-i586-P1.txz
postfix-2.10.0-i586-P1.txzpostfix-2.10.2-i586-P1.txz
rsync-3.0.8-i586-P1.txzrsync-3.1.0-i586-P1.txz
wpa_supplicant-1.0-i586-P1.txzwpa_supplicant-2.0-i586-P1.txz
nfs_utils-1.2.5-i586-P2.txznfs_utils-1.2.9-i586-P1.txz
autofs-5.0.6-i586-P2.txzautofs-5.0.7-i586-P2.txz
libusb-1.0.8-i586-P1.tgzlibusb-1.0.9-i586-P1.txz
ruby-1.9.3_p392-i586-P1.txzruby-2.0.0_p353-i586-P1.txz
sqlite-3.7.16.1-i586-P1.txzsqlite-3.8.0.2-i586-P1.txz
(not exists)elfutils-0.157-i586-P1.txz
(not exists)iw-3.10-i586-P1.txz
(not exists)dnsmasq-2.66-i586-P1.txz
(not exists)hostapd-2.0-i586-P1.txz
(not exists)parprouted-0.7-i586-P1.txz
(not exists)open_iscsi-2.0_873-i586-P2.txz
(not exists)cryptsetup-1.6.2-i586-P1.txz
libc-2.16.0-i586-P5.txzlibc-2.16.0-i586-P6.txz
libtool-2.4.2-i586-P1.txzlibtool-2.4.2-i586-P2.txz
bsd_games-2.17-i586-P2.txzbsd_games-2.17-i586-P3.txz
hddtemp-0.3_beta15-i586-P1.tgzhddtemp-0.3_beta15-i586-P3.txz

このカテゴリではソフトウェアのバージョンアップが18、新しく追加されたパッケージが7、設定ファイル等を修正した再ビルドが4、という結果になり、バージョンアップしたソフトウェアが目立ちます。

特にethtool-3.10, wpa_supplicant-2.0, ruby-2.0.0の3種ではメジャーバージョン(バージョン番号の一桁目)が更新されているので、互換性等に問題が無いか注意しておく必要がありそうです。

02_x11

先にも触れたようにPlamo-5.2ではX Window System一式を更新したので、このカテゴリでは大量のパッケージを更新しています。

更新したパッケージは87個でリストアップは省きますが、77個がソフトウェアのバージョンアップ、10個が新規パッケージの追加でした。

X Window System回りは、Plamo-5.0で採用したX11R77以来の1年半ぶりの更新です。X11R78のリリーススケジュールは未定なものの、構成するソフトウェアはほぼ全てバージョンアップしており、開発は着実に進んでいるようです。

03_xclassic

このカテゴリは、XfceやKDEといった統合デスクトップ環境が生まれる以前の、かなり古いX用ソフトウェアを集めています。今回のアップデートで更新したパッケージは2個、1つは再ビルドで、もう1つはソフトウェアのバージョンアップでした。

表3 Plamo-5.1→5.2で更新されたパッケージ一覧(03_xclassic)
Plamo-5.1Plamo-5.2
FreeWnn-1.1.1_a021-i586-P4.txzFreeWnn-1.1.1_a022-i586-P1.txz
TiMidity++-2.14.0-i586-P1.txzTiMidity++-2.14.0-i586-P2.txz

FreeWnnは、7年8ヵ月ぶりにソフトウェアのバージョンが上がったそうです。

04_xapps

このカテゴリは、firefoxやgimpなど特定のデスクトップ環境に依存しないX用ソフトウェアを集めています。firefoxやthunderbirdはこの7ヵ月の間にずいぶんバージョン番号が進んでいて、開発の活発さをうかがわせます。

表4 Plamo-5.1→5.2で更新されたパッケージ一覧(04_xapps)
Plamo-5.1Plamo-5.2
gimp-2.8.0-i586-P1.txzgimp-2.8.4-i586-P1.txz
hplip-3.12.10a-i586-P1.txzhplip-3.13.10-i586-P1.txz
GraphicsMagick-1.3.16-i586-P1.txzGraphicsMagick-1.3.18-i586-P1.txz
dbus-1.6.8-i586-P1.txzdbus-1.6.18-i586-P1.txz
dbus_glib-0.100.1-i586-P1.txzdbus_glib-0.100.2-i586-P1.txz
nspr-4.9.6-i586-P1.txznspr-4.10.2-i586-P1.txz
glib-2.34.3-i586-P2.txzglib-2.36.4-i586-P1.txz
librsvg-2.36.1-i586-P1.txzlibrsvg-2.40.0-i586-P1.txz
nss-3.14.3-i586-P1.txznss-3.15.3-i586-P1.txz
polkit-0.107-i586-P2.txzpolkit-0.112-i586-P1.txz
thunderbird-17.0.6-i586-P1.txzthunderbird-24.2.0-i586-P1.txz
firefox-21.0-i586-P1.txzfirefox-26.0-i586-P2.txz
gegl-0.2.0-i586-P2.txzgegl-0.2.0-i586-P3.txz
system_config_printer-1.3.11-i586-P1.txzsystem_config_printer-1.3.11-i586-P2.txz
poppler-0.20.3-i586-P1.txzpoppler-0.20.3-i586-P2.txz

05_ext

このカテゴリには、XfceやKDEといった、統合デスクトップ環境が共通に利用するソフトウェアを集めています。ここでは23がバージョンアップ、17が新規追加、4つが再ビルドでした。

表5 Plamo-5.1→5.2で更新されたパッケージ一覧(05_ext)
Plamo-5.1Plamo-5.2
ffmpeg-1.2-i586-P2.txzffmpeg-1.2.4-i586-P1.txz
obexd-0.47-i586-P1.txzobexd-0.48-i586-P1.txz
boost-1.53.0-i586-P1.txzboost-1.54.0-i586-P1.txz
git-1.8.1.4-i586-P1.txzgit-1.8.4.4-i586-P2.txz
jre-1.7.0_21-i586-P1.txzjre-1.7.0_25-i586-P1.txz
qt-4.8.4-i586-P1.txzqt-4.8.5-i586-P3.txz
lua-5.1.4-i586-P3.txzlua-5.1.5-i586-P1.txz
subversion-1.7.6-i586-P1.txzsubversion-1.7.10-i586-P1.txz
httpd-2.4.4-i586-P4.txzhttpd-2.4.7-i586-P1.txz
lftp-4.4.4-i586-P1.txzlftp-4.4.6-i586-P1.txz
php-5.4.15-i586-P2.txzphp-5.5.7-i586-P1.txz
proftpd-1.3.4c-i586-P1.txzproftpd-1.3.4d-i586-P1.txz
samba-3.6.12-i586-P1.txzsamba-3.6.22-i586-P1.txz
perl_XML_Simple-2.18-i586-P2.txzperl_XML_Simple-2.20-i586-P3.txz
pyqt-4.9.4-i586-P1.txzpyqt-4.10.3-i586-P1.txz
sip-4.13.3-i586-P1.txzsip-4.15.3-i586-P1.txz
lcms2-2.3-i586-P1.txzlcms2-2.5-i586-P2.txz
libical-0.48-i586-P1.txzlibical-1.0-i586-P2.txz
taglib-1.8-i586-P1.txztaglib-1.9.1-i586-P1.txz
upower-0.9.18-i586-P1.txzupower-0.9.23-i586-P2.txz
libarchive-3.0.4-i586-P1.txzlibarchive-3.1.2-i586-P2.txz
libmng-1.0.10-i586-P2.txzlibmng-2.0.2-i586-P2.txz
(not exists)celt-0.5.1.3-i586-P2.txz
(not exists)mercurial-2.7-i586-P1.txz
(not exists)yajl-2.0.1-i586-P2.txz
(not exists)docbook2X-0.8.8-i586-P1.txz
(not exists)perl_XML_NamespaceSupport-1.11-i586-P1.txz
(not exists)perl_XML_SAX_Base-1.08-i586-P1.txz
(not exists)perl_XML_SAX-0.99-i586-P2.txz
(not exists)docutils-0.11-i586-P1.txz
(not exists)ipaddr_py-2.1.10-i586-P2.txz
(not exists)pyparsing-2.0.1-i586-P2.txz
(not exists)urlgrabber-3.9.1-i586-P2.txz
(not exists)graphviz-2.34.0-i586-P3.txz
(not exists)youtube_dl-2013.10.23.2-i586-P1.txz
(not exists)Python3-3.3.2-i586-P3.txz
(not exists)dmidecode-2.12-i586-P1.txz
(not exists)usbredir-0.6-i586-P1.txz
(not exists)vte3-0.34.7-i586-P3.txz
icu-49.1.2-i586-P1.txzicu-49.1.2-i586-P2.txz
gtk_vnc-0.5.2-i586-P1.txzgtk_vnc-0.5.2-i586-P5.txz
remctl-3.2-i586-P1.txzremctl-3.2-i586-P2.txz
zope.interface-3.7.0-i586-P1.txzzope.interface-3.7.0-i586-P2.txz
udisks2-1.98.0-i586-P1.txzudisks2-1.98.0-i586-P2.txz

このカテゴリは以前から整理が不十分で、関連性の低いパッケージの仮置き場的になっているのが気になっていました。今回の更新でもあれこれパッケージが追加され、混乱の度が増しているようなので、そろそろ本格的な整理が必要そうです。

06_xfce

このカテゴリに収めているXfceデスクトップ環境は、広く利用されているものの開発ペースはのんびりしており、現在でも2012年4月に公開されたXfce-4.10が公式の最新バージョンです。今回の更新でもソフトウェアのバージョンアップはなく、ライブラリ等の更新を反映した再構築のみでした。

表6 Plamo-5.1→5.2で更新されたパッケージ一覧(06_xfce)
Plamo-5.1Plamo-5.2
orage-4.8.3-i586-P1.txzorage-4.8.3-i586-P3.txz
thunar_volman-0.8.0-i586-P1.txzthunar_volman-0.8.0-i586-P5.txz

KDEのように数ヵ月ごとにバージョンアップされるのも大変ですが、Xfceのように長く公式リリースが無いのもどうなっているのか心配になります。Googleで調べてみると、開発版であるXfce-4.11というバージョンはリリースされているようなので、手が空いたら調べてみることにしましょう。

07_kde

KDEデスクトップ環境は4.9.5から4.11.3にバージョンアップしたので、パッケージ類は全面的に更新しています。大量になるのでリストは省略しますが、ソフトウェアのバージョンアップが103、追加が75でした。

KDE-4.11では、KDE-4.9のころにあったkdegamesやkdetoysといった大きな括りが廃されて、それぞれに含まれていたソフトウェアが独立に扱われるようになったため、追加パッケージが急増したようです。

08_tex

このカテゴリで更新したパッケージはありませんでした。もっとも、ここに収録しているptexlive-2010は既に開発が終了しているので、今後はtexlive等の現状を確認しながら、このカテゴリをどうするか考えることになりそうです。

09_kernel

カーネルのバージョンを上げたので、カーネルのソースコードのバージョンも上っています。

表7 Plamo-5.1→5.2で更新されたパッケージ一覧(09_kernel)
Plamo-5.1Plamo-5.2
kernelsrc-3.9.3_plamoSMP-noarch-P1.txz kernelsrc-3.12.5_plamoSMP-noarch-P1.txz

ついでにパッケージのサイズを見てみると、3.9.3の73MBに対し3.12.5では78MBになっていました。サイズの点からもlinuxカーネルの着実な成長は見てとれそうです。

10_lof

LibreOfficeのバージョンを4.0.2から4.1.3に更新したため、このカテゴリも全パッケージを更新しています。内訳は、ソフトウェアのバージョンアップが60、追加が2という結果で、LibreOfficeもKDE同様、ソフトウェアの切り分け方を多少変更しているようです。

11_mate

Mateデスクトップ環境はPlamo-5.2で新規に追加したので、このカテゴリでは24のパッケージが追加となりました。


以上、32ビット版を元にざっとカテゴリごとにパッケージの更新状況を眺めてみました。Plamo-5.2での更新は、メンテナンス・リリースが前提だったため、各ソフトウェアの最新バージョンを追いかけるよりも、過去との互換性を重視したバージョンを選んでいます。そのため、ここで紹介したバージョンが各ソフトウェアの開発状況をそのまま反映しているわけではありません。しかしながら、ネットワークやセキュリティ関連のソフトウェアはバージョンアップの頻度が高く、開発系のツールがそれに続き、基本ツールの類いは「枯れた」状況になっていることは、今回の結果からも見てとれると思います。

Plamo Linuxの次のバージョンは、GCCやglibcを含めて最新バージョンを追求した「6.0」にしたいなぁ…… と考えてはいるものの、どの程度まで基盤部分に手を入れるかは現在も思案中というところです。

おすすめ記事

記事・ニュース一覧