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

第55回 Plamo-5.2へのアップデート用スクリプト

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

前回はPlamo Linux 5.1から5.2の7ヵ月間にどれぐらいのパッケージが更新されたかを概観し,およそ460個のパッケージが更新されていることを紹介しました。Plamo Linuxでは,パッケージの更新用にupdatepkgというコマンドを用意しており,このコマンドを使えば,古いパッケージの削除と新しいパッケージのインストールが同時に行えます。

それでは,このコマンドを使って更新された460個のパッケージを更新してしまえばPlamo-5.1が5.2になるのかというと,そう単純には行かない問題もあります。今回はそのあたりの話題を取りあげましょう。

無くなったパッケージ

今回のバージョンアップはメンテナンスリリースという位置付けだったので,パッケージ類の大規模な整理は行なわなかったものの,Plamo-5.1にあって5.2では無くなったパッケージがいくつかあります。

前回紹介したように,更新したパッケージや追加したパッケージはファイルの作成時刻を手がかりに簡単に見つけることができるものの,無くなったパッケージは更新履歴であるChange.Logを頼りに調べるしかありません。また,KDEやLibreOfficeでは,バージョンが上がった際にいくつかのパッケージが統合されたり分割されたりしているようです。

それらをざっと調べたところ,Plamo-5.2で無くなったパッケージは,より処理が高速になったというlibjpeg-turboで置き替えたjpegバージョン2.1になってUTF-8以外のファイルシステムに非対応になったvlcおよびvlcのみが使っていたgoom2k4, libaacs, projectM, それからKDEのバージョンが上がった際に分割されたkdeadmin, kdegames, kdenetwork, kdesdk, kdetoys, printer_applet, 同じくLibreOfficeのバージョンが上がった際に整理されたlibobasis_javafilter, libobasis_extension_python_script_providerの13個でした。

更新された後継パッケージが存在する場合,新しいパッケージをupdatepkgコマンドでインストールすれば古いパッケージは自動的に削除されるのに対し,後継パッケージのないこれら13のパッケージはremovepkgコマンドで明示的に削除する必要があります。

設定ファイルの問題

パッケージ管理ツールを利用すれば,古いパッケージからインストールした全てのファイルを漏れなく削除して,新しいパッケージのファイルで置き替えることが簡単にできます。しかし,単純に古いファイルを削除してしまうと困ることもあります。その典型的な例がシステムの設定ファイルで,たとえば/etc/passwdを削除して新しいファイルで置きかえてしまうと,利用者情報が失なわれてしまいます。

もちろん,このような問題はパッケージを作成する際にも考慮されており,Plamo Linuxの場合,パッケージにはpasswdではなくnpasswdという名前のテンプレートファイルを用意して,/etc/passwdが無い場合にのみnpasswdをpasswdにリネームすることで,/etc/passwdの上書きを防ぐようにしています。

一方,パッケージの更新によって,これらのテンプレートファイルに修正が加わることもあります。たとえば,Plamo-5.1から5.2の間でetcパッケージはP18からP21にまで更新され,Change.Logの履歴を見るとpasswdやgroupのテンプレートに対する変更も行われています。

 平成25年11月12日(火)
 
 ・etc-5.0 を更新。
   - polkituser のホームディレクトリを /home/polkituser に設定。
   - libvirt-qemu ユーザ,libvirt,cgred グループを追加。
   (plamo/00_base/etc-5.0-noarch-P19.txz)
 # TODO: PYTHONPATH 環境変数の見直し。

このような場合,修正・追加された設定を反映するには/etc/passwdや/etc/groupを修正しなければなりませんし,かと言って単純に新しいテンプレートファイルでこれらのファイルを上書きしてしまうと既存の設定を壊してしまいます。

前回,Plamo-5.1から5.2の間で更新したパッケージの一覧を紹介しました。その際,ソフトウェアのバージョンは変らないものの,パッケージのビルド番号が更新されているパッケージが複数あることを指摘しました。それらのパッケージではこの種の設定ファイルレベルの修正が多くみられ,その修正を既存のPlamo-5.1環境に反映するためには何らかの工夫が必要となります。

著者プロフィール

こじまみつひろ

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

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

コメント

コメントの記入