いいじまです。分かる範囲で。 > These files are not intended for editing or use by any additional > utilities as their format is subject to change in the future. ... > こうしたファイルは、外部のいかなるユーティリティによっても、 編集・使用 > されることを想定していません。 ファイルの書式は、将来変わるかもしれない > のです。 > editing と use を同格と取りましたが、正しいかどうか。 その解釈でしっかり辻褄が合うと考えます。 useは「使用(利用)すること」という意味の名詞ですね。 わざわざeditingと併記していることから、 ・editing=ファイルを書き換えて当該モジュールの振舞を操作すること ・use=ファイルの中身を読解・解釈して何らかの判断を下すこと と読み取れます。 > "additional utilities" を kmod のツール以外のユーティリティと > 考えましたが、これも正しいかどうか。正しくないとすれば、何なのか。 これも正しいと考えます。 > "as their format is subject to change in the future" の > "as" もよく分かりません。 このasは普通に「理由を示すas」だと思います。 > 「ファイルの書式が変わるかもしれない」ことが、 > 「外部ユーティリティによって使用されることを意図しない」ことの > 十分な理由になるとは思えませんし、どうつながっているんでしょう。 その次の文を読むと、設定ファイルのバイト列を独自に解読するコードは 「車輪の再発明」だから書くな、必要と思われる機能はすべて modinfo(8) に encupsulate してあるからそれを下請けとして使え、という意味に取れます。 その理由を具体的に掘り下げていくと、次の3つが挙げられると思います。 ●カーネルモジュールの設定ミスはほんの些細な誤りでもブルースクリーン、 さらには不可逆的データ損失に直結しかねないため、そういう最悪の事態を あらかじめ牽制したい。そもそもLinuxマシンの運用管理者の圧倒的多数は、 カーネルやドライバなどに関する深い知識・技術を有しない人たちである。 ●後方非互換な仕様変更が行われた後の移行期に、旧仕様のファイルを使う 動作環境と、新仕様のファイルを使う動作環境が、同一の管理者のもとに 混在する恐れがある。その場合に、同じ内容のツールなのに別々のソース コード・別々のバイナリを用意するようでは混乱が生じる恐れがある。 それを避けるためにも modinfo(8) を使え。 ●近年ではLinux界隈でもビルド済アプリのバイナリ配布がごく一般的に なっているため、仕様変更と同時にノータイムでサードパーティー アプリが追随することは期待できない。 ※特に、新しいカーネルのアルファ版を開発している最中には、 設定ファイルの仕様自体がコロコロと変わる可能性がある。 それでも、設定ファイルの読み書きを純正のコマンド類に encupsulate しておき、設定ファイルの仕様変更とともに各コマンドをそれに追随 させてカーネルと同梱で配布すれば、ユーザーサイドでコードを 書き直す必要がなくなる。 ただこの「勝手にいじるな」を100%厳守すべきかというと、さすがに「設定ファイルが 大々的に破損していてシステムが正常に稼働しないため、自己責任を前提に手作業で (あるいは急造のスクリプトで)修復する」というシナリオあたりは例外でしょう。 -- 飯嶋 浩光/でるもんた・いいじま @ PC IIJIMA Hiromitsu, aka Delmonta Email <delmo****@denno*****>