diff --git a/zh/FAQ/admin.sgml b/zh/FAQ/admin.sgml index 532955bd81..d6cf6cd65d 100644 --- a/zh/FAQ/admin.sgml +++ b/zh/FAQ/admin.sgml @@ -1,819 +1,819 @@ - + 系統管理 系統起始設定檔在哪?

從 2.0.5R 到 2.2.1R,主要的設定檔是 /etc/sysconfig。 所有的選項都被指定在這個檔,而其他像 /etc/netstart 只是引用它。

觀察 /etc/sysconfig 這個檔並修正其值以適合你的系統。 這個檔用註解填滿以表示何處該放置什麼設定。

在 2.2.1 以後及 3.0 ,/etc/sysconfig 更名為一個更容 易描述的檔名叫 ,並且語法簡化成只剩一個位元。/etc/netstart 亦更名為 /etc/rc.network 因此所有的檔案都可以用 /usr/src/etc/rc* /etc 來拷貝。

/etc/rc.local 出現並可以用來啟動額外的本地服務像是 或某些自訂選項。

/etc/rc.serial 用來初始化序列埠(像是鎖定埠的特性等)。

/etc/rc.i386 是 Intel 專用設定,像是 iBCS2 模擬或是 PC 系統主控台設定。

由 2.1.0R 開始,你也可以在 /etc/sysconfig (或 /etc/rc.conf) 裡指定一個目錄擁有"本地"起始檔: # Location of local startup files. local_startup=/usr/local/etc/rc.local.d

每個以 假如你想確保某個執行順序又不想改所有的檔名,你可以使用一個簡單 的架構如下,利用事先安排到每個檔名前的數字來確保順序: 10news.sh 15httpd.sh 20ssh.sh

這可能看起來有點醜(或類似 SysV :-)) 但是它提供一個簡單而規律的 架構讓本地加入的套件不須編輯 /etc/rc.local 就能重新排 序。許多的 ports/packages 假設 /usr/local/etc/rc.d 是 本地起始的目錄。 我該如何簡單地加入使用者﹖

使用 指令。

另外也有個套件叫 ``<roberto@FreeBSD.ORG> 詢問它。 目前正在發展階段。

要再次移除使用者,使用 指令。 我該怎麼把新硬碟加入 FreeBSD 系統中﹖

察看 的磁碟格式化指導文件。 我有一個新的可移除裝置,我該怎麼使用﹖

可移除裝置無論是 ZIP 或 EZ(或甚至是軟碟機,如果你要這樣使用 它),或是一個新的硬碟,只要是安裝並由系統重組,而你有磁片匣 /軟碟片/或其他東西可以插入,那這些裝置都是類似功能的東西。

假如是 ZIP 或軟碟機,你已經在上面有 DOS 檔案系統,可以使用 像這樣的命令: mount -t msdos /dev/fd0c /floppy

這是針對軟碟機,或是以下命令: mount -t msdos /dev/sd2s4 /zip

使用 ZIP 的出廠預設值。

其他磁片,用 /stand/sysinstall 察看 如何配置。

接下來這個範例是 ZIP 裝在 sd2,在第三個 SCSI 磁碟。

不像軟碟機,或一個你計畫跟其他人分享使用的可移除裝置,用 BSD 檔案系統貫穿它可能是一個比較好的主意。你將擁有長檔名支援 ,至少兩倍以上的效率增進,還有更高的穩定度。首先,你需要重新 製作 DOS 層的分割區/檔案系統。你可以使用 /stand/sysinstall,或對一個你不想支援多重作業系統的 小磁碟,只要把它劃分成整個 FAT 分割表(slices)並用以下 BSD 分 割法: dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto

你可以使用 disklabel 或 /stand/sysinstall 去建立多重 BSD 分割區。無疑的如果你正在硬碟機上增加置換空間(swap space)時 你就需要這麼做,但是在可移除裝置如 ZIP 上可能就是無意義的。

最後,建立一個新的檔案系統,也就是在 ZIP 裝置上是使用整個磁碟: newfs /dev/rsd2c

並且把它 mount 起來: mount /dev/sd2c /zip

加入下面這一行可能是一個好主意,你以後就只 要打"mount /zip" : /dev/sd2c /zip ffs rw,noauto 0 0 我該怎麼 mount 次要的 DOS 分割區﹖

次要 DOS 分割區是在所有主要分割區之後被找到,舉例,如果你有一個 "E" 分割區在第二個 SCSI 裝置的第二個 DOS 分割區,你需要在 /dev 下 建立 "slice 5" 的特殊檔案,然後 mount /dev/sd1s5: # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e 我可以在 FreeBSD 下 mount 其他異質性檔案系統嗎﹖

有更多資訊。

的指導介紹。

如果您能提供任何這個主題的其他資訊,我們會很感激。 我該如何使用 NT loader 來啟動 FreeBSD﹖

最普遍的想法是把你的 native FreeBSD root 分割區 的第一個磁區拷貝到 DOS/NT 分割區裡的一個檔案內。假設 你命名它為:c:\bootsect.bsd (由 c:\bootsect.dos 授意而來),接著你可以編輯 c:\boot.ini 檔案內容如下: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

