configureとNIS

configure

Cellコンテストのサーバに入って、自分のホームディレクトリの下にbinディレクトリを作ってzshvimを入れてみた。動いた。いつもソフトのインストールはaptやyumに頼っているのでconfigure -> make -> make installの流れには実は慣れていない。実はちょっと前までこういう実行ファイルをインストールするにはroot権限が必要だとさえ思っていた。別にホームディレクトリの下にインストールするならばroot権限はいらないよねjk。

いくつか見つけたのでメモ

configureでMakefileを作れる。./configure [オプション]としてやることでインストールディレクトリを変えた。

たぶんソフトウェアによってconfigureで設定できる項目は違いがあるのだろうけれど、

./configure --help

でその項目を列挙できる。例えばvimソースコードを解凍したディレクトリの中で上のコマンドを打ったら、インストールディレクトリを変えるための説明が書いてあった。

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

コンピュータにガリガリ計算させる感じでコンパイルって面白いね。

NIS

さて、せっかくzshをインストールしたのだからchshしてzshをデフォルトのログインシェルにしたいところ。

DEV % chsh
chsh: can only change local entries; use ypchsh instead.

って言われた。ypchsh? 聞いたこと無いぞ、ということでman ypchshとしてみたら

...
NIS 環境下では、通常の passwd(1), chfn(1), chsh(1) はユーザーのパスワード・シェル・GECOS 情報の変
更を行えない。なぜならこれらのコマンドはローカルなホストの passwd ファイルしか変更できないから で
ある。NIS 情報を変更するには、それぞれの NIS 版である yppasswd, ypchfn, ypchsh を代わりに用いる。
...

だそうだ。NIS?聞いたこと無いぞ。ということで調べてみたらNISというのはパスワードやログインシェルの情報を一元して管理する方法らしい。いくつかのマシンでログイン情報を共有するため、ここのマシンのpasswdファイルは編集するべきではないらしい。

で、ypchshを使ってみるが、

DEV % ypchsh
ypchsh: can't get local yp domain: ローカルドメイン名が設定されていません

と言われてしまった。よくわからないのでここで終わり。多分NISというものの設定がちゃんとされてないんじゃないかと思うのだが...