上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2005/7/26
linux-kernelメーリングリストかいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。4月から始まったバージョン管理ツールの混乱もそろそろそれなりに収まったようです。そして、6月は初めてgitベースでの安定版カーネルがリリースされました。
では、6月のLinuxカーネル関連の状況について、見てみましょう。
gitベースでも(何とか)無事2.6.12リリース
6月17日に、gitによる初の安定版カーネル2.6.12がリリースされました。新しい環境での新リリースなので、いくつか驚きがありました。
まず、ChangeLogには2.6.12-rc2以降の変更点しか含まれていません。gitに移行したのが2.6.12-rc2だったので、それ以前についてはChangeLogをgitで自動生成できないためです。2.6.12-rc2以前の変更も知りたければ、「どこかで公開されている過去のChangeLogを自分で探して追加すればよい」というのがLinusの説明です。確かにそのとおりなのですが、ちょっと不親切です。
また、パッチの適用の仕方についても多少の混乱がありました。今回リリースされたパッチは、2.6.11.12を2.6.12にするのではなく、2.6.11を2.6.12にするためのパッチになっています。一般的には「安定版の最新のリリース」は2.6.11.12であることを考えると、パッチを逆行していったん2.6.11に戻す必要が生じるため、不便です。
また、Linusはgitのtarへのエクスポート機能を利用して今回のリリースを作成しました。gitはその機能の一部として、「tar pax extended headers」を利用しています。具体的には、gitのコミットID(注)をtarファイルのコメントとして記録しています。
注:commitオブジェクトのSHA-1ハッシュ値。gitはオブジェクトのハッシュの値でリビジョンを管理している。 |
しかし、この機能を利用するには1.14以降のGNU tarが必要になります。それ以前のバージョンのtarを利用して展開してしまうと、下記のような中身を持つpax_global_headerというファイルができてしまいます。
52 comment=9ee1c939d1cb936b1f98e8-d81aeffab57bae46ab |
このようにいろいろありましたが、gitに移行してからも安定版カーネルのリリースができたということで、重要な一歩ですね。
参考リンク: | ||
2.6.12のChangeLog | http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 |
2000以上のパッチを取り込んだカーネル2.6.13-rc1
カーネル2.6.12がリリースされるまで、しばらくはリリース直前ということでLinusのツリーに対して大きな変更は適用されませんでした。そのため、-mmツリーにパッチが蓄積していました。Linusは2.6.12をリリースした後、-mmツリーでテストしていたパッチを取り込み、2週間程度で2.6.13-rc1を出しました。
短い期間でしたが、2000以上のパッチが含まれており、ほとんどすべてのサブシステムに対して変更が加えられています。差分のサイズは圧縮しても3Mbytesになります。shortlog(gitの出力する変更履歴のサマリ)が100kbytesを超えているため、メールに添付することもできません。ChangeLogのサイズは2Mbytes以上です。
「gitになったけど開発の速度は遅くなったわけじゃない、うまく回っているぞ」といったところでしょうか?
参考リンク: | ||
2.6.13-rc1の ChangeLog |
http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.13-rc1 |
-stableリリースはどうなったか
-stableリリースは6月になっても継続しています。Chris WrightとGreg Kroah-Hartman(以下Greg K-H)が継続してリリース管理をしています。途中、Linusの2.6.12リリースを挟んだものの、順調に安定版カーネルをリリースしています。
- 2.6.11.12(6月9日)
BTTVドライバの修正、hfsplusファイルシステムのoopsの修正、ext3ファイルシステムのassertionの修正など。9個のパッチが入っています。
- 2.6.12.1(6月22日)
2つのセキュリティフィックスが適用されています。サブスレッドの実行についての問題(CAN-2005-1913) と、ia64 ptraceとsigrestore_contextの問題 (CAN-2005-1761) についてパッチが入っています。
- 2.6.12.2(6月30日)
2.6.12になってから初めての「-stable review」プロセスを経たリリースです。pci-driver.cにある明らかなタイプミスやe1000ドライバのロジックミスなどの修正、qla2xxxドライバのちょっと込み入った初期化部分の修正など、7個のパッチが含まれています。
参考リンク: | ||
2.6.12.yのGreg K-Hのgitツリーのサマリ | http://www.kernel.org/git/?p=linux/kernel/git/gregkh/linux-2.6.12.y.git;a=summary | |
2.6.12.yのChris Wrightのgitツリーのサマリ | http://www.kernel.org/git/?p=linux/kernel/git/chrisw/linux-2.6.12.y.git;a=summary | |
2.6.11.12のChangeLog | http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11.12 | |
2.6.12.1のChangeLog | http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12.1 | |
2.6.12.2のChangeLog | http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12.2 |
1/2
|
|
||||
|
連載 Linux Kernel Watch |
Linux Squareフォーラム Linuxカーネル関連記事 |
連載:Linux Kernel Watch(連載中) Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします |
|
連載:Linuxファイルシステム技術解説 ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する |
|
特集:全貌を現したLinuxカーネル2.6[第1章] エンタープライズ向けに刷新されたカーネル・コア ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する |
|
特集:/procによるLinuxチューニング[前編] /procで理解するOSの状態 Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する |
|
特集:仮想OS「User
Mode Linux」活用法 Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
Linuxのカーネルメンテナは柔軟なシステム カーネルメンテナが語るコミュニティとIA-64 Linux IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|