此程序假設 DOS,NT,FreeBSD,或其他作業系統已經被安裝在 Mount 一個 DOS 格式化的軟碟(假如你已經轉換到 NTFS)或 FAT 分 割區到 /mnt dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1

重新開機進入 DOS 或 NT。NTFS 使用者把 attrib -s -r c:\boot.ini

編輯並從上述 attrib -r -s c:\boot.ini

如果 FreeBSD 是由 MBR 啟動,在你重新設定從哪個原生分割區啟動後, 用 DOS 的 `` 我該如何用 LILO 啟動 FreeBSD 和 Linux﹖

如果你在同一個磁碟機裡有 FreeBSD 和 Linux,只要跟隨 LILO 的安 裝指令,從一個非 Linux 作業系統啟動。簡略說明如下:

啟動 Linux,並在 /etc/lilo.conf 中加入以下幾行: other=/dev/hda2 table=/dev/hda label=FreeBSD (上面是假設你的 FreeBSD slice 在 Linux 是 /dev/hda2;請 配合自己的設定)。然後,用 root 執行 lilo 應該就完成了。

假如 FreeBSD 在另外一個磁碟,你必須在 LILO 選項中加入 ``loader=/boot/chain.b'',舉例: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

某些情形你必須指定 BIOS 磁碟代號給 FreeBSD boot loader 以能從第 二磁碟成功的啟動。舉例,假如你的 FreeBSD SCSI 磁碟在 BIOS 中偵測 是 BIOS disk 1,那在 FreeBSD boot loader 的提示號出現時你必須指 定: Boot: 1:sd(0,a)/kernel

在 FreeBSD 2.2.5 和之後的版本,你可以設定 這樣每次啟動時就會自動幫你執行。

是 FreeBSD 和 Linux 共用操作的良好 參考文件。 我怎麼使用 BootEasy 來啟動 FreeBSD 和 Linux﹖

在你的 Linux 啟動分割區安裝 LILO 取代主要啟動資料(Master Boot Record)。接著你可以從 BootEasy 啟動 LILO。

假如你正在執行 Windows-95 和 Linux,這是一個建議方法:要更簡單的 從 Linux 再次啟動在於你是否應該重新安裝 Windows95(這是一個善妒 的作業系統,它壓迫不讓其他作業系統存在於主要啟動記錄內)。 一個所謂``危險奉獻(dangerously dedicated)''的磁碟有害嗎﹖

現在,這是某些常見情形,人們只有 PC 的使用背景。更多本來曾使用 Unix 又想把機器設定只執行 FreeBSD 的人,大多會用傳統 Unix 的方 法讓一個作業系統佔據整個磁碟,從最開頭的第一個磁區到最後一個。 一個真實的 fdisk table 並在這個情形中並沒有實質功用,機器上一天 24 小時,每週七天無時不刻地都在執行 FreeBSD,甚至沒有啟動其他作 業系統。因此,如果你在 sysinstall 的 fdsik 編輯器裡選擇 ``A)ll FreeBSD'',並用 ``No'' 回答下一個問題,你就是在這種模式中 。值得注意的是這代表 BSD bootstrap 也由這台磁碟機的 MBR 所產生, 因此沒有留下空間給其他像是啟動管理員的程式。不要試著去安裝它,不 然你會把 BSD bootsrtap 弄壞了。

因此為何叫它``危險的''﹖一個處於這種模式的磁碟機不包含將被正 常 PC 公用程式視為有效的 fdisk table。依循它們被設計的模式,只 要它們在這樣一個磁碟機中一旦被觸及可能就會產生錯誤的提示,或更 糟糕的,可能未經提示或通知你就把 FreeBSD bootstrap 弄壞。一些在 PC 上廣泛使用的作業系統就有這種 ``使用者不友善性'' 的存在(當然 ,它們稱之為``使用者的友善性'')。至少已知在 HP Netservers 上的 Award BIOS(它並不是唯一的特例)就是會忽略任何它認為沒有有效 fdisk 列表的硬碟。這導致它啟動時,簡略的忽略過這樣一個磁碟裝置, 切換到軟碟機,然後只是跟你吐著``讀取錯誤''的訊息。很讓人印象深 刻吧﹖或許他們也叫這為``使用者友善性'',誰知道﹖

這種模式的好處是:FreeBSD 擁有整個磁碟,不需要因為由 1980 年代起簡略的分割模式,強迫一些人造而現在看起來無意義的限制 在這些分割該怎麼被完成,浪費好幾個虛擬的`磁軌'。這些限制時 常可能導致如何在 fdisk 列表中儲存分割資訊時兩種相異卻多餘 的方法造成 geometry 的搭配不合,而變成 PC 的 OS 安裝過程最 大的頭痛。請查閱 。 在``完全奉獻''的模式下,BSD bootstrap 從磁區 0 開始,這是唯一 能轉換同一個 C/H/S 值的磁區,不管你的 BIOS 如何`轉換'你的磁 碟。因此,你也可以在系統/控制器之間以一種不同的轉換架構置換磁 碟,而不須承擔失敗後磁碟機再也不會啟動的風險。

