在安装完毕之后,计算机将会重新开机:如果没有问题,你将会在数秒之后 看到登入提示符号(或是数分钟,依你的硬件而定)。系统还未被设定, 但别担心:设定将是非常容易的且方便的,还给你许多的弹性。你将会了 解如何快速地设定每样东西,同时,你也将学习知道系统如何运作,更进 一步,在发生问题时知道要检查什么地方。
如果系统没有开机,这可能是开机管理程序并没有被正确地安装或 在 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
系统现在应该使用硬盘开机来取代软盘。如果 NetBSD 从硬盘正确地开机, 那就是 Master Boot Record 的问题:你可以安装开机管理程序,或是利用 fdisk -B 指令修改它的设定。 请看 Section 19.4,可以得到详细的叙述。
你将使用 root 权限做第一次登入,这是 在安装完成后,唯一设定的使用者。在密码提示中,输入先前在 安装过程中所定义的密码。如果先前没有定义,则按 Enter 键。
NetBSD/i386 (Amnesiac) (ttyE0) login: root password ... We recommend creating a non-root account and using su(1) for root access. #
键盘仍然是美式的配置;如果你有不同的键盘,最好现在改变它的配置, 再开始设定系统。例如,要使用意大利式键盘,可利用以下指令:
# wsconsctl -k -w encoding=it encoding -> it
所有键盘对照表的清单在 /sys/dev/wscons/wsksymdef.h 中,但是 一些常用的对照是:
de
dk
fr
it
jp
sv
uk
us
这个设定并不会延续到下一次的开机。你可以将先前的指令写入 /etc/rc.local:这将使它在下次开机时, 被自动地执行。
# echo "wsconsctl -k -w encoding=it" >> /etc/rc.local
Note: 请留意要键入两个 ">"。如果只键入一个 ">" 你将会复写整个档案而不是加入一行。
对于键盘配置问题较佳的作法是:使用你喜爱的配置作为默认值来 编译新的核心。这将被描述在 Chapter 7。
如果你之前尚未使用过 Unix(-like) 操作系统,那么你现在最好的 朋友便是 man 指令,这会向你展示在线手册: NetBSD 的在线手册是极佳的,可以找到很详细的说明,虽然它们 是技术性的。
man name 会展示 "name" 的在线 手册,而 man -k name 则展示与 "name" 相关的在线手册清单(你也可以使用 apropos 指令。)
要学习 man 指令,键入:
# man man
在线手册被分成九大部份,不但包含了指令的基本信息,也包括 一些 NetBSD 特征与架构上的描述。例如,请看 hier(7) 的在线 手册,它详细描述了 NetBSD 档案系统的配置。
# man hier
类似的在线手册还有 release(7) 和 packages(7)。在线手册中的 每一段都有 intro 在线手册描写它的内容。 例如:
# man 8 intro
Example 4-1. 在线手册的段落
general commands (tools and utilities)
system calls and error numbers
C libraries
special files and hardware support
file formats
games
miscellaneous information pages
system maintenance and operation commands
kernel internals
相同的标题可以出现在不同的在线手册段落;想要查阅指定的 在线手册,要提供区块的号码做为 man 指令的参数。例如, time 出现在第 1 段(time 指令的使 用),第 3 段(在 C 链接库里的 time 函数)和第 9 段( time 的系统变量)。要查阅 time 函数,键入:
# man 3 time
要看所有有效的手册:
# man -a time
如果在开机时没有定义 root 的密码(在 1.5 以前的系统没有 这项功能)。现在可以执行,使用 passwd 指令。
# passwd Changing local password for root. New password: Retype new password:
在你键入密码时,它不会显示在屏幕上。稍后我们接学习如何 在系统上增加其它的使用者。
root 的 shell 预设为 csh;如果你不懂它 的意义,你可以开始使用(man csh)来学习 它:它是一个很好的交谈式 shell,虽然缺乏历史编辑的功能( 请看 tcsh,bash 之于 NetBSD /bin/sh 也是这个原因)。如果你想要更改 你的 shell,使用 chsh。在 NetBSD 安装完 之后,有效的 shell 有:
csh
sh
ksh
新的 shell 在你下次登入便会生效。同时,你可以键入以下指令:
# set filec
使文件名称在命令列被完成(利用 ESC 键,Ctrl+D 则列出可完成的 清单。)
如果你想要,你也可以安装其它的 shell 在你的系统上: tcsh, bash, zsh 和其它的 shell 都已经在 package 集合里( 我们稍后会解释)。
现在可以建立 shell 初始化档案 (.chsrc, .login, ...)。
和所有的 UNIX 操作系统一样,NetBSD 使用以格林威治时间为基础 的系统时钟 (UTC) 而这也就是为什么你要设定系统时间的原因。如 果你想将系统时间设为你区域性的时间(例如,你需要和 Windows 做多重开机),你必须告知 NetBSD,修改 rtc_offset 系统变量。你可以编辑核心设定档 重新编译或是你可以对现有的核心做修正(新的时间只在下次开机时 才会生效):这比你想象的还简单。例如:
# 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
The value supplied (-60) is the number of minutes west of UTC. 设定值 (-60) 是 UTC 以西的分钟数。
要展示目前的 rtc_offset 设定值:
# sysctl kern.rtc_offset kern.rtc_offset = -60
现在核心已经知道如何转换 PC 时钟的时间为 UTC 系统时间,但是 你仍必须将系统设定为你区域性的时间(你可以在 /usr/share/zoneinfo/ 发现他们。) 如果你已经在安装过程中完成这项步骤,你可以略过(虽然最好检查 设定是否正确。) 例如,对意大利而言:
# rm -f /etc/localtime # ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
在做了正确的设定之后,你可以使用以下的指令来更改时间:
# date [[[[[cc]yy]mm]dd]hh]mm
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
首先要修改的是:
Set 'rc_configured=YES' (this modification might already have been done by the installation software.)
Set 'wscons=YES' to enable virtual consoles.
Set 'lpd=YES' to activate the printer spooler daemon
替你的机器定义 hostname(使用全名)。 如果你有一台独立的机器,你可以使用任何名称(例如, "woody.toys.net"。)如果你的机器连结到网络上,你需要提供 正确的网络上的名称。
或是建立一个设定文件来定义主机名称,你可以将它写入 /etc/myname 档中:结果是相同的。
以下的设定描述在 1.5 以后是不需要的,因为虚拟终端机已经 是默认值。
编辑 /etc/ttys 档并检查 ttyE0-ttyE3 是否为 'on'。ttyE4 必须为 off(为了使用 X。)例如:
console "/usr/libexec/getty Pc" pc3 off secure ttyE0 "/usr/libexec/getty Pc" vt220 on secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure ttyE3 "/usr/libexec/getty Pc" vt220 on secure ttyE4 "/usr/libexec/getty Pc" vt220 off secure
如果你没有耐性: 在修改 /etc/ttys 之后,你可以立刻启动 虚拟终端机,而不需要重开机。你应该:
sh /etc/rc.wscons
kill -1 1
在启动之后,你可以使用组合键 Ctrl-Alt-Fn 来切换(Fn 是功能键: F1 是 console 1,F2 是 console 2,以此类推)。想要更进一步的 说明,请看 Chapter 12。
Note: 使用 Left_Ctrl 和 Left_Alt 和 功能键组合。
在第一阶段时,你已经
设定键盘
更改 root 密码
更改 root 的 shell(选择性的)
更改系统时间和 RTC 的设定
定义区域性的时间
设定 /etc/rc.conf
设定虚拟终端机
现在你可以重新开机,使用以下的指令:
# reboot