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

第41回 Plamo Linux-5.0

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

子供のころの一年はずいぶん長かった記憶がありますが,大人になると,日々の雑事に追われているうちにあっと言う間に月日が過ぎ,一年をずいぶん短く感じるようになりました。

64ビット版のパッケージを先行リリースしたPlamo64-1.0から丸一年,昨年末になってようやく32ビット(x86)⁠64ビット(x86_64)の両アーキテクチャに対応したPlamo-5.0をリリースすることができました。Plamo-5.0はマルチアーキテクチャに対応した初めてのPlamo Linuxで,2004年6月にリリースしたPlamo-4.0から8年半ぶりにメジャーバージョンが上がったことになります。

そんなに経ってたのか…,と思ってPlamo-4.0当時の更新履歴を眺めてみると,当時のデフォルトのカーネルは2.4.26(contribに2.6.7)⁠GCCは3.3.2,glibcは2.3.2,XはXFree86-4.4.0,ブラウザはmozilla-1.7.1を採用していたようです。

もちろん,Plamo Linuxも8年間立ち止まっていたわけではなく,年に1,2度のマイナーバージョンアップを繰り返しながら,これらソフトウェアの新版に追従してきたわけですが,この8年の間にLinuxに関連する環境や技術がどれくらい進化したか,そのために世界中でどれだけの開発者が貢献してきたのかを考えると,改めて目がくらみそうな思いがします。

今回リリースしたPlamo-5.0は,昨年先行してリリースしたPlamo64-1.0を元に,32ビット版のパッケージを追従するような形で開発を進めたこともあって,機能や特徴的にはそう目新しさは感じないものの,こうして積み重ねてきた時間を考えると感慨深いものがあります。

今回は新しい年の初めでもありますし,このPlamo-5.0の特徴を紹介しつつ,今後の展望を語ってみましょう。

Plamo-5.0の特徴

前述のように,Plamo-5.0は2011年末にリリースしたx86_64用のPlamo64-1.0に32ビット版のパッケージを追従させた形なので,主な特徴は以前紹介したPlamo64-1.0と大きく異なるものではありません。しかしこの1年ほどの間に64ビット版のパッケージのバージョンも更新が進んでいるので,改めて主要なソフトウェアについて紹介しておきましょう。

カーネル 3.7.1

LinuxカーネルはPlamo-5.0リリース時点での最新の安定版である3.7.1を採用しました。最近では,一般ユーザ向けの機能はほぼ完成しているので,⁠最新版のカーネル」といっても機能的に大きな差はありませんが,新しいハードウェアのサポートは最新のカーネルにまず入りますし,3.7系以前のカーネルはメンテナンス終了(EOL:End Of Life)が宣言されているので,最新版に追従し続けていく以外の選択肢は無さそうです。

カーネルには,従来同様,コンソールに日本語を表示するためのuniconパッチやファイルシステムを重ね合わせるaufsパッチなどを適用しています。

$ uname -a
Linux vm32 3.7.1-plamoSMP #1 SMP PREEMPT Wed Dec 19 21:29:27 JST 2012 i686 GNU/Linux

コンソールを日本語化するためのuniconパッチは,シェルスクリプトで書かれたインストーラを使っているPlamo Linuxにとって最も重要な機能の一つですが,最近では開発者によるメンテナンスも終了しており,将来のカーネルへの対応には不安なところもあります。カーネルのコンソール回りのコードがuniconパッチが当たらない程変ってしまった場合にどうするか,そろそろ検討しておいた方がいいかも知れません。

Btrfs対応

インストール時にBtrfsをルートファイルシステムに利用することが可能になりました。

図1 インストーラのファイルシステム選択画面

図1 インストーラのファイルシステム選択画面

Btrfsには面白そうな機能がいくつもあるものの,手元では試用中の1.5TBのファイルシステムが完全に崩壊したこともあり,まだまだExt系のファイルシステムほどには安定していないようです。Btrfsを試す場合は重要なデータのバックアップをお忘れなく。