要把``危險奉獻''的磁碟回復到正常 PC 使用,基本上有兩個選擇。 第一,是你把足夠的 NULL 位元組寫入 MBR 確保任何隨後的安裝程 式相信這只是一個空白的磁碟。舉例來說你可以這樣做: dd if=/dev/zero of=/dev/rsd0 count=15

或是採用另外一個,非正式的 DOS ``特色'': fdisk /mbr

這將會安裝一個全新的主要啟動記錄,因此會破壞 BSD bootstrap。 我如何能加入更多的置換空間﹖

最好的方法是增加你置換分割區的大小,或利用這個方便理由的好處去 增加另一個硬碟。

在分散的磁碟上增加置換空間會比單純地在同一個磁碟加入置換空間 讓效率來的快一點。舉一個例子來說,如果你正在一個磁碟裡編譯來 源程式,而置換空間在另一個磁碟,這會比置換空間跟編譯程式都在 同一個磁碟時來得快。這對 SCSI 磁碟機特別正確。

IDE 磁碟並不允許同時在同一通道裡存取兩個裝置(FreeBSD 不支援 mode 4,因此所有的 IDE 磁碟 I/O 是``可程式化的'')。然而我仍 會建議你把置換空間放在分別的磁碟。磁碟機這麼便宜,實在沒什麼 好擔心的。

把你的置換檔放在 NFS 實在是一個很爛的主意,除非你正在一個非常 快速的網路環境下執行,還要有一個很好的伺服器。

這裡有個範例是用 64MB vn-swap (/usr/swap0,當然你能用 任何你想用的名字)。

確定你的核心程式建立時有包含以下這行: pseudo-device vn 1 #Vnode driver (turns a file into a device)

