Chapter 5. 2度目の起動

目次
5.1. dmesg
5.2. CD-ROM のマウント
5.3. フロッピーのマウント
5.4. DOS/Windows パーティションのアクセス
5.5. ユーザーの追加
5.6. シャドウパスワード
5.7. 地域化
5.8. システムの停止と再起動

初起動の時に基本的な設定をしました。 この章ではいくつかの一般的なコマンドと操作について記述します。

5.1. dmesg

システム起動時、カーネルは画面に長々とメッセージを表示します: これらのメッセージはカーネルの状態(例えば available メモリー) や、システムで検出された 周辺機器についての情報を与えてくれます。 この情報は ハードウエア診断や コンフィグレーション問題の解決、 周辺機器のデバイス名を決める (例えば、ネットワークカードが ne0 として認識されているのか ne1 として認識されているのかをチェックすることができる。 ) のに非常に大切なものです。大抵、このメッセージは目で追うには 余りにも速く画面上を流れていってしまうので、再び見るのに dmesg コマンドを こう使います。

# dmesg | more    

もし、何か正しく動いていなくて、 NetBSD のメーリングリストに助けを求めるときには、 dmesg 出力の関連部分を付けて投稿してください : ほかの人たちがあなたの問題を診断する時の助けになるからです。

5.2. CD-ROM のマウント

インストーラーによって CD-ROM のマウント法は きちんと記録されているのですが、新しいユーザーにとっては、しばしば、 インストールされたシステムが CD-ROM の扱い方を "忘れ去った" ように見えてびっくりすることがあります。 CD-ROM の使い方は何も特別な手品ではなく、 ほかのファイルシステム全部と同じように、マウントでき、それには デバイス名と mount コマンドのいくつかのオプションを、知ればよいだけです。 デバイス名を調べるには、前述の dmesg コマンドを使います。 例えば、 dmesg 表示が:

# dmesg | grep ^cd
cd0 at atapibus0 drive 1: <ASUS CD-S400/A, , V2.1H> type 5 cdrom removable    

なら、デバイス名は cd0 で、 CD-ROM は次のコマンドでマウントできます。

# mkdir /cdrom
# mount -t cd9660 -o ro /dev/cd0a /mnt/cdrom
    

これを簡単にするには、 /etc/fstab ファイルに次の行を加えます

/dev/cd0a /cdrom cd9660 ro,noauto 0 0    

リブートすることなしに、今から、こうやって cdrom をマウントすることができます:

# mount /mnt/cdrom    

cdrom がマウントされていると手動でイジェクトすることができません; そうする前に 次のようにアンマウントする必要があります:

# umount /mnt/cdrom    

cdrom をアンマウントしてイジェクトするソフトウエアも あり:

# eject cd0    

5.3. フロッピーのマウント

フロッピーをマウントするには、フロッピーのデバイス名と ディスクのファイルシステムの種類がわかっている必要があります。 たとえば、 MS-DOS フォーマットのフロッピーを読み書きするには 最初にマウントポイントを作り:

# mkdir /mnt/floppy    

# mount -t msdos /dev/fd0a /mnt/floppy    

/mnt/floppy の代わりに、自分で選んだ 別のディレクトリーを使うことができます。 もし、 MS-DOS フロッピーで作業することが多いなら、 "mtools" パッケージをインストールすると、 それを使って MS-DOS フロッピー (またはハードディスクのパーティション)を マウントせずにアクセスできます。. フロッピーとの間のファイルのコピーはすばやくて便利です。

5.4. DOS/Windows パーティションのアクセス

ハードディスクを NetBSD のほかに MS-DOS や Windows と共有しているなら、 ディスクラベルの変更によって、 DOS パーティションが NetBSD から見えるようになります。 はじめに、 DOS パーティションのジオメトリーを決める必要があり、 例えば fdisk を使います。

# fdisk wd0
NetBSD disklabel disk geometry:
cylinders: 6232 heads: 16 sectors/track: 63 (1008 sectors/cylinder)
...
Partition table:
0: sysid 6 (Primary 'big' DOS, 16-bit FAT (> 32MB))
    start 63, size 2088516 (1019 MB), flag 0x80
        beg: cylinder    0, head   1, sector  1
        end: cylinder  259, head   0, sector  4
1: sysid 169 (NetBSD)
    start 2088579, size 4193277 (2047 MB), flag 0x0
        beg: cylinder  259, head   0, sector  4
        end: cylinder  779, head   0, sector  1
2: <UNUSED>
3: <UNUSED>    

註: この例では ハードディスクは wd0 になっています: デバイス名は自分のハードディスクに合わせて変更してください。

fdisk コマンドの出力では、 DOS パーティションが セクター 63 から始まり、サイズは 2088516 セクターだとわかります。 NetBSD パーティションは セクター 2088579 (2088579 = 2088516 + 63) から始まります。 この情報を BSD ディスクラベルの変更に使い: 1行追加して 位置と MS-DOS パーティション の種類、 および、まだ使われていない パーティション id 文字を選択します。 ディスクラベルの変更には disklabel コマンドを 使います。 disklabel-e オプションを付けると、 ディスクラベルの編集に自分で選んだエディター($EDITOR) を呼び出してくれます。 例えば:

# disklabel -e wd0
...
#        size   offset     fstype  [fsize bsize  cpg]
...
  e:  3450624  2831232    4.2BSD    1024  8192    16   # (Cyl.  2808* - 6231)
  f:  2088516       63    MSDOS    

"a" から "e" パーティションは すでに NetBSD に使われていて、空いている最初のものは "f" です。 "size" および "offset" 欄には あらかじめ計算された数値を書き込みます。 次に、マウントポイントを作ります。 例えば:

# mkdir /msdos    

最後に /etc/fstab ファイルに次の行を追加します。

/dev/wd0f /msdos msdos rw,noauto 1 3    

これで、 MS-DOS パーティションのマウントには簡単なコマンドが使え:

# mount /msdos    

この方法で FAT および FAT32 パーティションがマウントできます。 このパーティションを起動時に自動的にマウントさせたければ、 /etc/fstab から "noauto" をはずしてください。

/dev/wd0f /msdos msdos rw 1 3    

5.5. ユーザーの追加

ユーザー及びグループの追加には useradd(8) コマンド及び groupadd(8) コマンドを使います。 例えば、新しく、ユーザー名 carlo 、グループ名は名前と同じものに属する ユーザーを追加するには、最初にグループを作り:

# groupadd carlo    

そしてユーザーを作ります:

# useradd -G wheel -g carlo -m -s /bin/ksh carlo    

最後のコマンドはいくつかの作業をさせていて:

-G wheel

で、このユーザーを "wheel" グループ (スーパーユーザーのグループ)に追加して、 carlo が su する権利を与えています。

-g carlo

これは新しいユーザーが属するグループの指定です。

-m

この新ユーザー用のホームディレクトリーを作ります。

-s /bin/ksh

ユーザーが使うシェルを選択しています。 これは、標準シェル以外を使いたいときだけ要るものです。

carlo

という新しいユーザーが作られます。

この例では手作業で ksh シェルを選択しましたが、 useradd コマンドをカスタマイズすることができます: マニュアルページをご覧ください。 例えば ksh を標準シェルにするなら:

# useradd -D -s /bin/ksh    

現在の標準設定を表示するには:

# useradd -D    

註: ユーザーの追加や編集を手作業でするための正当なツールは vipw で、これを使うことで、パスワードファイルを 安全に編集できます。

5.6. シャドーパスワード

NetBSD では、シャドーパスワードが標準で有効になっていて、 無効化できません。 /etc/passwdにあるすべてのパスワードは '*' になっていて、 暗号化されたパスワードはほかのファイルにあるのです。 /etc/master.passwd は、 ルートだけが読むことができます。 vipw でパスワードファイルの編集をはじめると、 プログラムは /etc/master.passwd のコピーを開き、; そして抜けると、 vipw はこのコピーの有効性を確認し、 新しい /etc/passwd をつくり、新しい /etc/master.passwd ファイルをインストールします。 最後に、 vipwpwd_mkdb を起動し、これが /etc/pwd.db ファイルおよび /etc/spwd.db ファイルを作り、 2つのデータベースを /etc/passwd/etc/master.passwd にあわせ、速やかに行われます。

vipw をパスワードファイルの編集に使えば、パスワードは 自動的に取り扱われて、特別な管理手続きをする必要がありません。

よって、 必ず vipw や、 ほかのアカウント管理ツール (chfn, chsh, chpass, passwd) を使い、 決して 直接 /etc/master.passwd を編集しないでください。

5.7. 地域化

NetBSD の安定リリース版の 地域化(localization)は依然として不足していますが 重要なソースコードはすでに -current に入っていて、 これは遠くないうちにリリースに含まれるということです。 今のところ、ヨーロッパのユーザーはアクセントつきの文字に 対する部分的な対応が使うことができて、 locale.tgz tarball ファイルを NetBSD サイトからダウンロードして 次のコマンドでインストールして:

# cd /
# gunzip < /path/to/locale.tgz | tar xvf -
    

次に、以下の設定を使っているシェルに適切な設定ファイル (例 /etc/profile)に追加します。 イタリア語用に:

LANG=it
export LANG
LC_CTYPE=iso_8859_1
export LC_CTYPE    

これで、アクセントつきの文字やいくつかのプログラムで イタリア語のメニューが使えるようになります(例えば mutt)。

5.8. システムの停止と再起動

システムの停止 および/または 再起動に使うコマンドは shutdown です。

# shutdown -h now
# shutdown -r now
    

同様な機能のほかのコマンドは:

# halt
# reboot
    

halt/rebootshutdown の別名ではなく: 後者のほうがより洗練されています。 マルチユーザーシステムでは、まさに shutdown を使うべきで: シャットダウン時間の計画ができ、ユーザーに知らせられ、ほかにも。 より詳しいことは、 shutdown(8), halt(8) および reboot(8) をご覧ください。