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

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

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

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

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

コメント

コメントの記入