Chapter 4. 首次開機

Table of Contents
4.1. 如果出現錯誤
4.2. 登入
4.3. 更改鍵盤配置
4.4. man 指令
4.5. 更改 root 密碼
4.6. 更改 shell
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
    

系統現在應該使用硬碟開機來取代軟碟。如果 NetBSD 從硬碟正確地開機, 那就是 Master Boot Record 的問題:你可以安裝開機管理程式,或是利用 fdisk -B 指令修改它的設定。 請看 Section 19.4,可以得到詳細的敘述。

4.2. 登入

你將使用 root 權限做第一次登入,這是 在安裝完成後,唯一設定的使用者。在密碼提示中,輸入先前在 安裝過程中所定義的密碼。如果先前沒有定義,則按 Enter 鍵。

NetBSD/i386 (Amnesiac) (ttyE0)
login: root
password
...
We recommend creating a non-root account and using su(1) for root access.
#
    

4.3. 更改鍵盤配置

鍵盤仍然是美式的配置;如果你有不同的鍵盤,最好現在改變它的配置, 再開始設定系統。例如,要使用義大利式鍵盤,可利用以下指令:

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

所有鍵盤對照表的清單在 /sys/dev/wscons/wsksymdef.h 中,但是 一些常用的對照是:

這個設定並不會延續到下一次的開機。你可以將先前的指令寫入 /etc/rc.local:這將使它在下次開機時, 被自動地執行。

# echo "wsconsctl -k -w encoding=it" >> /etc/rc.local
    

Note: 請留意要鍵入兩個 ">"。如果只鍵入一個 ">" 你將會複寫整個檔案而不是加入一行。

對於鍵盤配置問題較佳的作法是:使用你喜愛的配置作為預設值來 編譯新的核心。這將被描述在 Chapter 7

4.4. man 指令

如果你之前尚未使用過 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. 線上手冊的段落

  1. general commands (tools and utilities)

  2. system calls and error numbers

  3. C libraries

  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 段(time 指令的使 用),第 3 段(在 C 程式庫裡的 time 函數)和第 9 段( time 的系統變數)。要查閱 time 函數,鍵入:

# man 3 time
    

要看所有有效的手冊:

# man -a time
    

4.5. 更改 root 密碼

如果在開機時沒有定義 root 的密碼(在 1.5 以前的系統沒有 這項功能)。現在可以執行,使用 passwd 指令。

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

在你鍵入密碼時,它不會顯示在螢幕上。稍後我們接學習如何 在系統上增加其他的使用者。

4.6. 更改 shell

root 的 shell 預設為 csh;如果你不懂它 的意義,你可以開始使用(man csh)來學習 它:它是一個很好的交談式 shell,雖然缺乏歷史編輯的功能( 請看 tcsh,bash 之於 NetBSD /bin/sh 也是這個原因)。如果你想要更改 你的 shell,使用 chsh。在 NetBSD 安裝完 之後,有效的 shell 有:

新的 shell 在你下次登入便會生效。同時,你可以鍵入以下指令:

# set filec
    

使檔案名稱在命令列被完成(利用 ESC 鍵,Ctrl+D 則列出可完成的 清單。)

如果你想要,你也可以安裝其他的 shell 在你的系統上: tcsh, bash, zsh 和其他的 shell 都已經在 package 集合裡( 我們稍後會解釋)。

現在可以建立 shell 初始化檔案 (.chsrc, .login, ...)。

4.7. 系統時間

和所有的 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
    

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
    

首先要修改的是:

4.9. 增加虛擬終端機

以下的設定描述在 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 之後,你可以立刻啟動 虛擬終端機,而不需要重開機。你應該:

  1. sh /etc/rc.wscons

  2. kill -1 1

在啟動之後,你可以使用組合鍵 Ctrl-Alt-Fn 來切換(Fn 是功能鍵: F1 是 console 1,F2 是 console 2,以此類推)。想要更進一步的 說明,請看 Chapter 12

Note: 使用 Left_Ctrl 和 Left_Alt 和 功能鍵組合。

4.10. 系統重開機

在第一階段時,你已經

現在你可以重新開機,使用以下的指令:

# reboot