vine-users ML アーカイブ



[vine-users:067948] Re: uname で locale が効かない

  • From: HOTTA Michihide <hotta@xxxxxxxxxxxxxx>
  • Subject: [vine-users:067948] Re: uname で locale が効かない
  • Date: Tue, 28 Sep 2004 11:21:16 +0900
堀田@長崎市です。

on 2004/09/28 10:31 Shu KONNO said the following:
> uname 出力の日本語を抑止しようとロケールを設定しても効果あり
> ません。
> 
> $ LC_ALL=C uname -rv
> 2.4.26-0vl16smp #1 SMP 2004年 8月 22日 日曜日 14:35:54 JST
> 
> /proc/sys/kernel/version にも同じものが入ってるのでカーネル
> のリビルドしか手がなさそうなんですが、そういうものなのでし
> ょうか?
> 
> # Vine 3.0 新規インストール + updates 環境です

現実逃避にちょっと追ってみましたが、

1.uname コマンド -> sh-utils に入っている。
2.uname.c -> uname(2) を呼んでいるだけ。struct utsname で受け
  取るみたい。
3.kernel/sysctl.c を見ると、それらしいデータは
  system_utsname.version らしい。
4.include/linux/utsname.h によると new_utsname という構造体ら
  しい。
5.init/version.c で実体を定義している。その際の値は
   UTS_VERSION というシンボルらしい。
6.Makefile によると、
include/linux/compile.h:\
  $(CONFIGURATION) include/linux/version.h newversion
  @echo -n \#`cat .version` > .ver1
  @if [ -n "$(CONFIG_SMP)" ] ; then echo -n " SMP" >> .ver1; fi
  @if [ -f .name ]; then  echo -n \-`cat .name` >> .ver1; fi
  @LANG=C echo ' '`date` >> .ver1
  @echo \#define UTS_VERSION \"`cat .ver1 | $(uts_truncate)`\" > .ver

つうことで、カーネルのビルド時に LANG=C しないとどうにもならない
ような気がします(^^;;;
-- 
堀田 倫英 <hotta@xxxxxxxxxxxxxx> http://www.net-newbie.com
GPG Finger Print : 7C3F E633 CC38 C53E E61A  CF08 F8EF CA01 4ACB C9F5