Chapter 5. 第二次开机

Table of Contents
5.1. dmesg
5.2. 挂上 CD-ROM
5.3. 挂上软盘
5.4. 存取 DOS/Windows 分割区
5.5. 增加使用者
5.6. Shadow passwords
5.7. 中止系统和重开机

在首次开机后,你已经完成了基本的系统设定。这一章开始描述一些 一般的指令和作业。

5.1. dmesg

在系统启动之后,核心会在屏幕上展示一长串的讯息:这些讯息提供了 核心状态的信息还有为外围决定了装置名称(例如,你可以检查你的网 路卡是否被侦测为 ne0 或是 ne1)。通常这些讯息卷动得非常快而难以使用, 但你可以利用 dmesg 指令来再一次检视它们。

# dmesg | more
    

有时候你的系统并不会正确地工作,你可以在 NetBSD mailing lists 上 请求帮助。但请记得要包含相关的 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 /cdrom
    

要让事情简化,加入这行到 /etc/fstab

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

无须重开机,你现在可以挂上 cdrom:

# mount /cdrom
    

当 cdrom 被挂上后,你不能手动退片;你必须先使它卸载:

# umount /cdrom
    

或是使用指令使它卸载并退片:

# eject /dev/cd0a
    

5.3. 挂上软盘

要挂上软盘你必须知道装置名称和软盘上的档案系统。例如, 要读取和写入 MS-DOS 格式的软盘,使用以下指令:

# mount -t msdos /dev/fd0a /mnt
    

如果不用 /mnt,可以另外选定目录。如果 可以,建立一个 /floppy 目录,就像 cdrom 一样。如果你需要处理大量的 MS-DOS 软盘,你可以安装 "mtools" package,使你能够存取 MS-DOS 软盘而不用 挂上它。这是非常有用的工具,使你快速地复制档案从/到软盘上。

5.4. 存取 DOS/Windows 分割区

如果 NetBSD 和 MS-DOS 或 Windows 共享硬盘,我们可以修改 disklabel 使 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>
    

Note: 这个例子使用 wd0 硬盘:换成你 实际使用的硬盘。

fdisk 指令的输出显示了 DOS 分割区起始在 63 扇区, 共有 2088516 扇区。NetBSD 分割区起始在 2088579 (2088579 = 2088516 + 63)。你将使用这些数据来修改 BSD disklabel: 你所要做的只是加入一行 MS-DOS 分割区的定义,选一个未使用的分割 区代号。使用 disklabel 来修改 disklabel。 如果你使用 the -e 选项给 disklabel 它会呼叫你喜爱的编辑器来修改 disklabel。例如:

# 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 使用了 而第一个有效的 id 是 "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. 增加使用者

现在可以在你的系统上增加一个使用者,因为不要在日常的 工作中使用 root 账号。NetBSD 没有增加使用者的工具; 但你可以参阅 adduser 的在线手册。

# man adduser
    

随着以下的叙述,你将开始使用 vipw 作为, 在 NetBSD 底下增加账号的工具。

Note: NetBSD 1.4.2 已经有一群使用者管理工具了; useradd 及其它的指令等。 例如,要增加一个使用者:

# useradd -m joe
      

useradd 指令的默认值已经改变了; 请看 useradd(8) 在线手册。

如果你有较早的 NetBSD 版本而又不想手动地增加账号,你可以安装 package 像是 addnerd。但无论如何, 我还是建议参考一下线上手册并至少手动地增加一个账号。

5.6. Shadow passwords

shadow passwords 在 NetBSD 上已经为默认值了而不能被更改:所有 在 /etc/passwd 的密码包含一个 '*';经过 编码后的密码属于另一个档案 /etc/master.passwd, 且只能被 root 读取。当你使用 vipw 编辑 密码文件时,程序会开启 /etc/master.passwd 的备份;当你离开时,vipw 会检查备份的 合法性,然后建立一个新的 /etc/passwd 并 安装到 /etc/master.passwd。最后, vipw 使用 pwd_mkdb 建立 /etc/pwd.db/etc/spwd.db,这两个数据库相等于 /etc/passwd/etc/master.passwd 但能被处理得比较快。

如你所见,密码被 NetBSD 自动地处理;如果你使用 vipw 编辑密码,你不会看到任何特殊的 管理程序。

总是使用 vipw 和 其它工具来做账号管理 (chfn, chsh, chpass, passwd) 并且 绝不直接地修改 /etc/master.passwd 是非常重要的。

5.7. 中止系统和重开机

用来中止并/或使系统重开机的指令是 shutdown

# shutdown -h now
# shutdown -r now
    

另外两个指令执行相同的工作:

# halt
# reboot
    

halt/rebootshutdown 是不相同的:后者较为精巧。在多人使用的系统,你应该使用 shutdown:你可以将它列为工作排程,并通知使用者等。进一步的说明 请看 shutdown(8),halt(8) 和 reboot(8)。