[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:18148] Re: utmp warning
沼尻です。
At Mon, 4 Oct 1999 13:35:56 +0900,
Yuusuke Tahara <m5021212@xxxxxxxxxxxx> wrote:
>
> たはら@会津大です.
(省略)
> これは,たぶん「getlogin() で utmp のエントリーが得られないから,代り
> に LOGNAME を使うよ」と言っているのではないかと思うのですが..つまり,
> LOGNAME はセットされているけど getlogin() が効いてないんだと思います.
すいません、勘違いしていました (^^;
man utmp(5), man getlogin(3) を見ると、getlogin は utmp を参照するけど X から
ログインする場合は(xdm を用いてログインする場合は) utmp じゃなく wtmp を作る
べきと書かれているので、この違いの影響を受けているみたいですね。
# でも、この getlogin は perl じゃなくて C なんだよな・・・
> 私の環境だと,コンソールからログインしても変りませんでした.
> したがって,沼尻さんの状況とは異なるのかも知れません.
> # なんとなく原因は fakeroot 関係のような気がしてます.
で、これを調べてみようと思ったら fakeroot が
ii fakeroot 0.0-17.5 Gives a fake root environment.
という、いつインストールしたのか分からないぐらい古いものなので (^^;
新しいバージョンのものをいれてから試してみます。
> とりあえず,getlogin() について Perl 本には
> 「/etc/utmp から,(もし見つかれば)現在のログイン名を返す.
> 偽が返されたら,getpwuid を試してみれば良い.」
> とありましたので,/usr/lib/dpkg/controllib.pl の最初の方で
>
> $getlogin = getlogin();
>
> とあるのを,Perl 本の通りに
>
> $getlogin = getlogin() || (getpwuid($<))[0];
>
> に変更したら,警告は出なくなりました.
エラーの示す部分が単にユーザー名が欲しいだけなら、メンテナさんに
このように直してもらったほうが良さそうですね。