Chapter 4. 初起動

目次
4.1. 何かおかしいとき
4.2. ログイン
4.3. キーボードレイアウトの変更
4.4. man コマンド
4.5. ルートのパスワードの変更
4.6. シェルの変更
4.7. システム時刻
4.8. /etc/rc.conf の基本的な設定
4.9. ホスト名の設定
4.10. システムの再起動

インストール後は、コンピューターはハードディスクからリブートします: 完璧なら、ログインプロンプトが数秒で現れます。 (あるいは、ハードウエアによっては数分)。 システムはまだ設定されていませんが、心配しないで: 設定は 非常に簡単で、この手引きは矛盾せず、それよりも、かなりの柔軟性を与えてくれます。 あらゆる事に関する手っ取り早い設定法がわかり、 システムの動作が勉強でき; 将来トラブルが起ったときに どこを見れば良いのかがわかります。

4.1. なにかおかしいとき

もし、システムが起動しなければ、ブートマネージャーが正しく インストールされていなかったか、 MBR (Master Boot Record) に問題がある可能性があります。 ブートフロッピーで再起動し、次のプロンプトが出たら

booting fd0a:netbsd - starting in ...    

5秒のカウントダウンの間にスペースを押します; 起動が停止し、プロンプトがでます。 "?" キーか "help" コマンドで簡単なヘルプが出ます。

type "?" or "help" for help.
> ?
commands are:
boot [xdNx:][filename] [-adrs]
     (ex. "sd0a:netbsd.old -s")
ls [path]
dev xd[N[x]]:
help|?
quit
> boot wd0a:netbsd
    

これで、システムはフロッピーの代わりに ハードディスクから起動します。 もし、これでハードディスクから正しく起動するなら、たぶん MBR(Master Boot Record) が問題で、 fdisk -B コマンドで、ブートマネージャーのインストールや設定の変更ができます。 詳しくは Section 20.4 をご覧ください。

4.2. ログイン

最初のログインには、インストールが終わった段階で ひとつしか定義されていないユーザー、スーパーユーザーの root でログインします。 password プロンプトの後には、 インストールで定めたルートのパスワードを入力します。 もし、パスワードを定めていない場合は、単に Enter を押します。

NetBSD/i386 (Amnesiac) (ttyE0)
login: root
password
...
We recommend creating a non-root account and using su(1) for root access.(訳: ルート以外のアカウントを作り、 su(1) でルートになることを推奨します。)
#
    

4.3. キーボードレイアウトの変更

キー配列は US レイアウトになっています; 違う配列を使っているなら、 システム設定の変更の前に配列を変更するのが良いでしょう。 例えば、 italian キーボードを使うなら、 次のコマンドで:

# wsconsctl -k -w encoding=it
encoding -> it    

キー配列の全一覧は /sys/dev/wscons/wsksymdef.h (KB_ENCTAB をご覧ください)にありますが、 一般的な配列のいくつかは:

de
dk
fr
it
jp
sv
uk
us
no
es

この設定が有効なのは、再起動するまでです。 常用にするなら、 /etc/wscons.conf

encoding it    

を付け加えてください。キーボード配列をカスタマイズすることもでき; たとえば、イタリア配列キーボードに brackets, braces and tilde キャラクターを追加するには /etc/itmap.it ファイルを作って次の行を書き入れます:

keycode 12 = apostrophe question grave
keycode 13 = igrave asciicircum asciitilde
keycode 8 = 7 slash braceleft
keycode 9 = 8 parenleft bracketleft
keycode 10 = 9 parenright bracketright
keycode 11 = 0 equal braceright    

そして /etc/wscons.conf ファイルにこの行を追加します:

mapfile /etc/itmap.it    

詳しいことは wscons.conf(5) マニュアルページに書かれています。

キーボード配列問題に関する取り組み方は他にもあり: 希望する配列をデフォルトにして新しいカーネルをコンパイルすることも できます。これは、 Chapter 7 に書かれています。

4.4. man コマンド

もしまだ Unix(-のような) オペレーティングシステムを 扱かったことがなければ、man コマンドがあなたの良き友達になり、 マニュアルページを表示してくれるでしょう: NetBSD マニュアルページは、あなたの見つけるものでは 一番良く、一番詳しいです。 非常に技術的ですが。

man 名称 で "名称" コマンドの マニュアルページが出て、 man -k name で、 "名称" 関係のマニュアルページ一覧が出ます。( apropos コマンドも使えます。)

man コマンドの基本を勉強するなら、次の様に:

# man man    

マニュアルは 9つの節に分かれていて、コマンドの基本的な情報だけではなく いくつかの NetBSD の機能および構造も記述されています。 例えば、 hier(7) マニュアルページをみると NetBSD で使われているファイルシステムのレイアウトの詳細が 記述されています。

# man hier    

ほかに似たようなページが release(7) と packages(7) です。 マニュアルの各セクションの内容についての記述は intro マニュアルページに あります。 例えば、 試しに:

# man 8 intro    

Example 4-1. マニュアルのセクション

  1. general commands (tools and utilities) 一般コマンド(ツールとユーティリティー)

  2. system calls and error numbers システムコールとエラー番号

  3. C libraries C ライブラリー

  4. special files and hardware support 特殊ファイルとハードウェアーサポート

  5. file formats ファイルフォーマット

  6. games ゲーム

  7. miscellaneous information pages さまざまな情報ページ

  8. system maintenance and operation commands システム保守と操作コマンド

  9. kernel internals カーネル内部

