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

第97回 そろそろ出しますPlamo-7.0

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

新年度が始まり,早やひと月近くが経過しました。新しい職場や学校など,環境が大きく変った方々も,多少は落ちついてきたころでしょうか。

身辺多忙等の理由で昨秋から半年近く休載していた本連載も,新年度を機に再開することになりましたので,従前通りのご愛読のほど,よろしくお願い申しあげます。

さて,連載再開の最初に取りあげるべき話題はやはり,現在,開発が最終段階に入っているPlamo Linuxの新しいバージョン(Plamo Linux 7.0)でしょう。

図1 新しく採用したLXDE環境

図1 新しく採用したLXDE環境

Plamo Linux 7.0について

Plamo Linux 7.0(Plamo-7.0)は,2017年2月に公開したPlamo-6.2以来の新リリースで,2015年に公開したPlamo-6.0以来,3年ぶりのメジャー・バージョンアップになります。

今回,Plamo-7.0の開発で目指したのは過去のしがらみからの決別です。

ご存知のように,Plamo Linuxは最古参のディストリビューションのひとつであるSlackware Linuxの日本語化を目指して始めたプロジェクトです。Plamo Linuxの開発を始めた当時は,ソフトウェアの多言語化も未熟で,そのままでは日本語を扱えないソフトウェアが多数ありました。そこで,日本語化が必要なソフトウェアはあらかじめ日本語化パッチをあてたバージョンに入れ替えると共に,インストーラも日本語化して,インストール直後から日本語環境を簡単に利用できることを目指したのがPlamo Linuxの始まりです。

当初こそSlackware Linuxのバージョンアップに追従していたものの,ユーザーの協力で日本語対応されたパッケージが集まってくるに伴ない,Slackware Linuxから分岐した独自のディストリビューションとして開発することになったのが前世紀の末ごろ,かれこれ20年ほど昔のことになります。

この20年ほどの間にLinuxを中心としたOSS環境は驚くほどの進化を遂げました。この連載でも何度か取りあげたLinuxカーネル発展の歴史は言わずもがな,ユーザー領域についてもGTKやQtといったGUIツールキットをベースに,GNOMEやKDEといった統合デスクトップ環境が開発されると共に,それらを支える文字コードやフォントも整備が進みました。

もちろんPlamo Linuxでも統合デスクトップ環境を取り入れたり,マルチメディア関連の機能を充実させたりしてきたものの,ベースとなる部分には20年前に標準だった仕様が残っており,屋上屋を架すような複雑な状態になっていました。

そのためPlamo-7.0では,それら過去のしがらみ的な部分をばっさりと整理して,現代の標準的なLinux環境に準じたスタイルに装いを改めることにしました。個々の詳細については本連載で随時紹介してゆく予定ですが,今回はイントロダクション的に大きな変更箇所を簡単に紹介してみます。

起動処理の正式なSysVinit化

最近はSysVinitよりも高速な起動処理を可能にするsystemdを採用するディストリビューションも多く,すでに周回遅れの感がありますが(苦笑)⁠Plamo-7.0では起動時の処理を正式なSysVinit形式に変更しました。

もちろん,Plamo Linuxでも最初期から起動処理にはsysvinitパッケージを採用してはいたものの,お手本にしたSlackware LinuxがsysvinitでSunOSの起動処理をエミュレートするという仕様になっていたのに従って,rc.Sでシングルユーザー用の初期化処理,rc.Mでマルチユーザー用の初期化処理,rc.localでホストごとの初期化処理を行う,というスタイルを採用していました。

起動処理にrc.S/rc.M/rc.localを使うのは古いBSD UNIXに由来し,Solaris以前のSunOSが採用していた形式で,80年代にUNIXを学んだ人間には慣れ親しんだスタイルでした。しかしながら,SunOSも歴史の彼方に去った現在では,敢えてそのスタイルに固執する必然性もないため,/etc/rc.d/init.d/以下に収めた起動処理スクリプトへのシンボリックリンクをrc0.dからrc6.dまでのランレベルに応じたディレクトリに収める,という標準的なSysVinitの仕様に変更しました。

同じSysVinit形式といっても,起動処理用スクリプトはディストリビューションごとにさまざまです。どのスタイルがいいかなぁ,と検討した結果,LFS(Linux From Scratch)プロジェクトのスクリプトを採用することにしました。

LFSはその名の通り,Linux環境を0からビルドしていく手順を紹介しているプロジェクトで,全ての作業を手動で行うことを想定しているため,動作に必須の機能しか含まない必要最小限のシンプルさが魅力です。Plamo Linuxでは,以前からパッケージ作成の手順等にLFSを多いに参考にしていました。

このスクリプトでは処理の成功,失敗が色分けで表示されてわかりやすくなると共に,起動処理を並列化できるようになった結果,電源ONからログイン可能になるまでの時間がずいぶん短縮できました。

図2 Plamo-7.0の起動画面

図2 Plamo-7.0の起動画面

著者プロフィール

こじまみつひろ

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

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

コメント

コメントの記入