在你的設定檔中。GENERIC 這個核心已經包含這項了。 建立一個 vn-device cd /dev sh ./MAKEDEV vn0 建立一個置換檔 (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 /etc/rc.conf 中啟動置換檔 swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. 重新開機。

要馬上啟動置換檔,鍵入: vnconfig -ce /dev/vn0c /usr/swap0 swap 我不會設定我的印表機。

請參閱 Handbook 裡有關列印的部份。這應該能解決你大部分的問題,請看 我系統上的鍵盤配置錯了。

kbdcontrol 程式有一個選項可以讀取鍵盤配置檔案。在 /usr/share/syscons/keymaps 有一些配置檔。選擇一個跟你的 相關的並讀取它。 kbdcontrol -l uk.iso

/usr/share/syscons/keymaps 所斷定。

可以從 /etc/sysconfig (或 ) 來設定,請看此檔裡相關的註解。

在 2.0.5R 及其之後的版本,所有跟文字字型,鍵盤對應相關的設定都在 /usr/share/examples/syscons

以下是目前支援的對應設定: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx 我無法讓 user quotas 正常工作。

不要在 '/' 打開 quotas, 把 quotas 檔放在它必須強迫置入的檔案系統內,舉例: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... 我的 ccd 有何不妥﹖

這種情形的徵兆是: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

通常這會發生在你嘗試要連結 `c' 分割區,這內定的型別是`無法使用的' 。ccd 驅動程式需要的基礎分割區型別為 FS_BSDFFS,編輯你要試著連結的磁碟 標記並更改分割區的型別為`4.2BSD'。 為何我不能編輯我 ccd 的磁碟標記﹖

這種情形的徵兆是: # disklabel ccd0 (這裡印出某些明顯的資料,所以試著編輯它) # disklabel -e ccd0 (編輯,儲存,然後離開) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

這是因為由 ccd 傳回的磁碟標記事實上是一個`假的'而沒有真正在磁碟 上。你可以把它完全寫入來解決這個問題,像這樣: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) FreeBSD 支援 System V IPC 格式指令集?

是的,FreeBSD 支援 System V-style IPC。這包括共享記憶體,訊息跟 信號。你需要在你的核心設定檔內加入下列幾行以啟動它們。 options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

重新編譯並安裝。

我該如何使用 sendmail 透過 UUCP 來遞送郵件?

跟隨 FreeBSD 套裝而來的 sendmail 設定是適合那些直接連上網際網路 的站台。想透過 UUCP 交換郵件的站台必須另外安裝 sendmil 的設定檔 案。

手動修改 /etc/sendmail.cf 是絕對必要的。第 8 版的 sendmail 提供一個全新的入口以透過一些像 的處理就能 產生設定檔,這事實上是一個高層概念等級的技巧性設定。你應該可以在以 下檔案裡使用它: /usr/src/usr.sbin/sendmail/cf

假如你不是用 full sources 方式安裝系統,那麼 sendmail 設定項目可 能已經分散成好幾個來源分布檔在等著你,假設你已經 mount 光碟機,做 以下動作: cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

別驚慌,這只有數十萬個位元組的大小。在 cf 目錄裡的 README 可以提供一個 m4 設定法的基本介紹。

以 UUCP 遞送來說,建議你最好使用 mailertable 特點。 建構一個資料庫讓 sendmail 可以使用它自己的路徑決策。

首先,你必須建立自己的 .mc 檔。 /usr/src/usr.sbin/sendmail/cf/cf 目錄是這些檔案的家。 查看一下,已經有好幾個範例檔,假設你已經命名自己的檔叫 foo.mc,你要做的只是把它轉換成一個有效的 sendmail.cf cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

一個典型的 .mc 檔看起來可能像這樣: include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

nodnsnocanonify 特性將避免任何在遞送郵件 時會用到 DNS 的機會。UUCP_RELAY 項目的出現理由很奇怪, 就不要問為何了。簡單的放入一個網際網路上可以處理 .UUCP 虛擬網域 位址的主機名稱;通常,你只需要在這裡填入你 ISP 的信件回覆處 (mail replay)。

你已經做到這裡了,你還需要這個叫 /etc/mailertable 的 檔案。一個典型的範例如下: # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

如你所見,這是某個真實檔案裡的一部份。首三行處理網域定址信件 不應該被送出到內定路徑,而由某些 UUCP 鄰居(UUCP neighbor)取代 的特殊情形,這是為了``縮短''遞送的路徑。下一行處理到本地乙太 網路網域的信件讓它可以使用 SMTP 來遞送。最後,UUCP 鄰居提到 .UUCP 虛擬網域的記載,允許一個``uucp-neighbor!recipient''推翻內定規則。最後一行則以一 個單獨的句點做結束,以 UUCP 遞送到提供當你全世界性郵件閘門的 UUCP 鄰居。所有在 uucp-dom: 關鍵字裡的節點名稱必須都是 有效的 UUCP 鄰居,你可以用 uuname 命令去確認。

提醒你這個檔案在使用前必須被轉換成 DBM 資料庫檔案,最好在 mailertable 最上面用註解寫出命令列來完成這個工作。當你每次更換你 的 mailertable 後你總是需要執行這個命令。

最後提示:如果你不確定某些特定的信件路徑可用,記得把 -bt 選項加到 sendmail。這會將 sendmail 啟動在 address test mode ;只要按下 ``0'',接著輸入你希望測試的信件路徑位址。最後一行告訴你使 用內部的信件代理程式,代理程式的會通知目的主機,以及(可能轉換的)位址 。要離開此模式請按 Control-D。 j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% 當我用撥接連上網路時該怎麼設定信件遞送?

如果你已經有一個固定的 IP 數字,你不需要調整任何內定值。設好 你要指定的網路名稱,其他的 sendmail 都會幫你做完。

如果你拿到的是動態配置的 IP 數字而使用撥接 為了從你的信箱接收信件,你將需要安裝取信程式以便從信箱取回信件。 /etc/ppp/ppp.linkup 裡面 設定以下幾項: MYADDR: !bg su user -c fetchmail

我假設你在 poll myISP.com protocol pop3 fetchall pass MySecret;

無須贅言,這個檔除了 為了在寄信時有正確的抬頭 以下的 VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl

如何轉換這個 咦!我忘記 root 的密碼了!

不要驚慌!只要重新啟動系統,在 boot: 提示號打 -s 進入單使用者模式。 在問要使用哪個 shell 時,按下 ENTER。你會看到一個 # 的提示號,輸入 mount -u / 以重新架設你的根檔案系統可供讀/寫。執行 我該怎麼保留讓 Control-Alt-Delete 不能重新啟動系統?

修改你正在使用的主控台鍵盤對應,並且把所有 /usr/share/syscons/keymaps/us.iso.kbd。你可能需要明白的 吩咐 /etc/rc.conf 去讀取這個鍵盤對應以確保更動生效。當 然如果你正在用適合你國籍的鍵盤對應,你應該編輯那一個。 我該怎麼把 DOS 文字檔案重新格式化成 UNIX 的?

簡單地使用這個 perl 命令: perl -i.bak -npe 's/\r\n/\n/g' file ...

file 就是要處理的檔案。這個修改是在內部完成,原始的檔案會儲存成 副檔名為 .bak 的檔案。 我該怎麼用名稱砍掉 process?

使用 . 為何在 root 的 ACL 時 su 好像有問題?

這個錯誤是因為 Kerberos 分散認證系統。這個問題並不是很嚴重但是令人 厭煩。你可以用 -K 選項去執行 su,或是像下個問題所描述的移除 Kerberos。 - 我該怎麼移除 Kerberos? + 我該怎麼移除 Kerberos?

要從系統裡移除 Kerberos,重裝你正在執行的 release 版本內 bin distribution。如果你有 CDROM,你可以 mount cd(假設在 /cdrom)並執 行: cd /cdrom/bin ./install.sh 我該怎麼增加系統的虛擬終端機?

如果你有許多 telnet,ssh,X 或是 screen 使用者,你或許會用完虛擬 終端機,這能教你怎麼加更多: 建立並安裝一個新的核心程式並且加入這行到設定檔: pseudo-device pty 256 執行這個命令: # cd /dev # ./MAKEDEV pty{1,2,3,4,5,6,7}

會造出 256 個虛擬終端機的裝置節點。 編輯 /etc/ttys 並加入符合 256 個終端機的行數。它們應 該符合已經存在單項的格式,舉例來說,它們看起來像: ttyqc none network

字母設計的順序是 tty[pqrsPQRS][0-9a-v],使用正規表示式。 用新的核心程式重新啟動電腦就可以了。 - \ No newline at end of file + diff --git a/zh_TW.Big5/FAQ/admin.sgml b/zh_TW.Big5/FAQ/admin.sgml index 532955bd81..d6cf6cd65d 100644 --- a/zh_TW.Big5/FAQ/admin.sgml +++ b/zh_TW.Big5/FAQ/admin.sgml @@ -1,819 +1,819 @@ - + 系統管理 系統起始設定檔在哪?

從 2.0.5R 到 2.2.1R,主要的設定檔是 /etc/sysconfig。 所有的選項都被指定在這個檔,而其他像 /etc/netstart 只是引用它。

觀察 /etc/sysconfig 這個檔並修正其值以適合你的系統。 這個檔用註解填滿以表示何處該放置什麼設定。

在 2.2.1 以後及 3.0 ,/etc/sysconfig 更名為一個更容 易描述的檔名叫 ,並且語法簡化成只剩一個位元。/etc/netstart 亦更名為 /etc/rc.network 因此所有的檔案都可以用 /usr/src/etc/rc* /etc 來拷貝。

/etc/rc.local 出現並可以用來啟動額外的本地服務像是 或某些自訂選項。

/etc/rc.serial 用來初始化序列埠(像是鎖定埠的特性等)。

/etc/rc.i386 是 Intel 專用設定,像是 iBCS2 模擬或是 PC 系統主控台設定。

由 2.1.0R 開始,你也可以在 /etc/sysconfig (或 /etc/rc.conf) 裡指定一個目錄擁有"本地"起始檔: # Location of local startup files. local_startup=/usr/local/etc/rc.local.d

每個以 假如你想確保某個執行順序又不想改所有的檔名,你可以使用一個簡單 的架構如下,利用事先安排到每個檔名前的數字來確保順序: 10news.sh 15httpd.sh 20ssh.sh

這可能看起來有點醜(或類似 SysV :-)) 但是它提供一個簡單而規律的 架構讓本地加入的套件不須編輯 /etc/rc.local 就能重新排 序。許多的 ports/packages 假設 /usr/local/etc/rc.d 是 本地起始的目錄。 我該如何簡單地加入使用者﹖

使用 指令。

另外也有個套件叫 ``<roberto@FreeBSD.ORG> 詢問它。 目前正在發展階段。

要再次移除使用者,使用 指令。 我該怎麼把新硬碟加入 FreeBSD 系統中﹖

察看 的磁碟格式化指導文件。 我有一個新的可移除裝置,我該怎麼使用﹖

可移除裝置無論是 ZIP 或 EZ(或甚至是軟碟機,如果你要這樣使用 它),或是一個新的硬碟,只要是安裝並由系統重組,而你有磁片匣 /軟碟片/或其他東西可以插入,那這些裝置都是類似功能的東西。

假如是 ZIP 或軟碟機,你已經在上面有 DOS 檔案系統,可以使用 像這樣的命令: mount -t msdos /dev/fd0c /floppy

這是針對軟碟機,或是以下命令: mount -t msdos /dev/sd2s4 /zip

使用 ZIP 的出廠預設值。

其他磁片,用 /stand/sysinstall 察看 如何配置。

接下來這個範例是 ZIP 裝在 sd2,在第三個 SCSI 磁碟。

不像軟碟機,或一個你計畫跟其他人分享使用的可移除裝置,用 BSD 檔案系統貫穿它可能是一個比較好的主意。你將擁有長檔名支援 ,至少兩倍以上的效率增進,還有更高的穩定度。首先,你需要重新 製作 DOS 層的分割區/檔案系統。你可以使用 /stand/sysinstall,或對一個你不想支援多重作業系統的 小磁碟,只要把它劃分成整個 FAT 分割表(slices)並用以下 BSD 分 割法: dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto

你可以使用 disklabel 或 /stand/sysinstall 去建立多重 BSD 分割區。無疑的如果你正在硬碟機上增加置換空間(swap space)時 你就需要這麼做,但是在可移除裝置如 ZIP 上可能就是無意義的。

最後,建立一個新的檔案系統,也就是在 ZIP 裝置上是使用整個磁碟: newfs /dev/rsd2c

並且把它 mount 起來: mount /dev/sd2c /zip

加入下面這一行可能是一個好主意,你以後就只 要打"mount /zip" : /dev/sd2c /zip ffs rw,noauto 0 0 我該怎麼 mount 次要的 DOS 分割區﹖

次要 DOS 分割區是在所有主要分割區之後被找到,舉例,如果你有一個 "E" 分割區在第二個 SCSI 裝置的第二個 DOS 分割區,你需要在 /dev 下 建立 "slice 5" 的特殊檔案,然後 mount /dev/sd1s5: # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e 我可以在 FreeBSD 下 mount 其他異質性檔案系統嗎﹖

有更多資訊。

的指導介紹。

如果您能提供任何這個主題的其他資訊,我們會很感激。 我該如何使用 NT loader 來啟動 FreeBSD﹖

最普遍的想法是把你的 native FreeBSD root 分割區 的第一個磁區拷貝到 DOS/NT 分割區裡的一個檔案內。假設 你命名它為:c:\bootsect.bsd (由 c:\bootsect.dos 授意而來),接著你可以編輯 c:\boot.ini 檔案內容如下: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

此程序假設 DOS,NT,FreeBSD,或其他作業系統已經被安裝在 Mount 一個 DOS 格式化的軟碟(假如你已經轉換到 NTFS)或 FAT 分 割區到 /mnt dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1

重新開機進入 DOS 或 NT。NTFS 使用者把 attrib -s -r c:\boot.ini

編輯並從上述 attrib -r -s c:\boot.ini

如果 FreeBSD 是由 MBR 啟動,在你重新設定從哪個原生分割區啟動後, 用 DOS 的 `` 我該如何用 LILO 啟動 FreeBSD 和 Linux﹖

如果你在同一個磁碟機裡有 FreeBSD 和 Linux,只要跟隨 LILO 的安 裝指令,從一個非 Linux 作業系統啟動。簡略說明如下:

啟動 Linux,並在 /etc/lilo.conf 中加入以下幾行: other=/dev/hda2 table=/dev/hda label=FreeBSD (上面是假設你的 FreeBSD slice 在 Linux 是 /dev/hda2;請 配合自己的設定)。然後,用 root 執行 lilo 應該就完成了。

假如 FreeBSD 在另外一個磁碟,你必須在 LILO 選項中加入 ``loader=/boot/chain.b'',舉例: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

某些情形你必須指定 BIOS 磁碟代號給 FreeBSD boot loader 以能從第 二磁碟成功的啟動。舉例,假如你的 FreeBSD SCSI 磁碟在 BIOS 中偵測 是 BIOS disk 1,那在 FreeBSD boot loader 的提示號出現時你必須指 定: Boot: 1:sd(0,a)/kernel

在 FreeBSD 2.2.5 和之後的版本,你可以設定 這樣每次啟動時就會自動幫你執行。

是 FreeBSD 和 Linux 共用操作的良好 參考文件。 我怎麼使用 BootEasy 來啟動 FreeBSD 和 Linux﹖

在你的 Linux 啟動分割區安裝 LILO 取代主要啟動資料(Master Boot Record)。接著你可以從 BootEasy 啟動 LILO。

假如你正在執行 Windows-95 和 Linux,這是一個建議方法:要更簡單的 從 Linux 再次啟動在於你是否應該重新安裝 Windows95(這是一個善妒 的作業系統,它壓迫不讓其他作業系統存在於主要啟動記錄內)。 一個所謂``危險奉獻(dangerously dedicated)''的磁碟有害嗎﹖

現在,這是某些常見情形,人們只有 PC 的使用背景。更多本來曾使用 Unix 又想把機器設定只執行 FreeBSD 的人,大多會用傳統 Unix 的方 法讓一個作業系統佔據整個磁碟,從最開頭的第一個磁區到最後一個。 一個真實的 fdisk table 並在這個情形中並沒有實質功用,機器上一天 24 小時,每週七天無時不刻地都在執行 FreeBSD,甚至沒有啟動其他作 業系統。因此,如果你在 sysinstall 的 fdsik 編輯器裡選擇 ``A)ll FreeBSD'',並用 ``No'' 回答下一個問題,你就是在這種模式中 。值得注意的是這代表 BSD bootstrap 也由這台磁碟機的 MBR 所產生, 因此沒有留下空間給其他像是啟動管理員的程式。不要試著去安裝它,不 然你會把 BSD bootsrtap 弄壞了。

因此為何叫它``危險的''﹖一個處於這種模式的磁碟機不包含將被正 常 PC 公用程式視為有效的 fdisk table。依循它們被設計的模式,只 要它們在這樣一個磁碟機中一旦被觸及可能就會產生錯誤的提示,或更 糟糕的,可能未經提示或通知你就把 FreeBSD bootstrap 弄壞。一些在 PC 上廣泛使用的作業系統就有這種 ``使用者不友善性'' 的存在(當然 ,它們稱之為``使用者的友善性'')。至少已知在 HP Netservers 上的 Award BIOS(它並不是唯一的特例)就是會忽略任何它認為沒有有效 fdisk 列表的硬碟。這導致它啟動時,簡略的忽略過這樣一個磁碟裝置, 切換到軟碟機,然後只是跟你吐著``讀取錯誤''的訊息。很讓人印象深 刻吧﹖或許他們也叫這為``使用者友善性'',誰知道﹖

這種模式的好處是:FreeBSD 擁有整個磁碟,不需要因為由 1980 年代起簡略的分割模式,強迫一些人造而現在看起來無意義的限制 在這些分割該怎麼被完成,浪費好幾個虛擬的`磁軌'。這些限制時 常可能導致如何在 fdisk 列表中儲存分割資訊時兩種相異卻多餘 的方法造成 geometry 的搭配不合,而變成 PC 的 OS 安裝過程最 大的頭痛。請查閱 。 在``完全奉獻''的模式下,BSD bootstrap 從磁區 0 開始,這是唯一 能轉換同一個 C/H/S 值的磁區,不管你的 BIOS 如何`轉換'你的磁 碟。因此,你也可以在系統/控制器之間以一種不同的轉換架構置換磁 碟,而不須承擔失敗後磁碟機再也不會啟動的風險。

要把``危險奉獻''的磁碟回復到正常 PC 使用,基本上有兩個選擇。 第一,是你把足夠的 NULL 位元組寫入 MBR 確保任何隨後的安裝程 式相信這只是一個空白的磁碟。舉例來說你可以這樣做: dd if=/dev/zero of=/dev/rsd0 count=15

或是採用另外一個,非正式的 DOS ``特色'': fdisk /mbr

這將會安裝一個全新的主要啟動記錄,因此會破壞 BSD bootstrap。 我如何能加入更多的置換空間﹖

最好的方法是增加你置換分割區的大小,或利用這個方便理由的好處去 增加另一個硬碟。

在分散的磁碟上增加置換空間會比單純地在同一個磁碟加入置換空間 讓效率來的快一點。舉一個例子來說,如果你正在一個磁碟裡編譯來 源程式,而置換空間在另一個磁碟,這會比置換空間跟編譯程式都在 同一個磁碟時來得快。這對 SCSI 磁碟機特別正確。

IDE 磁碟並不允許同時在同一通道裡存取兩個裝置(FreeBSD 不支援 mode 4,因此所有的 IDE 磁碟 I/O 是``可程式化的'')。然而我仍 會建議你把置換空間放在分別的磁碟。磁碟機這麼便宜,實在沒什麼 好擔心的。

把你的置換檔放在 NFS 實在是一個很爛的主意,除非你正在一個非常 快速的網路環境下執行,還要有一個很好的伺服器。

這裡有個範例是用 64MB vn-swap (/usr/swap0,當然你能用 任何你想用的名字)。

確定你的核心程式建立時有包含以下這行: pseudo-device vn 1 #Vnode driver (turns a file into a device)

在你的設定檔中。GENERIC 這個核心已經包含這項了。 建立一個 vn-device cd /dev sh ./MAKEDEV vn0 建立一個置換檔 (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 /etc/rc.conf 中啟動置換檔 swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. 重新開機。

要馬上啟動置換檔,鍵入: vnconfig -ce /dev/vn0c /usr/swap0 swap 我不會設定我的印表機。

請參閱 Handbook 裡有關列印的部份。這應該能解決你大部分的問題,請看 我系統上的鍵盤配置錯了。

kbdcontrol 程式有一個選項可以讀取鍵盤配置檔案。在 /usr/share/syscons/keymaps 有一些配置檔。選擇一個跟你的 相關的並讀取它。 kbdcontrol -l uk.iso

/usr/share/syscons/keymaps 所斷定。

可以從 /etc/sysconfig (或 ) 來設定,請看此檔裡相關的註解。

在 2.0.5R 及其之後的版本,所有跟文字字型,鍵盤對應相關的設定都在 /usr/share/examples/syscons

以下是目前支援的對應設定: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx 我無法讓 user quotas 正常工作。

不要在 '/' 打開 quotas, 把 quotas 檔放在它必須強迫置入的檔案系統內,舉例: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... 我的 ccd 有何不妥﹖

這種情形的徵兆是: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

通常這會發生在你嘗試要連結 `c' 分割區,這內定的型別是`無法使用的' 。ccd 驅動程式需要的基礎分割區型別為 FS_BSDFFS,編輯你要試著連結的磁碟 標記並更改分割區的型別為`4.2BSD'。 為何我不能編輯我 ccd 的磁碟標記﹖

這種情形的徵兆是: # disklabel ccd0 (這裡印出某些明顯的資料,所以試著編輯它) # disklabel -e ccd0 (編輯,儲存,然後離開) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

這是因為由 ccd 傳回的磁碟標記事實上是一個`假的'而沒有真正在磁碟 上。你可以把它完全寫入來解決這個問題,像這樣: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) FreeBSD 支援 System V IPC 格式指令集?

是的,FreeBSD 支援 System V-style IPC。這包括共享記憶體,訊息跟 信號。你需要在你的核心設定檔內加入下列幾行以啟動它們。 options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

重新編譯並安裝。

我該如何使用 sendmail 透過 UUCP 來遞送郵件?

跟隨 FreeBSD 套裝而來的 sendmail 設定是適合那些直接連上網際網路 的站台。想透過 UUCP 交換郵件的站台必須另外安裝 sendmil 的設定檔 案。

手動修改 /etc/sendmail.cf 是絕對必要的。第 8 版的 sendmail 提供一個全新的入口以透過一些像 的處理就能 產生設定檔,這事實上是一個高層概念等級的技巧性設定。你應該可以在以 下檔案裡使用它: /usr/src/usr.sbin/sendmail/cf

假如你不是用 full sources 方式安裝系統,那麼 sendmail 設定項目可 能已經分散成好幾個來源分布檔在等著你,假設你已經 mount 光碟機,做 以下動作: cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

別驚慌,這只有數十萬個位元組的大小。在 cf 目錄裡的 README 可以提供一個 m4 設定法的基本介紹。

以 UUCP 遞送來說,建議你最好使用 mailertable 特點。 建構一個資料庫讓 sendmail 可以使用它自己的路徑決策。

首先,你必須建立自己的 .mc 檔。 /usr/src/usr.sbin/sendmail/cf/cf 目錄是這些檔案的家。 查看一下,已經有好幾個範例檔,假設你已經命名自己的檔叫 foo.mc,你要做的只是把它轉換成一個有效的 sendmail.cf cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

一個典型的 .mc 檔看起來可能像這樣: include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

nodnsnocanonify 特性將避免任何在遞送郵件 時會用到 DNS 的機會。UUCP_RELAY 項目的出現理由很奇怪, 就不要問為何了。簡單的放入一個網際網路上可以處理 .UUCP 虛擬網域 位址的主機名稱;通常,你只需要在這裡填入你 ISP 的信件回覆處 (mail replay)。

你已經做到這裡了,你還需要這個叫 /etc/mailertable 的 檔案。一個典型的範例如下: # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

如你所見,這是某個真實檔案裡的一部份。首三行處理網域定址信件 不應該被送出到內定路徑,而由某些 UUCP 鄰居(UUCP neighbor)取代 的特殊情形,這是為了``縮短''遞送的路徑。下一行處理到本地乙太 網路網域的信件讓它可以使用 SMTP 來遞送。最後,UUCP 鄰居提到 .UUCP 虛擬網域的記載,允許一個``uucp-neighbor!recipient''推翻內定規則。最後一行則以一 個單獨的句點做結束,以 UUCP 遞送到提供當你全世界性郵件閘門的 UUCP 鄰居。所有在 uucp-dom: 關鍵字裡的節點名稱必須都是 有效的 UUCP 鄰居,你可以用 uuname 命令去確認。

提醒你這個檔案在使用前必須被轉換成 DBM 資料庫檔案,最好在 mailertable 最上面用註解寫出命令列來完成這個工作。當你每次更換你 的 mailertable 後你總是需要執行這個命令。

最後提示:如果你不確定某些特定的信件路徑可用,記得把 -bt 選項加到 sendmail。這會將 sendmail 啟動在 address test mode ;只要按下 ``0'',接著輸入你希望測試的信件路徑位址。最後一行告訴你使 用內部的信件代理程式,代理程式的會通知目的主機,以及(可能轉換的)位址 。要離開此模式請按 Control-D。 j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% 當我用撥接連上網路時該怎麼設定信件遞送?

如果你已經有一個固定的 IP 數字,你不需要調整任何內定值。設好 你要指定的網路名稱,其他的 sendmail 都會幫你做完。

如果你拿到的是動態配置的 IP 數字而使用撥接 為了從你的信箱接收信件,你將需要安裝取信程式以便從信箱取回信件。 /etc/ppp/ppp.linkup 裡面 設定以下幾項: MYADDR: !bg su user -c fetchmail

我假設你在 poll myISP.com protocol pop3 fetchall pass MySecret;

無須贅言,這個檔除了 為了在寄信時有正確的抬頭 以下的 VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl

如何轉換這個 咦!我忘記 root 的密碼了!

不要驚慌!只要重新啟動系統,在 boot: 提示號打 -s 進入單使用者模式。 在問要使用哪個 shell 時,按下 ENTER。你會看到一個 # 的提示號,輸入 mount -u / 以重新架設你的根檔案系統可供讀/寫。執行 我該怎麼保留讓 Control-Alt-Delete 不能重新啟動系統?

修改你正在使用的主控台鍵盤對應,並且把所有 /usr/share/syscons/keymaps/us.iso.kbd。你可能需要明白的 吩咐 /etc/rc.conf 去讀取這個鍵盤對應以確保更動生效。當 然如果你正在用適合你國籍的鍵盤對應,你應該編輯那一個。 我該怎麼把 DOS 文字檔案重新格式化成 UNIX 的?

簡單地使用這個 perl 命令: perl -i.bak -npe 's/\r\n/\n/g' file ...

file 就是要處理的檔案。這個修改是在內部完成,原始的檔案會儲存成 副檔名為 .bak 的檔案。 我該怎麼用名稱砍掉 process?

使用 . 為何在 root 的 ACL 時 su 好像有問題?

這個錯誤是因為 Kerberos 分散認證系統。這個問題並不是很嚴重但是令人 厭煩。你可以用 -K 選項去執行 su,或是像下個問題所描述的移除 Kerberos。 - 我該怎麼移除 Kerberos? + 我該怎麼移除 Kerberos?

要從系統裡移除 Kerberos,重裝你正在執行的 release 版本內 bin distribution。如果你有 CDROM,你可以 mount cd(假設在 /cdrom)並執 行: cd /cdrom/bin ./install.sh 我該怎麼增加系統的虛擬終端機?

如果你有許多 telnet,ssh,X 或是 screen 使用者,你或許會用完虛擬 終端機,這能教你怎麼加更多: 建立並安裝一個新的核心程式並且加入這行到設定檔: pseudo-device pty 256 執行這個命令: # cd /dev # ./MAKEDEV pty{1,2,3,4,5,6,7}

會造出 256 個虛擬終端機的裝置節點。 編輯 /etc/ttys 並加入符合 256 個終端機的行數。它們應 該符合已經存在單項的格式,舉例來說,它們看起來像: ttyqc none network

字母設計的順序是 tty[pqrsPQRS][0-9a-v],使用正規表示式。 用新的核心程式重新啟動電腦就可以了。 - \ No newline at end of file +