対象がマニュアルの複数のセクションにある場合; 特定のページをみるには、 セクション番号を man コマンドの 引数 として付けます。 たとえば、 time は セクション 1 (the time ユーザーコマンド)、 セクション 3 (C ライブラリーの time 関数 ) および セクション 9 (time システム変数)に見つかります。 time C 関数のマニュアルページが見たいなら次のように:

# man 3 time    

役に立つ(available)すべてのページを見るには:

# man -a time    

4.5. ルートのパスワードの変更

インストール中にルートのパスワードを決めていないなら、 (これは 1.5 以前のシステムでは不可能です) 今、決めます。 それには、 passwd コマンドを使います。

# passwd
Changing local password for root.
New password:
Retype new password:    

パスワードは入力中に画面には表示されません。 後ほど、システムへのほかのアカウントの追加で見かけます。

4.6. シェルの変更

ルートの標準シェルは csh です。 といわれてもピンとこない人は、 (man csh) で csh の勉強をはじめるべきで: よい対話式シェルなのですが、 ( tcsh, bash や NetBSD /bin/sh シェルですら持っている) 履歴編集機能が不十分です。 使うシェルを変更したければ、 chsh を使います。

註: 現在の設定を変更するのに chsh は環境変数 EDITOR で決められたエディター (もしくはこの変数が定義されていない場合は vi )を起動します。

NetBSD インストール後に利用可能なシェルは:

csh
sh
ksh

新しいシェルは、次回ログインしたときに有効になります。

システムにほかのシェルをインストールすることもでき、 tcsh, bash, zsh やほかのシェル を使いたければパッケージコレクションにあります (これはあとで調べましょう)。

ここで、シェルの初期化ファイル (.chsrc, .login, ... 選んだシェルの種類に依存) を 作っておくとよいでしょう。

4.7. システム時刻

NetBSD や UNIX システムのすべては、システム時刻に 世界標準時(UTC)を基本に使い、 システム時計はこれに設定します。 しかし、設定を現地時刻のままにしておきたい時 (例えば、 Windows がインストールされていて、デュアルブートしたい時 )は、 rtc_offset システム変数を変更して NetBSD に通知します。 カーネルコンフィグレーションファイルを編集して、カーネルを再コンパイルするか、 現存するカーネルに直接パッチを当てます (新しい時刻は 再起動後に初めて有効になります): これは思ったより簡単です。 例えば:

# gdb --write /netbsd
GNU gdb 4.17
Copyright 1998 Free Software Foundation, Inc.
...
This GDB was configured as "i386--netbsd"...(no debugging symbols found)...
(gdb) set rtc_offset=-60
(gdb) quit    

ここで、数値 (-60) は、UTC(イギリス)より西側を正にとって、何分 差なのかという値です。(訳註:日本は東に9時間なので -540 です)

rtc_offset 変数の現在の設定を表示するなら:

# sysctl kern.rtc_offset
kern.rtc_offset = -60    

これで、カーネルは PC 時計を UTC システム時刻に変更する方法を 知りました。が、システムに現地時間のタイムゾーンを設定する必要が 残っています。(この タイムゾーンは /usr/share/zoneinfo/ で見つかります。) もし、インストール中に設定していれば、次のステップに行って構いません。 (けど、正しく設定されているかチェックしておけば、 より良いでしょう。) 例えば、 Italy では:

# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
    

全部正しく設定すれば、 次のコマンドで時刻を変更できます:

# date [[[[[cc]yy]mm]dd]hh]mm    

4.8. /etc/rc.conf の基本的な設定

NetBSD では、システム起動時にシステム設定に /etc/rc.conf を使い: このファイルは、 システムが起動するときに実行するものを決めます。 このファイルを理解することは非常に重要なことです。

NetBSD 1.5 から、 rc.conf の管理法が変わりました。 以前のバージョンでは、標準値がすべて /etc/rc.conf に有って、このファイルを直接変更することを想定していましたが; バージョン 1.5 では /etc/defaults/rc.conf ファイルが導入され、 標準値がこれに入るようになりました。 標準値を変更するには、ユーザーは新しい値を /etc/rc.conf に書き: これで、 /etc/defaults/rc.conf (これには変更されていないものが書かれたままです)の定義が 上書きされます。

このファイルを理解することはとても重要です。 マニュアルページにはオプションすべてについての 詳しい記述があります。

# man rc.conf    

インストーラーの sysinst ですでに 基本的な設定をしています。 次の行があることを確認してください:

rc_configured=YES
wscons=YES    

もし "rc_configured" が YES でなければ、 OS は マルチユーザーモードではなくシングルユーザーモードで起動します。 "wscons" はコンソールドライバーの設定です。 プリンターを使いたければ、プリントスプーラーをアクティブにする 次の命令をこのファイルに加えてください。

lpd=YES    

4.9. ホスト名の設定

ホスト名をシステムに教えるときが来ました; 2通りの簡単な方法が あります。 ホストがネットワークに属するなら、ネットワークとホスト名を システム管理者に尋ねてください; (家庭用マシンのような)単独機利用なら 選択は自由です。 この例では FQDN は ape.insetti.net です。 より詳しいことは Chapter 9 を読んでください。

ホスト名を設定する 最初の方法は /etc/rc.conf ファイルに次の行を追加することです。

hostname=ape.insetti.net    

もうひとつの方法はホスト名を /etc/myname ファイルに書くことです。 例えば:

# echo ape.insetti.net > /etc/myname     

4.10. システムの再起動

この最初の セッションでやったことは

さて、システムを再起動する時が来ました。次のコマンドで:

# reboot