Btrfs以外では,Ext4/3/2がルートファイルシステムに利用可能です。ReiserfsJFSXFSはモジュールとして用意しているので,ルートファイルシステムとしては使えませんが,既存のファイルシステムをマウントすることは可能です。

X11R77

X Window Systemは2012年夏にリリースされたX11R77を採用しています。xorg-serverは1.12.4になり,ビデオカード等の認識機能も強化されて,たいていの環境では設定ファイルである/etc/X11/xorg.confを用意しなくても動作するでしょう。

$ head /var/log/Xorg.0.log 
[   162.715] 
X.Org X Server 1.12.4
Release Date: 2012-08-27
[   162.722] X Protocol Version 11, Revision 0
[   162.725] Build Operating System: Linux 3.1.5-plamoSMP i686 
[   162.729] Current Operating System: Linux vm32 3.7.1-plamoSMP #1 SMP PREEMPT Wed Dec 19 21:29:27 JST 2012 i686
[   162.731] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.7.1-plamoSMP root=/dev/sdb1 ro vga16 unicon=eucjp vt.default_utf8=0 panic_output=7
[   162.741] Build Date: 30 August 2012  01:53:16PM
[   162.742]  
[   162.744] Current version of pixman: 0.26.2

かつてのX Window Systemは,プロトコルの定義ファイルからライブラリ,Xサーバ,各種アプリケーションまでがひとつのソースツリーにまとめて公開され,"make World"のコマンド1つですべてのソフトウェアをビルドするようになっていました。

しかし,X11R7以降は,ソースコードが各パーツごとに分割され,それぞれが1つのソフトウェアプロジェクトとして独立に開発されるようになりました。その結果,X Window Systemとしての「リリース」の意味は以前に比べて弱くなり,X11R77はX Window Systemの「公式リリース」としては最新ではあるものの,独立に開発が進んでいるビデオカードのドライバの中には,すでにかなり重要な更新が入った新バージョンに更新されているものがあるようです。Plamo-5.0環境で動作しないビデオカードが報告されれば,随時,新ドライバに更新していく予定です。

glibc-2.16

標準Cライブラリをeglibc-2.13からglibc-2.16に変更しました。

一時期,glibcのバグ修正や組み込み向けCPUへの対応が順調でなかったことがあり,それらに熱心なeglibcに乗り替えていましたが,glibcの開発体制も一新したようなので,再度glibcの系統に戻しました。もっとも,eglibcはglibcとバイナリ互換になっているので,eglibc-2.13を使うようにビルドされたバイナリファイルもglibc-2.16で問題なく動作します。

なお,最近のglibcではIPv6に対応していなかったRPC関連の機能が削除され,それらはlibtirpcという独立したライブラリで対応するようになっています。最近のソフトウェアはlibtirpcを参照しますが,libtirpcを知らない古いソフトウェアもあるため,RPC関連のヘッダファイルのみはglibcの一部として提供しているのでご注意ください。

libtirpcが提供するヘッダファイルは/usr/include/tirpc以下, glibcが提供するヘッダファイルは/usr/include/rpc以下になっています。

最近のソフトウェアはpkg-configの機能を用いてlibtirpcを正しく参照できますが,glibcのRPCヘッダーを見る古いソフトウェアではMakefile等を修正してlibtirpcを明示的にリンクしてやる必要があります。

grub-2.00/lilo-23.2

カーネルをロードするためのブートローダも新しくしました。grub-2.00は広く使われていたgrub legacy(grub-0.97)を完全に書き直した新しいgrubで,機能が細かくモジュール化されており,ブロックを積み重ねるように必要な機能のみを追加していくことが可能になっています。その反面,従来のgrub legacyとは非互換になっているので,設定ファイルを使い回すことはできません。もっとも,そのような違いはセットアップ用スクリプトで吸収するようにしてみたので,インストール時の操作では特に違いを意識する必要はないでしょう。

一方,lilo-23.2はlilo-22系ではブートできなくなっていたlinux-3.xをブートする機能を追加したバージョンで,その他の機能は従来のlilo-22系と同じ,設定ファイルも流用可能です。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html

コメント

コメントの記入