[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:03135] Re: Question of updating kernel 2.2...



佐藤光です。

On Fri, 25 Jun 1999 01:09:28 +0900
"MATSUYAMA Takaaki" wrote:

> ということで、sysvinit のバージョンの確認方法と

色々試してみましたが、sysvinitコマンド一式、Versionが表示さ
れるオプションはみあたりませんでした。

# 以下、私が取った方法を書いてみます。
# だけど、小面倒くさい方法ですので、もっとマシな方法が他に必
# ずあると思います。

ソースファイルを見てみると、init.c の中で、fork()する前に 
INIT_VERSION なる環境変数をputenv()していることが判明しました。
ところが、シェルの環境変数にも、INIT_VERSION は見当たりません
し、init自体の環境変数には、INIT_VERSIONがありません。
# env や、less /proc/1/environ で確認しました。

というわけで、initから fork()して実行されているコマンドには、
INIT_VERSION が設定されているハズです。
「init から fork()して実行されているコマンド」を探す方法が
解からなかったので、短絡的に、環境変数 INIT_VERSION が設定さ
れているプロセスを探してみます。

ps `find /proc -name environ \
    -exec grep -l 'INIT_VERSION' {} ';' \
  | sed -e 's!^/proc/!!;s!/environ!!'`

それが解かれば、適当な プロセスID(下の例では 135) を使って

less /proc/135/environ 
# 「バイナリファイルみたいだが、ど〜する?」と確認を求めら
# れるので「いいから開け!」として中を見ましょう。

として、目を皿にしてINIT_VERSIONを探せば initのバージョンが
解かると思います。

> ソース/バイナリのありかをご教授頂けますでしょうか。

私は、
  ftp://ftp.slackware.org/pub/linux/source/a/sysvinit/
から拾ってきました。
また、sysvinit-2.76/doc/Propaganda を読むと、

  tsx-11.mit.edu:/pub/linux/sources/sbin
  sunsite.unc.edu:/pub/Linux/system/Daemons 

にあるようです。
# 私は、SlackWareから拾ってきた後 sunsiteを覗きに行きました
# が、上記の場所とは微妙に違う場所になっていました。

-- 
--------
佐藤  光
  mailto:hical@on.rim.or.jp
  http://www.on.rim.or.jp/~hical/

Follow-Ups
[plamo:03144] Re: Question of updating kernel 2.2..., MATSUYAMA Takaaki
References
[plamo:03098] Re: Question of updating kernel 2.2..., Yasutada SHIMAZAKI
[plamo:03133] Re: Question of updating kernel 2.2..., MATSUYAMA Takaaki

[検索ページ] [メール一覧]
Plamo ML 公開システム