Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 FreeBSD 文件計畫
歡迎使用FreeBSD! 本使用手冊涵蓋範圍包括了 FreeBSD 6.3-RELEASE 和 FreeBSD 7.0-RELEASE 的安裝和日常使用。 這份使用手冊是很多人的集體創作,而且仍然『持續不斷』的進行中。 許多章節仍未完成,已完成的部份也有些需要更新。 如果您有興趣協助本計畫的話,請寄 e-mail 到 FreeBSD documentation project 郵遞論壇。 在 FreeBSD 網站 可以找到這份文件的最新版本(舊版文件可從 http://docs.FreeBSD.org/doc/ 取得),也可以從 FreeBSD FTP 伺服器 或是眾多 mirror 站臺 下載不同格式的資料。 如果比較偏好實體書面資料,那可以在 FreeBSD Mall 購買。 此外,也可以在 使用手冊 中搜尋資料。
Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Important: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FreeBSD 是 FreeBSD基金會的註冊商標
3Com 和 HomeConnect 是 3Com Corporation 的註冊商標。
3ware 和 Escalade 是 3ware Inc 的註冊商標。
ARM 是 ARM Limited. 的註冊商標。
Adaptec 是 Adaptec, Inc. 的註冊商標。
Adobe, Acrobat, Acrobat Reader, 以及 PostScript 是 Adobe Systems Incorporated 在美國和/或其他國家的商標或註冊商標。
Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, 以及 TrueType 是 Apple Computer, Inc. 在美國以及其他國家的註冊商標。
Corel 和 WordPerfect 是 Corel Corporation 和/或其子公司在加拿大、美國和/或其他國家的註冊商標。
Sound Blaster 是 Creative Technology Ltd. 在美國和/或其他國家的註冊商標。
CVSup 是 John D. Polstra 的註冊商標。
Heidelberg, Helvetica, Palatino, 和 Times Roman 是 Heidelberger Druckmaschinen AG 在美國以及其他國家的商標或註冊商標。
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, 和 ThinkPad 是 國際商用機器公司在美國和其他國家的註冊商標或商標。
IEEE, POSIX, 和 802 是 Institute of Electrical and Electronics Engineers, Inc. 在美國的註冊商標。
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, 和 Xeon 是 Intel Corporation 及其分支機構在美國和其他國家的商標或註冊商標。
Intuit 和 Quicken 是 Intuit Inc., 或其子公司在美國和其他國家的商標或註冊商標。
Linux 是 Linus Torvalds 的註冊商標。
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID 和 Mylex 是 LSI Logic Corp 的商標或註冊商標。
M-Systems 和 DiskOnChip 是 M-Systems Flash Disk Pioneers, Ltd. 的商標或註冊商標。
Macromedia, Flash, 以及 Shockwave Macromedia, Inc. 在美國和/或其他國家的商標或註冊商標。
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, 和 Windows NT 是 Microsoft Corporation 在美國和/或其他國家的商標或註冊商標。
Netscape 以及 Netscape Navigator 是 Netscape Communications Corporation 在美國和其他國家的註冊商標。
GateD 和 NextHop 是 NextHop 在美國和其他國家的商標或註冊商標。
Motif, OSF/1, 和 UNIX 是 The Open Group 在美國和其他國家的註冊商標; IT DialTone 和 The Open Group 是其商標。
Oracle 是 Oracle Corporation 的註冊商標。
PowerQuest 和 PartitionMagic 是 PowerQuest Corporation 在美國和/或其他國家的註冊商標。
RealNetworks, RealPlayer, 和 RealAudio 是 RealNetworks, Inc. 的註冊商標。
Red Hat, RPM, 是 Red Hat, Inc. 在美國和其他國家的註冊商標。
SAP, R/3, 和 mySAP 是 SAP AG 在德國以及許多其他國家的商標或註冊商標。
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, 和 Ultra 是 Sun Microsystems, Inc. 在美國和其他國家的商標或註冊商標。
Symantec 和 Ghost 是 Symantec Corporation 在美國和其他國家的註冊商標。
MATLAB 是 The MathWorks, Inc. 的註冊商標。
SpeedTouch 是 Thomson 的商標。
U.S. Robotics 和 Sportster 是 U.S. Robotics Corporation 的註冊商標。
VMware 是 VMware, Inc. 的商標
Waterloo Maple 和 Maple 是 Waterloo Maple Inc 的商標或註冊商標
Mathematica 是 Wolfram Research, Inc 的註冊商標。
XFree86 是 The XFree86 Project, Inc 的商標。.
Ogg Vorbis 和 Xiph.Org 是 Xiph.Org 的商標。
許多製造商和經銷商使用一些稱為商標的圖案或文字設計來彰顯自己的產品。 本文中出現的眾多商標,以及 FreeBSD Project 本身廣所人知的商標,後面將以 '™' 或 '®' 符號來標註。
若您是第一次接觸 FreeBSD 的新手,可以在本書第一部分找到 FreeBSD 的安裝方法,同時會逐步介紹 UNIX® 的基礎概念與一些常用、共通的東西。而閱讀這部分並不難,只需要您有探索的精神和接受新概念。
讀完這些之後,手冊中的第二部分花很長篇幅介紹的各種廣泛主題,相當值得系統管理者去注意。 在閱讀這些章節的內容時所需要的背景知識,都註釋在該章的大綱裡面,若不熟的話,可在閱讀前先預習一番。
延伸閱讀方面,可參閱 Appendix B。
您目前看到的這本手冊第三版是 FreeBSD 文件計劃的成員歷時兩年完成的心血之作。 新版的主要修訂部分,如下:
Chapter 11, 設定與效能調校(Tuning),該章節針對新內容作更新,比如: ACPI 電源管理、cron、以及其他更多的 kernel tuning 選項說明內容。
Chapter 14, 系統安全篇,該章節增加了虛擬私人網路(VPN)、檔案系統的存取控制(ACL),以及安全公告(Security Advisories)的內容。
Chapter 16, 集權式存取控制(MAC)是本版所增加的章節。本章介紹:什麼是 MAC 機制?以及如何運用它來使您的 FreeBSD 系統更安全。
Chapter 18, 儲存設備篇,新增了像是:USB 隨身碟、檔案系統快照(snapshot)、檔案系統配額(quota) 、檔案及網路的備援檔案系統、以及如何對硬碟分割區作加密等詳解。
Chapter 20Vinum是本版所新增的章節。本章介紹:如何運用 Vinum 這種邏輯磁碟(device-independent) ,以及軟體 RAID-0, RAID-1 和 RAID-5 。
Chapter 25PPP 及 SLIP 一章中增加了故障排除的說明。
Chapter 26電子郵件一章中新增有關如何使用其它的 MTA 程式、SMTP 認証、UUCP、fecthmail、procmail 的運用以及其它進階專題。
Chapter 27, 網路伺服器篇,是新版中全新的一章。這一章介紹了如何架設 Apache HTTP 伺服器、FTPd,以及用於支援 Microsoft Windows client 的 Samba 伺服器。其中有些段落來自原先的Chapter 29進階網路應用一章。
Chapter 29進階網路應用一章新增有關在 FreeBSD 中使用藍芽設備、安裝無線網路以及使用 ATM(Asynchronous Transfer Mode) 網路的介紹。
增加了一份詞彙表(Glossary),用以說明全書中出現的術語。
重新美編書中所列的圖表。
本手冊的第二版是 FreeBSD 文件計劃的成員歷時兩年完成的心血之作。第二版包含了如下的主要變動︰
增加完整的目錄索引。
所有的 ASCII 圖表均改成圖檔格式的圖表。
每個章節均加入概述,以便快速的瀏覽該章節內容摘要、讀者所欲了解的部分。
內容架構重新組織成三大部分: “開始使用 FreeBSD”, “系統管理”, and “附錄”。
Chapter 2 (“安裝 FreeBSD”) 已經重新改寫,並加入許多說明圖片, 讓第一次接觸 FreeBSD 的人,直接看圖就很清楚明瞭重點(一圖抵千字的效果)。
Chapter 3(“UNIX 基礎概念篇”)新增了 processes, daemons 和 signals 的介紹。
Chapter 4 (“軟體套件管理篇”)新增了介紹如何管理 binary package 套件的資訊。
Chapter 5 (“X Window 視窗系統篇”) 經過全面改寫,著重於在 XFree86™ 4.X 上的流行 x11-wm,像是: KDE 和 GNOME 。
Chapter 12 (“FreeBSD 開機流程篇”)更新相關內容。
Chapter 18 (“儲存設備篇(Storage)”) 分別以兩個章節 “Disks” 與 “Backups” 來撰寫。我們認為這樣子會比單一章節來得容易瞭解。還有關於 RAID(包含硬體、軟體RAID) 的段落也新增上去了。
Chapter 24(“Serial 通訊篇”)架構重新改寫,並更新至 FreeBSD 4.X/5.X 的內容。
Chapter 25 (“PPP 及 SLIP”)有相當程度的更新。
Chapter 29(“進階網路應用篇”)加入許多新內容。
Chapter 26 (“電子郵件篇”)大量新增了設定 sendmail 的介紹。
Chapter 10 (“Linux® 相容篇”) 增加許多有關安裝 Oracle® 及 SAP® R/3® 的介紹。
此外,第二版還新加章節,以介紹下列專題:
Chapter 11, 設定與效能調校(Tuning)。
Chapter 7, 多媒體影音娛樂(Multimedia)。
本書主要分為五大部分,第一部份『開始使用』:介紹 FreeBSD 的安裝、基本操作。 讀者可根據自己的程度,循序或者跳過一些熟悉的主題來閱讀; 第二部分『常用操作』:介紹 FreeBSD 常用功能,這部分可以不按順序來讀。 每章前面都會有概述,概述會描述本章節涵蓋的內容和讀者應該已知的, 這主要是讓讀者可以挑喜歡的章節閱讀; 第三部分『系統管理』:介紹 FreeBSD 老手所感興趣的各種專題部分; 第四部分『網路通訊』:則包括網路和各式 Server 專題;而第五部分『附錄』:是各種有關 FreeBSD 的資源。
向新手介紹 FreeBSD。該篇說明了 FreeBSD 計劃的歷史、目標和開發模式。
介紹安裝程序。其中還有介紹一些進階的安裝主題,包括像是如何透過 serial console 來安裝。
Covers the basic commands and functionality of the FreeBSD operating system. If you are familiar with Linux or another flavor of UNIX then you can probably skip this chapter.
Covers the installation of third-party software with both FreeBSD's innovative “Ports Collection” and standard binary packages.
Describes the X Window System in general and using X11 on FreeBSD in particular. Also describes common desktop environments such as KDE and GNOME.
Lists some common desktop applications, such as web browsers and productivity suites, and describes how to install them on FreeBSD.
Shows how to set up sound and video playback support for your system. Also describes some sample audio and video applications.
Explains why you might need to configure a new kernel and provides detailed instructions for configuring, building, and installing a custom kernel.
Describes managing printers on FreeBSD, including information about banner pages, printer accounting, and initial setup.
Describes the Linux compatibility features of FreeBSD. Also provides detailed installation instructions for many popular Linux applications such as Oracle, SAP R/3, and Mathematica®.
Describes the parameters available for system administrators to tune a FreeBSD system for optimum performance. Also describes the various configuration files used in FreeBSD and where to find them.
Describes the FreeBSD boot process and explains how to control this process with configuration options.
Describes the creation and manipulation of user accounts. Also discusses resource limitations that can be set on users and other account management tasks.
Describes many different tools available to help keep your FreeBSD system secure, including Kerberos, IPsec and OpenSSH.
Explains what Mandatory Access Control (MAC) is and how this mechanism can be used to secure a FreeBSD system.
Describes how to manage storage media and filesystems with FreeBSD. This includes physical disks, RAID arrays, optical and tape media, memory-backed disks, and network filesystems.
Describes what the GEOM framework in FreeBSD is and how to configure various supported RAID levels.
Describes how to use Vinum, a logical volume manager which provides device-independent logical disks, and software RAID-0, RAID-1 and RAID-5.
Describes how to use FreeBSD in languages other than English. Covers both system and application level localization.
Explains the differences between FreeBSD-STABLE, FreeBSD-CURRENT, and FreeBSD releases. Describes which users would benefit from tracking a development system and outlines that process.
Explains how to connect terminals and modems to your FreeBSD system for both dial in and dial out connections.
Describes how to use PPP, SLIP, or PPP over Ethernet to connect to remote systems with FreeBSD.
Explains the different components of an email server and dives into simple configuration topics for the most popular mail server software: sendmail.
Provides detailed instructions and example configuration files to set up your FreeBSD machine as a network filesystem server, domain name server, network information system server, or time synchronization server.
Explains the philosophy behind software-based firewalls and provides detailed information about the configuration of the different firewalls available for FreeBSD.
Describes many networking topics, including sharing an Internet connection with other computers on your LAN, advanced routing topics, wireless networking, bluetooth, ATM, IPv6, and much more.
Lists different sources for obtaining FreeBSD media on CDROM or DVD as well as different sites on the Internet that allow you to download and install FreeBSD.
This book touches on many different subjects that may leave you hungry for a more detailed explanation. The bibliography lists many excellent books that are referenced in the text.
Describes the many forums available for FreeBSD users to post questions and engage in technical conversations about FreeBSD.
Lists the PGP fingerprints of several FreeBSD Developers.
為方便閱讀本書,以下是一些本書所遵循的編排體裁:
斜體字型(Italic) 用於:檔名、目錄、網址(URL)、 強調語氣、以及第一次提及的技術詞彙。
定寬字(Monospace) 用於: 錯誤訊息、指令、環境變數、port 名稱、主機名稱(hostname)、帳號、群組、設備(device)名稱、變數、 程式碼等。
以粗體字表示:應用程式、命令、按鍵。
鍵盤輸入以 粗體字(Bold) 表示,以便與一般文字做區隔。 組合鍵是指同時按下一些按鍵,我們以 `+' 來表示連接,像是:
Ctrl+Alt+Del
也就是說,一起按 Ctrl 鍵、 Alt 鍵,以及 Del 鍵。
若要逐一按鍵,那麼會以逗號(,)來表示,像是:
Ctrl+X, Ctrl+S
也就是說:先同時按下 Ctrl 與 X 鍵, 然後放開後再同時按 Ctrl 與 S 鍵。
下面例子以 E:\> 為開頭的代表 MS-DOS® 指令部分。 若沒有特殊情況的話,這些指令應該是在 Microsoft® Windows® 環境的 “命令提示字元(Command Prompt)” 內執行。
E:\> tools\fdimage floppies\kern.flp A:
例子若是先以 # 為開頭再接指令的話,就是指在 FreeBSD 中以 root 權限來下命令。 你可以先以 root登入系統並下指令,或是以你自己的帳號登入,並使用 su(1) 來取得 root 權限。
# dd if=kern.flp of=/dev/fd0
例子若是先以 % 為開頭再接指令的話,就是指在 FreeBSD 中以一般帳號來下命令即可。 除非有提到其他用法,否則都是預設為 C-shell(csh/tcsh) 語法,用來設定環境變數以及下其他指令的意思。
% top
您所看到的這本書是經過數百個分散在世界各地的人所努力而來的結果。 無論他們只是糾正一些錯誤或提交完整的章節,所有的點滴貢獻都是非常寶貴有用的。
也有一些公司透過提供資金讓作者專注於撰稿、提供出版資金等模式來支持文件的寫作。 其中,BSDi (之後併入 Wind River Systems) 資助 FreeBSD 文件計劃成員來專職改善這本書直到 2000 年 3 月第一版的出版。(ISBN 1-57176-241-8) Wind River Systems 同時資助其他作者來對輸出架構做很多改進,以及給文章增加一些附加章節。這項工作結束於 2001 年 11 月第二版。(ISBN 1-57176-303-1) 在 2003-2004 兩年中,FreeBSD Mall 把報酬支付給改進這本手冊以使第三版印刷版本能夠出版的志工。
這部份是提供給初次使用 FreeBSD 的使用者和系統管理者。 這些章節包括:
介紹 FreeBSD 給您。
在安裝過程給您指引。
教您 UNIX 的基礎及原理。
展示給您看如何安裝豐富的 FreeBSD 的應用軟體
向您介紹 X, UNIX 的視窗系統以及詳細的桌面環境設定,讓您更有生產力。
我們試著儘可能的讓這段文字的參考連結數目降到最低,讓您在讀使用手冊的這部份時可以不太需要常常前後翻頁。
非常感謝您對 FreeBSD 感興趣!以下章節涵蓋 FreeBSD 計劃的各方面:比如它的歷史、目標、開發模式等等。
讀完這章,您將了解︰
FreeBSD 與其他 OS 之間的關係;
FreeBSD 計劃的歷史源流;
FreeBSD 計劃的目標;
FreeBSD open-source 開發模式的基礎概念;
當然囉,還有 “FreeBSD” 這名字的由來。
FreeBSD 是一個從 4.4BSD-Lite 衍生出而能在以 Intel (x86 and Itanium®), AMD64, Alpha™, Sun UltraSPARC® 為基礎的電腦上執行的作業系統。同時,移植到其他平台的工作也在進行中。 對於本計劃歷史的介紹,請看 FreeBSD 歷史源流, 對於 FreeBSD 的最新版本介紹,請看 current release 。若打算對於 FreeBSD 計劃有所貢獻的話(像是程式碼硬體設備、基金), 請看 如何對 FreeBSD 有貢獻。
FreeBSD 提供給你許多先進功能。這些功能包括:
動態優先權調整的『先佔式多工』能夠確保,即使在系統負擔很重的情況下, 程式執行平順並且應用程式與使用者公平地共享資源。
『多人共用(multi-user)』代表著許多人可以同時使用一個 FreeBSD 系統來處理各自的事務。 系統的硬體周邊(如印表機及磁帶機)也可以讓所有的使用者適當地分享。 也可以針對各別使用者或一群使用者的系統資源,予以設限, 以保護系統不致被過度使用。
好用的『TCP/IP 網路功能』可支援許多業界標準,比如: SCTP、DHCP、NFS、NIS、PPP、SLIP、IPSec、IPv6 的支援,也就是說 FreeBSD 可以容易地跟其他作業系統透過網路共同運作,或是當作企業的伺服器用途 ,例如提供遠端檔案共享(NFS)及電子郵件(email)等服務, 或是讓您的企業連上網際網路(Internet)並提供 WWW、FTP、 路由(routing)、及防火牆(firewall、security) 等必備服務。
『記憶體保護(Memory protection)』能確保程式(或是使用者)不會互相干擾, 即使任何程式有不正常的運作,都不會影響其他程式的執行。
FreeBSD 是『32位元(32-bit)』的作業系統 (在 Alpha、Itanium、 AMD64 及 UltraSPARC 上則是『64位元(64-bit)』) — 打從一開始便是這樣設計的。
業界標準的『X Window 系統』(X11R7)可以在常見的便宜 VGA 顯示卡/螢幕, 提供了圖形化的使用者介面(GUI),並且包括了完整的原始程式碼。
能『直接執行』許多其他作業系統(比如: Linux、SCO、SVR4、BSDI 和 NetBSD) 的可執行檔。
數以萬計的立即可以執行的應用程式,這些都可透過 FreeBSD 的『ports』及『packages』軟體管理機制來取得。 不再需要費心到網路上到處搜尋所需要的軟體。
此外,網路上尚有可非常容易移植的數以萬計應用程式。 FreeBSD 的原始程式碼與許多常見的商業版 UNIX 系統都相容, 所以大部分的程式都只需要很少的修改(或根本不用修改) ,就可以編譯執行。
需要時才置換(demand paged) virtual memory 及 “merged VM/buffer cache” 的設計, 這點在系統中有用去大量記憶體的程式執行時,仍然有不錯的效率表現。
支援 CPU 的對稱多工處理(SMP):可以支援多 CPU 的電腦系統。
完全相容的 C、C++ 以及 Fortran 的環境和其他開發工具。 以及其他許多可供進階研發的程式語言也收集在 ports 和 packages。
整個系統都有『原始程式碼』, 這讓你對作業環境擁有最完全的掌握度。 既然能擁有完全開放的系統,何苦被特定封閉軟體所約束,任廠商擺佈呢?
廣泛且豐富的『線上文件』。
當然囉,還不止如此!
FreeBSD 系統乃是基於美國加州大學柏克萊分校的電腦系統研究群 (Computer Systems Research Group 也就是 CSRG) 所發行的 4.4BSD-Lite,以及基於 BSD 系統開發的優良傳統。 除了由 CSRG 所提供的高品質的成果, 為了提供可處理真正具負荷的工作, FreeBSD 計劃也投入了數千小時以上的細部調整, 以能獲得最好的執行效率以及系統的穩定度。 正當許多商業上的巨人正努力地希望能提供效能及穩定時, FreeBSD 已經具備這樣的特質 -- 就是現在!
FreeBSD 的運用範圍無限,其實完全限制在你的想像力上。 從軟體的開發到工廠自動化,或是人造衛星上面的天線的方位角度的遠端控制; 這些功能若可以用商用的 Unix 產品來達成, 那麼極有可能使用 FreeBSD 也能辦到! FreeBSD 也受益於來自於全球各研究中心及大學所開發的數千個高品質的軟體 ,這些通常只需要花費很少的費用或根本就是免費的。 當然也有商業軟體,而且出現的數目是與日俱增。
由於每個人都可以取得 FreeBSD 的原始程式碼, 這個系統可以被調整而能執行任何原本完全無法想像的功能或計劃, 而對於從各廠商取得的作業系統通常沒有辦法這樣地被修改。 以下提供一些人們使用 FreeBSD 的例子:
網路服務: FreeBSD 內建強勁的網路功能使它成為網路服務(如下例)的理想平台:
檔案伺服器(FTP servers)
全球資訊網伺服器(WWW servers) (標準的或更安全的 [SSL] 連線)
IPv4 及 IPv6 routing
防火牆以及 NAT (“IP masquerading”) gateways。
電子郵件伺服器(Electronic Mail servers)
網路新聞伺服器(USENET News) 或是電子佈告欄系統(BBS)
還有更多...
有了 FreeBSD,您可以容易地先用便宜的 386 PC, 再逐步升級您的機器到四個 CPU 的 Xeon 並使用磁碟陣列(RAID)來滿足您企業運用上的需求。
教育: 若您是資工相關領域的學生,再也沒有比使用 FreeBSD 能學到更多作業系統、計算機結構、及網路的方法了。 另外如果你想利用電腦來處理一些其他的 工作,還有一些如 CAD、 數學運算以及圖形處理軟體等可以免費地取得使用。
研究:有了完整的原始程式碼,FreeBSD 是研究作業系統及電腦科學的極佳環境。 具有免費且自由取得特性的 FreeBSD 也使得一個分置兩地的合作計劃,不必擔心版權及系統開放性的問題, 而能自在的交流。
網路: 你如果需要 router、Name Server (DNS) 或安全的防火牆(Firewall), FreeBSD 可以輕易的將你沒有用到的 386 或 486 PC 變身成為絕佳的伺服器,甚至具有過濾封包(packet-filter) 的功能。
X 視窗工作站: FreeBSD 是 X 終端機的良策,你可以使用免費的 X11 Server。 FreeBSD 不但可以充當遠端 X 程式終端機, 也可以執行本地的 X 程式而減輕大型工作站的負荷。 如果有一台中央伺服器的話,FreeBSD 甚至可以經由網路開機 (不需硬碟,也就是“diskless”) ,而變成更便宜且易於管理的工作站。
軟體開發: 基本安裝的 FreeBSD 就包含了完整的程式開發工具,如 GNU C/C++ 編譯器及除錯器。
你可以經由燒錄 CD-ROM、DVD 或是從 FTP 站上抓回 FreeBSD -- 包括立即可執行的系統以及系統的完整程式碼。 詳情請參閱 Appendix A 取得 FreeBSD。
接下來講的是 FreeBSD 計劃的背景,包含歷史源流的簡介、計劃的目標,以及開發的模式。
FreeBSD 計畫的想法是在 1993 年初所形成的, 那是源自於維護一組 『非官方 386BSD 的 patchkit(修正工具)』計劃的三個協調維護人 Nate Williams,Rod Grimes 和我(Jordan Hubbard)。
我們最初的目標是做出一份 386BSD 綜合修正的 snapshot 版,以便修正當時一堆 patchkit 都不容易解決的問題。有些人可能還記得早期的計劃名稱叫做 “386BSD 0.5” 或 “386BSD Interim” 就是這個原因。
386BSD 是 Bill Jolitz 的作業系統,在當時就已有約一年的分裂討論。 當該修正工具 (patchkit) 日漸龐雜得令人不舒服,我們無異議地同意要作一些事了, 並決定提供一份臨時性的 “淨化版(cleanup)” 來幫助 Bill。 然而,由於 Bill Jolitz 忽然決定取消其對該計劃的認可,且沒有明確指出未來的打算, 所以該計劃便突然面臨斷炊危機。
不久我們便決定在即使沒有 Bill 的支持下,讓該計劃仍然繼續下去, 最後我們採用 David Greenman 丟銅板決定的名字,也就是『FreeBSD』。 在詢問了當時的一些使用者意見之後,就開始決定了最初的目標, 當該計劃開始實施一切就要成真時,一切就變得更清楚了。 我跟 Walnut Creek CD-ROM 討論發行 CD-ROM 這樣子不便上網的人就可以用比較簡單的方式取得 FreeBSD。 Walnut Creek CD-ROM 不只贊成以 CD-ROM 來發行 FreeBSD 的想法,同時提供了一台機器以及快速的網際網路的頻寬。 如果不是 Walnut Creek CD-ROM 幾乎是空前的信任這個剛開始還是完全默默無聞的計劃, 那麼很可能 FreeBSD 不會如此快速的成長到今日這樣的規模。
第一張以 CD-ROM (及網路)發行的 FreeBSD 1.0 是在 1993 年十二月。 該版本是基於由 U.C. Berkeley 以磁帶方式發行的 4.3BSD-Lite (“Net/2”)以及許多來自於 386BSD 和自由軟體基金會的軟體。對於第一次發行而言還算成功, 我們又接著於 1994 年 5 月發行了相當成功的 FreeBSD 1.1。
然而此後不久,另一個意外的風暴在 Novell 和 U.C. Berkeley 關於 Berkeley Net/2 磁帶之法律地位的訴訟確定之後形成。 U.C. Berkeley 接受大部份的 Net/2 的程式碼都是『侵佔來的』且是屬於 Novell 的財產 -- 事實上是當時不久前從 AT&T 取得的。 Berkeley 得到的是 Novell 對於 4.4BSD-Lite 的『祝福』,最後當 4.4BSD-Lite 終於發行之後,便不再是侵佔行為。 而所有現有 Net/2 使用者都被強烈建議更換新版本,這包括了 FreeBSD。 於是,我們被要求於 1994 年 6 月底前停止散佈基於 Net/2 的產品。在此前提之下,本計劃被允許在期限以前作最後一次發行,也就是 FreeBSD 1.1.5.1。
FreeBSD 便開始了這宛如『重新發明輪子』的艱鉅工作 -- 從全新的且不完整的 4.4BSD-Lite 重新整合。 這個 “Lite” 版本是不完整的,因為 Berkeley 的 CSRG 已經刪除了大量在建立一個可以開機執行的系統所需要的程式碼 (基於若干法律上的要求),且該版本在 Intel 平台的移植是非常不完整的。 直到 1994 年 11 月本計劃才完成了這個轉移, 同時在該年 12 月底以 CD-ROM 以及網路的形式發行了 FreeBSD 2.0。 雖然該份版本在當時有點匆促粗糙,但仍是富有意義的成功。 隨之於 1995 年 6 月又發行了更容易安裝,更好的 FreeBSD 2.0.5。
我們在 1996 年 8 月發行了 FreeBSD 2.1.5,在 ISP 和商業團體中非常流行。 隨後, 2.1-STABLE 分支的另一個版本應運而生,它就是在 1997 年 2 月發行 FreeBSD 2.1.7.1 ,同時也是 2.1-STABLE 分支的最後版。之後此分支便進入維護狀態, 僅僅提供安全性的加強和其他嚴重錯誤修補的維護(RELENG_2_1_0)。
1996 年 11 月 FreeBSD 2.2 從開發主軸分支 (“-CURRENT”) 出來成為 RELENG_2_2 分支。它的第一個完整版(2.2.1)於 1997 年 4 月發行。 2.2 分支的延續版本在 97 年夏秋之間發行的,其最後版是在 1998 年 11 月發行的 2.2.8 版。 第一個正式的 3.0 版本在 1998 年 10 月發行,亦即宣告 2.2 分支的落幕。
1999/01/20 日再度分支,這產生了 4.0-CURRENT 以及 3.X-STABLE 兩個分支。 3.X-STABLE 方面,3.1 發行於 1999/02/15,3.2 發行於1999/05/15,3.3 發行於 1999/09/16, 3.4 發行於 1999/12/20,3.5 發行於 2000/06/24 ,接下來幾天後發佈了一些的修補檔(對 Kerberos 安全性方面的修正),就升級至 3.5.1 ,這是 3.X 分支最後一個發行版本。
在 2000/03/13 又有了一個新的分支, 也就是 4.X-STABLE 。這個分支之後發佈了許多的發行版本︰ 4.0-RELEASE 在 2000 年 3 月發行, 而最後的 4.11-RELEASE 則在 2005 年 1 月發行。4-STABLE 分支的支援會持續到 2007/01/31 ,但主要焦點在於安全方面的漏洞、臭蟲及其他嚴重問題的修補。
期待已久的 5.0-RELEASE 在 2003/01/19 正式發行。這是將近開發三年的巔峰之作,同時 也開始加強多顆CPU(SMPng)的支援、kernel thread(KSE) 的支援、檔案系統採用 UFS2 以及支援 snapshot 等, 並支援 UltraSPARC 和 ia64 平台、支援藍芽、32 bit 的 PCMCIA 等。之後於 2003 年 6 月發行了 5.1。 而 -CURRENT 這個發展主軸分支的最後 5.X 版本是在 2004 年 2 月正式發行的 5.2.1-RELEASE,在 5.X 系列進入 -STABLE (RELENG_5分支)之後,-CURRENT 就轉移為 6.X 系列。
RELENG_5 分支於 2004 年 8 月正式開跑,之後是 5.3-RELEASE ,它是 5-STABLE 分支的第一個發行版本。 最後的 5.5-RELEASE 是在 2006 年 5 月發行的,在此之後 RELENG_5 分支不再繼續。
RELENG_6 分支於 2005 年 7 月開跑,而 6.X 分支的第一個 release(6.0-RELEASE) 是在 2005 年 11 月出的。 最新的 6.3-RELEASE 是在 Jan 2008 發行。 當然囉,RELENG_6 分支還將有後續的發行版。
RELENG_7 分支於 2007 年 10 月開跑,最新的 7.0-RELEASE 是在 Feb 2008 發行。 RELENG_7 分支還將有後續的發行版。
目前,長期的開發計畫繼續在 8.X-CURRENT (trunk) 分支中進行,而 8.X 的 CD-ROM (當然,也可以用網路抓) snapshot 版本可以在 FreeBSD snapshot server 取得。
FreeBSD 計劃的目標在於提供可作任意用途的軟體而不附帶任何限制條文。 我們之中許多人對程式碼 (以及計畫本身) 都有非常大的投入, 因此,當然不介意偶爾有一些資金上的補償,但我們並沒打算堅決地要求得到這類資助。 我們認為我們的首要『使命(mission)』是為任何人提供程式碼, 不管他們打算用這些程式碼做什麼, 因為這樣程式碼將能夠被更廣泛地使用,從而發揮其價值。 我認為這是自由軟體最基本的,同時也是我們所倡導的一個目標。
我們程式碼樹中,有若干是以 GNU GPL 或者 LGPL 發佈的那些程式碼帶有少許的附加限制,還好只是強制性的要求開放程式碼而不是別的。 由於使用 GPL 的軟體在商業用途上會增加若干複雜性,因此,如果可以選擇的話, 我們會比較喜歡使用限制相對更寬鬆的 BSD 版權來發佈軟體。
FreeBSD 的開發是一個非常開放且具彈性的過程,就像從 貢獻者名單 所看到的,是由全世界成千上萬的貢獻者發展起來的。 FreeBSD 的開發基礎架構允許數以百計的開發者透過網際網路協同工作。 我們也經常關注著那些對我們的計畫感興趣的新開發者和新的創意, 那些有興趣更進一步參與計劃的人只需要在 FreeBSD technical discussions 郵遞論壇 連繫我們。 FreeBSD announcements 郵遞論壇 對那些希望了解我們進度的人也是相當有用的。
無論是單獨開發者或者封閉式的團隊合作,多瞭解 FreeBSD 計劃和它的開發過程會是不錯的︰
過去數年來 FreeBSD 的中央 source tree 一直是以 CVS (Concurrent Versions System) 來維護的, 它是個自由軟體,可用來做為版本控制,一裝完 FreeBSD 內就有附了。 然而在 2008 年 6 月起, FreeBSD 版本控制系統改用 SVN(Subversion)。 這切換動作我們認為是有必要,因為 CVS 先天的技術限制,導致 source tree 以及歷史版本數量不斷快速擴張。 因此,主要的 repository 目前是採用 SVN ,而 client 端的工具像是 CVSup、 csup 都是以舊式的 CVS 架構為基礎,仍可以繼續正常運作 —— 此乃因 SVN repository 有 backport 回 CVS 才可以繼續讓 client 端相容。 目前,就只有中央 source tree 是採 SVN 版本控制方式。 而文件、網頁、 Ports 這些 repository 仍持續使用 CVS 版本控制方式。 而主要的 CVS repository 是位於美國加州 Santa Clara 的某台機器上, 然後再 mirror 到世界上其他的許多機器上。 SVN tree 內有兩個主分支: -CURRENT 以及 -STABLE ,這些都可輕鬆複製到自己機器上。 詳情請參閱 更新你的 source tree 一節。
所謂的 committers 指的是對 CVS tree 有 write 權限, 並依不同授權部分,而有不同權限可修改 FreeBSD source。 (“committer” 這詞源自 cvs(1) 中的 commit 指令,該指令是用來把新的修改提交給 CVS repository。) 而提交修改給 committer 們檢查的最好方式,就是用 send-pr(1) 指令。 若提交 PR 的流程系統上有壅塞現象的話, 也可以改用寄信方式,寄信到 FreeBSD committer's 郵遞論壇 即可。
如果把 FreeBSD 看成是一家公司的話, FreeBSD core team 就相當於『董事會(board of directors)』。 core team 的主要職責在於確保此計劃有良好的架構,以朝著正確的方向發展。 此外,邀請熱血且負責的軟體開發者加入 committers 行列, 以在若干成員離去時得以補充新血。 目前的 core team 是在 2008 年 7 月 committers 候選人中選出來的,每兩年會舉辦一次選舉。
有些 core team 成員還負責某些特定範圍, 也就是說他們必須盡量確保一些子系統的穩定、效能。 關於 FreeBSD 開發者們以及各自責任範圍,請參閱 貢獻者名單 。
Note: core team 大部分成員加入 FreeBSD 開發都是志工性質而已, 並未從本計劃中獲得任何薪酬,所以不該把 “commitment” 誤解為 “guaranteed support” 才對。 剛前面所講的『董事會』可能是不恰當的類推,或許我們應該說: 他們是一群自願放棄原本的優渥生活、個人其他領域成就, 而選擇投入 FreeBSD 開發的熱血有為者才對!
最後一點,但這點絕非最不重要的, 最大的開發者團隊就是持續為我們提供回饋以及錯誤修正的使用者自己。 與 FreeBSD 非核心開發者互動的主要方式,便是透過訂閱 FreeBSD technical discussions 郵遞論壇 來進行溝通,這方面可參考,請參閱 Appendix C 以瞭解各式不同的 FreeBSD 郵遞論壇(mailing lists)。
FreeBSD 貢獻者名單 相當長且不斷成長中, 只要有貢獻就會被列入其中, 要不要立即考慮貢獻 FreeBSD 一些回饋呢?
然而,提供原始碼並非為這個計劃做貢獻的唯一方式; 還需要大家投入的完整工作列表、說明,請參閱 FreeBSD 官網。
簡單的說,我們的開發模式就像是一組沒有拘束的同心圓。 這種集中開發模式是以 給使用者方便 為主, 同時讓他們能很容易地共同維護軟體,而不會把潛在的貢獻者排除在外! 我們的目標是提供含有大量一致性的 應用軟體(ports/packages) ,以便讓使用者輕鬆安裝、使用的作業系統 —— 而這開發模式相當符合此一目標。
我們對於那些想要加入 FreeBSD 開發者的期待是: 請保持如同前人一樣的投入,以確保繼續成功!
FreeBSD 是免費使用且帶有完整原始程式碼的以 4.4BSD-Lite 為基礎的系統,可以在 Intel i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (或者相容型號), Xeon™, DEC Alpha 和 Sun UltraSPARC 為基礎的電腦上執行的作業系統。 它主要以加州大學巴爾克利分校 的 CSRG 研究小組的軟體為基礎,並加入了 NetBSD、OpenBSD、386BSD 以及自由軟體基金會的一些東西。
自從 1994 年末,我們發佈了 FreeBSD 2.0 之後,系統的執行效率、 功能、穩定性都有了令人注目的提升。 最大的改變就是我們將記憶體與檔案系統的 cache 機制結合在一起。 這不只使得系統的表現變得更好, 並且使得 FreeBSD 系統最少的記憶體需求減少到 5 MB。 其它的改進包括完整的 NIS cilent and server 功能支援, 支援 transaction TCP、PPP 撥接連線、整合的 DHCP 支援、 SCSI 子系統的改進、ISDN 的支援,ATM、FDDI 以及乙太網路 (Ethernet、包括 100 Mbit 和 Gigabit) 的支援,提升了最新的 Adaptec 控制卡驅動程式的改善,以及數以千計的 bug 修正。
除了最基本的系統軟體,FreeBSD 還提供了廣受歡迎的套件軟體管理機制: Ports Collection。 到本書付印時,已有超過 19,000 個 ports,這範疇涵蓋從 http(WWW) 伺服器到遊戲、程式語言、編輯器以及您能想到的幾乎所有的東西。 完整的 Ports Collection 需要約 445 MB 的硬碟空間,除了 port 基本架構檔案外,都只儲存與該 port 軟體的原始碼有『須要變更』的部份。 如此一來,我們可以更容易更新這些 ports,也大量的減少如舊的 1.0 版 Ports Collection 對於硬碟空間的需求。 要安裝一個 port 的話,只需要進入該 port 的目錄,輸入 make install,這樣子系統就會幫你裝好了。 您要編譯的每個程式的完整原始程式, 都可從 FTP 或 CD-ROM 中獲得,所以您只需準備足夠的硬碟空間來編譯你要的 port 軟體。 幾乎每一個 port 都有已事先編譯好的 “package”以方便安裝, 如果不想從編譯 port 的人,只要用個簡單指令 (pkg_add)就可以安裝。 有關 packages 和 ports 的細節,可以參閱 Chapter 4。
FreeBSD 主機的 /usr/share/doc 目錄下找到許多有用的文件, 來幫助您安裝、使用 FreeBSD。 也可以使用下面的網址,以瀏覽器來翻閱本機上安裝的手冊︰
此外,可在下列網址找到最新版 (也是更新最頻繁的版本):http://www.FreeBSD.org/。
FreeBSD 提供一個簡單好用的文字介面安裝程式,叫做 sysinstall。 這是 FreeBSD 預設使用的安裝程式 。協力廠商若有意願的話,也可以改用自己的安裝程式。 本章將說明如何使用 sysinstall 來安裝 FreeBSD。
讀完這章,您將了解︰
如何製作 FreeBSD 安裝片
FreeBSD 對硬碟的使用及配置。
如何啟動 sysinstall 程式。
在執行 sysinstall 時會問的相關問題有哪些、這些問題的意思為何、以及該如何回答。
在開始閱讀這章之前,您需要︰
閱讀要安裝的 FreeBSD 版本所附之硬體支援表, 以確定您的硬體有沒有被支援。
Note: 一般來說,此安裝說明是針對 i386 (相容的 PC 機種) 架構的電腦。 如果有其他架構(比如 Alpha)的安裝說明,我們會一併列出。 雖然本文件會常常更新,但有可能與您安裝版本上所附的說明文件有些許出入。 在此,我們建議您把本說明文章當作一般的安裝參考原則就好。
安裝 FreeBSD 的硬體方面最低需求,依各 FreeBSD 版本與硬體架構差別而有所不同。
關於安裝所需的最低需求,可在 FreeBSD 網站的 Release Information 找相關的 Installation Notes 說明。 接下來的章節會有相關說明整理。 根據安裝 FreeBSD 的方式不同,可能會需要軟碟機或光碟機, 或某些情況則是要網路卡。 這些部份會在 Section 2.3.7 有介紹。
FreeBSD/i386 及 FreeBSD/pc98 兩種版本均須 486 或更好的處理器, 以及至少 24 MB 的 RAM、至少 150 MB 的硬碟空間, 才能進行最小安裝。
Note: 對老舊硬體而言,在大部份情況裝更多的 RAM 與更大的硬碟空間,會比使用更快的 CPU 更有用。
若要裝 FreeBSD/alpha,則需確認該機型是否有支援 (請參閱 Section 2.2.2) 且必須整顆硬碟皆給 FreeBSD 使用。 目前無法同時與其他作業系統共存。 這硬碟須接到 SRM 韌體有支援的 SCSI controller 上,或者 IDE 硬碟 (該機型的 SRM 有支援可從 IDE 硬碟開機)。
此外,還需該機型的 SRM console firmware。 有些機型可以選擇 AlphaBIOS (or ARC) firmware 或 SRM 來用。 若沒有的話,則需從硬體廠商的網站去下載新的韌體。
Note: 從 FreeBSD 7.0 就不再支援 Alpha。 FreeBSD 6.X 系列則是此架構的最後支援 。
有兩種 CPU 能跑 FreeBSD/amd64。 第一種是包括 AMD Athlon™64 、AMD Athlon64-FX、AMD Opteron™ 或更好的 CPU。
第二種則是 Intel® EM64T 架構的 CPU,這些也可以用 FreeBSD/amd64。 這些 CPU 包括了 Intel Core™ 2 Duo 、Quad、Extreme 系列以及 Intel Xeon 3000、5000、7000 相關系列的 CPU。
若主機板晶片組為 nVidia nForce3 Pro-150,則 必須 調整 BIOS 設定,將 IO APIC 停用才行。 若找不到這選項,那可能就是找 ACPI 停用。 因為 Pro-150 晶片組有個 bug,目前我們尚無找到堪解之道。
若要裝 FreeBSD/sparc64,則需確認該機型是否有支援 (請參閱 Section 2.2.2)。
FreeBSD/sparc64 必須使用整顆硬碟, 因為無法同時與其他作業系統共存。
FreeBSD 每次 release 時都會有附上 FreeBSD Hardware Notes 來說明有支援的硬體列表。 通常這份文件可在光碟或 FTP 的最上層目錄找到,也就是名為 HARDWARE.TXT 的檔案。 此外,在 sysinstall 的 documentation 選項內也可以看到。 每次 FreeBSD release 時該列表會依各不同架構, 而列出相關已知有支援的硬體。 在 FreeBSD 網站的 Release Information 頁可以找到各不同 release 版本與各架構上的硬體支援列表。
在安裝 FreeBSD 之前,您應該試著將您電腦中的硬體清單列出來。 FreeBSD 安裝程式會將這些硬體(硬碟、網路卡、光碟機等等) 以型號及製造廠商列出來。 FreeBSD 也會嘗試為這些硬體找出最適當的 IRQ 及 IO port 的設定。 但是因為 PC 的硬體種類實在太過複雜,這個步驟不一定保證絕對成功。 這時,您就可能需要手動更改有問題的設定值哩。
如果您已裝了其它的作業系統,如: Windows 或 Linux,那麼可先由這些系統所提供的工具, 來查看這些硬體設定值是怎麼設定的。 若真的沒辦法確定某些卡用什麼設定值, 那麼可以檢查看看卡上面所標示的東西,說不定它的設定已有標示在卡上。 常用的 IRQ 號碼為 3、5 以及 7;而 IO 埠的值通常以 16 進位表示, 例如 0x330。
建議您在安裝 FreeBSD 之前,把這些資料列印或抄錄下來做成表格, 也許會較有用喔,例如:
Table 2-1. 硬體清單(舉例)
| 硬體名稱 | IRQ | IO port(s) | 備註 |
|---|---|---|---|
| 第一顆 IDE 硬碟 | N/A | N/A | 40 GB,Seagate 製造,接在第一條 IDE 排線的 master |
| CDROM | N/A | N/A | 接在第一條 IDE 排線的 slave |
| 第二顆硬碟 | N/A | N/A | 20 GB,IBM 製造,接在第二條 IDE 排線的 master |
| 第一個 IDE controller | 14 | 0x1f0 | |
| 網路卡 | N/A | N/A | Intel 10/100 |
| 數據機 | N/A | N/A | 3Com® 56K faxmodem,接在 COM1 |
| ... |
硬體清單完成之後,就需針對你所要裝的 FreeBSD 版本之硬體需求, 來檢查是否有支援。
如果要裝的電腦上面存有重要資料,那麼在安裝 FreeBSD 前, 請確定您已經將這些資料備份了,並且先測試過這些備份檔是否沒有問題。 FreeBSD 安裝程式在要寫入任何資料到您的硬碟前,都會先提醒您確認, 一旦您確定要寫入,那麼之後就再也沒有反悔的機會囉。
如果您想讓 FreeBSD 直接使用整顆硬碟,那麼請直接跳到下一節。
然而,如果您想要 FreeBSD 跟既有的系統並存,那麼, 您必須對硬碟的資料分佈方式有深入的了解,以及其所造成的影響。
PC 上的硬碟可以被細分為許多分散區(chunk)。這些區域叫做 分割區(Partitions)。 由於 FreeBSD 內部也有 partition,名稱可能很容易造成混淆, 因此通常在 FreeBSD 這邊會稱呼這些磁碟分散區為 disk slices 或簡稱 slices。 舉例來說,FreeBSD 的 fdisk 的對象是針對 PC 硬碟的 slice 而非 partition。 因為 PC 本身先天設計,每個硬碟最多可以有 4 個分割區,而這些分割叫做 主要分割區(Primary Partitions)。 為了突破這個限制,以便能使用更多的分割區,就有了新的分割區類型,叫作: 延伸分割區(Extended Partition)。 每個硬碟就只能有一個延伸分割區。 然而,在延伸分割區裡面可以建立許多個特殊分割區,叫作 邏輯分割區(Logical Partitions)。
每種分割區都有其 分割區代號(Partition ID) 用以區別每種分割區的資料類型。 而 FreeBSD 分割區代號是 165。
一般來講,每種作業系統都會有自己獨特的方式來區別分割區。 舉例: DOS 及其之後的作業系統,比如 Windows 會分配給每個主要分割區及邏輯分割區 1 個 磁碟代號(drive letter),從 C: 開始。
FreeBSD 必須安裝在主要分割區。 FreeBSD 可以在這個分割區上面存放資料或是您建立的任何檔案。 然而,如果您有很多顆硬碟,也可以在這些(或部份)硬碟建立 FreeBSD 分割區。 安裝 FreeBSD 的時候,必須至少要有 1 個分割區給 FreeBSD 使用, 這個分割區可以是尚未使用的分割區,或是現存的分割區 (但上面的資料不打算繼續使用)。
如果已經用完了磁碟上所有的分割區, 那麼您必須使用其他作業系統所提供的工具 (像是 DOS or Windows 上的 fdisk) 來騰出一個分割區給 FreeBSD 用。
如果有多餘的分割區,也可以使用它。 但使用前,您可能需要先整理一下這些分割區。
FreeBSD最小安裝需要約 100 MB 的空間,但是這只是『最小安裝』, 幾乎沒剩下多少空間來存放您自己的檔案。 較理想的(不含圖形介面)最小安裝是約 250 MB,或者是 350 MB 左右(包含圖形介面)。 還需要安裝其他的套件軟體,那麼將需要更多的硬碟空間。
您可以使用商業軟體像是 PartitionMagic® 或免費自由工具像是 GParted 來重新調整分割區空間, 來給 FreeBSD 用的空間。FreeBSD 光碟、FTP 上面的 tools 目錄包含兩個免費的工具, 也可以達成這個工作,叫作:FIPS 及 PResizer。 這些工具的說明文件可以在同個目錄內找到。 FIPS、 PResizer 和 PartitionMagic 可以重新調整在 MS-DOS 到 Windows ME 所使用的 FAT16 及 FAT32 分割區大小。 目前已知可更改 NTFS 分割區的有 PartitionMagic 及 GParted 這兩種工具程式。 GParted在許多 Linux distributions 的 Live CD 都有提供,像是 SystemRescueCD。
目前已知 Microsoft Vista 分割區的重新調整大小會有問題。 在做上述類似動作時,請記得手邊要有 Vista 安裝光碟以免萬一。 此外,強烈建議先做磁碟維護,以及現有資料備份。
Warning: 不當的使用這些工具,可能會刪除所有硬碟上的資料。 在使用這些工具前,請確定您已有先備份好資料。
在 Alpha 上,您必須使用一整顆硬碟給 FreeBSD, 沒有辦法在同顆硬碟上跟其他作業系統共存。 依不同型號的 Alpha 機器,您的硬碟可以是 SCSI 或 IDE 硬碟, 只要您的機器可以從這些硬碟開機就可以。
按照 Digital / Compaq 使用手冊的編排風格, 所有 SRM 輸入的部分都用大寫表示。 注意:SRM 大小寫有別。
要得知您磁碟的名稱以及型號,可以在 SRM console 提示下使用 SHOW DEVICE 命令:
>>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE
例子中機器為 Digital Personal Workstation 433au, 並且顯示出此機器有連接三個磁碟機。 第一個是 CDROM,叫做 DKA0 ;另外兩個是磁碟機, 分別叫做: DKC0 及 DKC100。
磁碟機的名稱中有 DKx 字樣的是 SCSI 硬碟。例如: DKA100 表示是 SCSI 硬碟,其 SCSI ID 為 1, 位在第一個 SCSI 匯流排(A); 而 DKC300 表示是 SCSI 硬碟, 其 SCSI ID 為 3,位於第三個 SCSI 匯流排(C)。 裝置名稱 PKx 則為 SCSI 控制卡。 由上述 SHOW DEVICE 的結果看來, SCSI 光碟機也被視為是 SCSI 硬碟的一種。
若為 IDE 硬碟的話,名稱會有 DQx 字樣, 而 PQx 則表示相對應的 IDE 磁碟控制器。
如果想透過網路( FTP 站或 NFS)安裝 FreeBSD, 那麼就必須知道您的網路設定。 在安裝 FreeBSD 的過程中將會提示您輸入這些資訊,以順利完成安裝過程。
若使用乙太網路,或是要透過 Cable/DSL 數據機上網, 那麼您必須準備下面的資訊:
IP 位址
預設 Gateway(閘道) 的 IP 位址
Hostname(機器名稱)
DNS 伺服器的 IP 位址
Subnet Mask
若不知道這些資訊,您可以詢問系統管理者或是您的 ISP 業者。 他們可能會說這些資訊會由 DHCP 自動指派; 如果是這樣的話,請記住這一點就可以了。
若由一般的數據機撥接上網,您仍然可以安裝 FreeBSD, 只是會需要很長的時間。
您必須知道:
撥接到 ISP 的電話號碼。
您的數據機是連到哪個 COM 埠。
您撥接到 ISP 所用的帳號跟密碼。
雖然我們盡力使得每個 FreeBSD 發行版本都很穩定, 但是過程中仍然不免有時會發生錯誤。 在某些很罕見的情形下,這些錯誤會影響到安裝的過程。 當發現這些錯誤且修正後,會將它們列在 FreeBSD 勘誤表(Errata) 中。 在您安裝 FreeBSD 前,應該先看看勘誤表中有沒有什麼問題會影響到您的安裝。
關於所有發行版本的資訊(包括勘誤表),可以在 FreeBSD 網站 的 發行情報(release information) 找到。
FreeBSD 可以透過下面任何一種安裝來源進行安裝︰
Local Media
CDROM 或 DVD
現有的 DOS 分割區
SCSI 或 QIC 磁帶。
軟碟磁片
Network
FTP 站、支援 Passvie 模式的 FTP 站(若您機器在 NAT 內) 、甚至 HTTP proxy 都可以。
NFS 伺服器
專用(dedicated)的 parallel 或 serial 連線
若已經有 FreeBSD 的 CD 或 DVD,但機器不支援從光碟開機的話, 那麼請直接進下一節 (Section 2.3.7)。
若沒有 FreeBSD 安裝片的話,那麼請先看 Section 2.13 這裡會介紹如何準備所需要的安裝片, 照該節步驟弄好後,就可以繼續下一步 Section 2.4。
FreeBSD 安裝流程是要從電腦開機後,進入 FreeBSD 安裝畫面 —— 而不是在其他作業系統上執行程式。 一般來講,電腦都是用裝在硬碟上的作業系統來開機, 也可以用開機磁片來開機; 此外,現在大多數電腦都可以從光碟開機。
Tip: 如果您有 FreeBSD 的 CDROM 或 DVD(無論是用買現成的或是自己燒錄的), 且您的電腦可支援由光碟開機,(通常在 BIOS 中會有 “Boot Order” 或類似選項),那麼您就可以跳過此小節。 因為 FreeBSD CDROM 或 DVD 都可以用來開機。
請按照下面步驟,以製作開機片:
取得開機片的映像檔(images)
開機磁片用的映像檔(images)通常會放在光碟片上的 floppies/ 目錄內, 另外也可以從像是下面 FTP 站的 floppies 目錄下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/ 。請將『arch』、『version』替換為打算安裝的電腦架構、OS 版本。 例如:想裝的是 FreeBSD/i386 7.0-RELEASE ,那麼可以到 下載。
映像檔(images)的附檔名都是 .flp。而 floppies/ 目錄內包含一些不同用途的映像檔 (images),這取決於您要裝的 FreeBSD 版本、需求、硬體配備為何。 通常要 4 個映像檔,也就是: boot.flp、 kern1.flp、kern2.flp、 kern3.flp。 若有疑問的話,請翻閱同一目錄下的 README.TXT 文件檔,以瞭解相關最新注意事項。
Important: 在使用 FTP 下載時,必須使用 binary 模式 進行傳輸。 有些瀏覽器預設是以 text (或 ASCII) 模式來傳輸資料, 所以這些錯誤傳輸模式下載的映像檔所做成的磁片,會無法使用。
準備開機磁片
每個映像檔都需要一張磁片,並且請避免使用到壞的磁片。 最簡單的檢測方式就是自己先把這些磁片再重新格式化(format) 而不要相信所謂的已格式化的磁片,Windows 內的 format 在格式化時,並不會告訴你是否有壞軌, 而只會直接將它們標示壞軌而不使用壞軌部分而已。 此外,建議採用全新的磁片來製作安裝片比較保險。
Important: 若在安裝 FreeBSD 的過程中發生當機、 畫面凍結或是其他怪異的現象,首先要懷疑的就是開機磁片是否壞掉。 請用其他的磁片製作映像檔再試試看。
將映像檔(images)寫入到磁片內
.flp 檔並非一般檔案, 不能直接把它複製到磁片上。 事實上它是包含整張磁片所有內容的映像檔(image)。 也就是說,不能純粹複製檔案到磁片上, 而必須使用特別的工具程式,來將映像檔直接寫到磁片上。
若要用 MS-DOS/Windows 來作安裝片的話,那麼可以用 fdimage 工具程式來將映像檔,寫到磁片上。
若您用的是 FreeBSD 光碟的話(假設光碟機代號為 E: ,那麼請執行類似下面的指令:
E:\> tools\fdimage floppies\boot.flp A:
請針對每個需要用到的 .flp 映像檔, 重複上述的指令(記得更改相關檔名),每次的映像檔完成後, 都需要換另外一片來裝新的映像檔; 請記得: 在作好的磁片上註明是使用哪個映像檔作的。 若 .flp 映像檔放在不同地方, 請自行修改上述指令。若沒有 FreeBSD 光碟的話, 可以到 FTP 上面的 tools 目錄 下載 fdimage 使用。
如果要用 UNIX 系統(比如其他台 FreeBSD 機器) 來製作開機片的話,可以用 dd(1) 指令來把映像檔直接寫入到磁片上。 在 FreeBSD上的話,可以打類似下面的指令:
# dd if=boot.flp of=/dev/fd0
在 FreeBSD 中,/dev/fd0 就是指第一台軟碟機(即一般 MS-DOS/Windows 上的 A: 磁碟機); 而 /dev/fd1 指 B: 磁碟機,其餘的依此類推。 不過其他的 UNIX 系統可能會用不同的名稱,這時就要查閱該系統的說明文件了。
現在起,我們可以開始安裝 FreeBSD 囉!
Important: 預設的情況下,安裝過程並不會改變您磁碟機中的任何資料, 除非您看到下面的訊息:
Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!在看到這最後的警告訊息前, 您都可以隨時離開安裝程式而不會變更您的硬碟。 如果您發現有任何設定錯誤, 這時您可以直接將電源關掉而不會造成任何傷害。
在一開始,電腦電源開關是關閉的。
打開電腦電源開關。剛開始的時候, 它應該會顯示進入系統設定選單或 BIOS 要按哪個鍵, 常見的有: F2, F10, Del 或 Alt+S。(按鍵請依據實際情況決定) 不論是要按哪個鍵, 請按它進入 BIOS 設定畫面。 有時您的電腦可能會顯示一個圖形畫面, 通常做法是按 Esc 鍵將離開這個圖形畫面, 以使您能夠看到必要的設定訊息。
找出可以設定『開機順序(Boot Order)』的選項, 通常該選項會列出一些設備讓您選擇,例如︰ Floppy, CDROM, First Hard Disk 等等。
如果要用軟碟安裝,請確定 floppy disk 要列為開機順序的第一個; 若要用光碟安裝,記得 CDROM 要列為開機順序的第一個。 為了避免不必要的疑惑,請參考機器、主機板說明手冊。
儲存設定並離開,系統應該會重新啟動。
若要用磁片安裝,請把在 Section 2.3.7一節中製作好的 boot.flp 那張安裝磁片放到第一台軟碟機中。
如果是從光碟安裝,那麼開機後請將 FreeBSD 光碟放入光碟機中。
如果,開機後如往常一樣而沒有從軟碟或光碟開機,請檢查︰
是不是磁片或光碟太晚放入而錯失開機時間。 如果是,請將它們放入,然後重新開機。
BIOS 設定不對或忘了儲存設定,請重新檢查 BIOS 的設定。
您的電腦 BIOS 不支援從光碟開機。
此時,FreeBSD 就開始啟動了。 如果是從光碟開機,會見到類似下面的畫面(版本部分省略):
Booting from CD-Rom... CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \
如果您從軟碟開機,會看到類似下面的畫面(版本部分省略):
Booting from Floppy... Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key...
請根據提示將 boot.flp 磁片取出, 並放入 kern1.flp 這張磁片, 然後按 Enter 鍵。 總之,您只需從第一張磁片啟動,然後根據提示,再放入相關磁片即可。
無論從軟碟或光碟開機,接下來會進入 FreeBSD boot loader 選單畫面:
您可以等待 10 秒,或是按 Enter 鍵。
在一開始,電腦電源開關是關閉的。
打開電腦電源開關,然後等開機畫面出現。
若要用磁片安裝,請把在 Section 2.3.7一節中製作好的 boot.flp 那張安裝磁片放到第一台軟碟機中。 然後,打下列指令來從磁片開機 (請把下列軟碟機代號改為你電腦的軟碟機代號):
>>>BOOT DVA0 -FLAGS '' -FILE ''
若要用光碟安裝,請把做好的安裝片放入光碟機, 然後打下列指令來從光碟開機 (請把下列光碟機代號改為你電腦的光碟機代號):
>>>BOOT DKA0 -FLAGS '' -FILE ''
接著 FreeBSD 開機片就會開始了。若是由軟碟開機的話, 這時會看到以下訊息:
Insert disk labelled "Kernel floppy 1" and press any key...
請照指示,拿走 boot.flp 片,改放 kern1.flp 片, 然後按 Enter。
無論從軟碟或光碟開機,您都會看到下面這段訊息:
Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
您可以等待 10 秒,或是按 Enter 鍵。 接下來就會進入kernel configuration 選單。
大多數的 Sparc64® 機器預設會自動從硬碟開機。 因此要裝 FreeBSD 的話,則需要進入 PROM(OpenFirmware) 設定由網路或光碟開機才可。
請先重開機,然後等待直到開機訊息出現。 這部分可能會隨機器型號不同 ,而有所差異,但大概會出現像下列這樣:
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
若您機器此時會先由硬碟開機,那麼需要按 L1+A 或 Stop+A 或者是透過 serial console (用法請參閱 tip(1) 或 cu(1) 內有關 ~# 的說明) 送出 BREAK 指令來進入 PROM prompt。 大概會像下面:
okok {0}
![]()
此時請把安裝光碟放入光碟機內,然後在 PROM prompt 打 boot cdrom 即可。
先前在螢幕上所顯示的最後幾百行字,會存在暫存區(buffer) 以便您翻閱。
若要翻閱暫存區,請按 Scroll Lock 鍵, 這會開啟捲動畫面功能。 然後就可以使用方向鍵,或是 PageUp、 PageDown 鍵來上下翻閱。 再按一次 Scroll Lock 鍵,就會停止畫面捲動。
現在就請試試看,翻閱一下偵測硬體的畫面吧, 你應該會看到類似 Figure 2-2 的畫面, 真正畫面會依你的電腦設備而有所不同。
Figure 2-2. 偵測硬體的例子
avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
請仔細檢查每項檢測結果,以確定 FreeBSD 有正確偵測到每項硬體。 若沒偵測到硬體的話,那畫面就不會列出來了。 自訂 kernel 可以讓您加上原本預設的 GENERIC kernel 所不支援的硬體,像是音效卡之類。
而 FreeBSD 6.2 起的版本,在偵測硬體後會看到 Figure 2-3,請用方向鍵選擇你的國別、地區或群組。 然後按 Enter 鍵就會幫你設定相關國別、鍵盤對應。 此外,要離開、重啟 sysinstall 程式,也很簡單。
在主畫面選擇 Exit Install, 接下來應該會出現以下訊息:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies/CDs/DVDs from the drives).
[ Yes ] No
若按下 [ Yes ] 之後,卻忘了把光碟退出來的話, 那麼等下重開機後又會再次啟動安裝程式了。
若你是用磁片開機的話,那麼重開機之前,請記得先退出 boot.flp 片吧。
sysinstall 是 FreeBSD 計劃所提供的安裝程式。 它是以文字模式操作方式為主,分為幾層選單、畫面,以讓您進行安裝。
sysinstall 選單主要由方向鍵、 Enter、Tab、Space 以及其他按鍵來進行操作, 在 sysinstall 主畫面的 Usage 內有這些鍵盤操作上的說明。
要查閱這些說明,請將游標移到 Usage,然後選 [Select] ,這時你畫面應該會長像 Figure 2-5,接著請按 Enter 鍵。
接下來,會出現安裝的使用說明,閱讀完畢請按 Enter 以跳回主畫面。
在主畫面用方向鍵選擇 Doc,然後按 Enter 鍵。
這時會出現說明文件的選單。
閱讀這些說明文件很重要。
要閱讀文件的話,請用方向鍵選取要閱讀的文件然後按 Enter 鍵。讀完後,再按一次 Enter 鍵就會回到說明文件畫面了。
若要回到主畫面,用方向鍵選擇 Exit 然後按下 Enter 鍵即可。
如果要改變鍵盤按鍵的對應模式,請在主選單選取 Keymap 然後按 Enter 鍵即可。 一般情況下是不用去改, 除非你用的鍵盤不是一般標準或非美式鍵盤。
您可以使用上下鍵移動到您想使用的鍵盤對應方式,然後按下 Space 鍵以選取它;再按一下 Space 鍵可以取消選取。當您完成後,請選擇 [ OK ] 然後按 Enter 鍵即可。
在這個畫面顯示的只是其中一小部分; 若只要用預設鍵盤對應方式就好的話,可以用 Tab 來選 [ Cancel ] 這樣就會返回主畫面。
請選 Options 然後按 Enter 鍵。
通常,使用者大多用預設值就可以了,而不用修改它們。 而 Release Name 的地方則依你所安裝的版本而有所不同。
而目前所選的的項目,會在畫面下方以藍底白字顯示說明。 注意:其中右邊最後的選項是 Use Defaults(使用預設值) ,您可以藉由此選項將所有的設定還原為預設值。
另外,可以按 F1 鍵來閱讀各選項的說明。
而按 Q 鍵則是可以回到主畫面。
您的第一個任務就是要決定分配給 FreeBSD 用的磁碟空間、label, 以便 sysinstall 幫你做相關準備動作。 因此,你必須先對 FreeBSD 是如何確認磁碟的流程有個概念。
在安裝、設定 FreeBSD 之前,有很重要的一點必須注意, 尤其當您有許多顆硬碟的時候。
在 PC 架構,當您跑像 MS-DOS 或 Microsoft Windows 這種跟 BIOS 設定相關的作業系統, BIOS 那邊可以調整正常的磁碟機順序,然後這些作業系統會跟著 BIOS 做改變。 這讓使用者不一定非得要由所謂的 “primary master” 硬碟開機。 有人發現最簡單、便宜的備份系統方式,就是再去買一顆一模一樣的硬碟, 然後定期使用 Ghost® 或 XCOPY 以將資料從第一顆硬碟複製到第二顆硬碟上面去。 所以,當第一顆硬碟掛了(可能是病毒或壞軌造成的), 就可以輕鬆透過調整 BIOS 中的開機順序, 而直接用第二顆硬碟開機。 這跟將機殼拆開,把第二顆硬碟跟第一顆對調(要調 jumper)有同樣的效果, 差別就是:不用拆機殼。
此外,若裝有比較貴的 SCSI 卡系統,通常本身也有 BIOS 的功能來讓 SCSI 設備(最多可到 7 個)達到類似改變順序的功能。
習慣上述方式的使用者很可能會感到驚訝,因為在 FreeBSD 中並非如此, FreeBSD 不會參考 BIOS 設定值,而且也不能偵測 “logical BIOS drive mapping” 設定。 這會讓人感覺很疑惑,明明就是一樣的硬碟, 而且資料也完全從另一顆複製過來,結果卻沒辦法像以前那樣用。
使用 FreeBSD 的時候,請將 BIOS 中的硬碟開機順序調回原本正常的順序, 並且以後不要再改這設定。如果您需要切換硬碟順序的話,那請用硬體方式, 直接打開機殼,調 jumper 及排線即可。
Note: 在這時候您所做的變更都還不會真正寫入硬碟中。 如果你發現弄錯了,想要重來一遍的話, 可以用選單來離開 sysinstall, 或是按 U 鍵來 Undo(回復) 所有設定。 如果你弄亂了而且不知道怎麼離開,你可以直接將電腦電源關掉再重來。
在 sysinstall 主畫面選擇使用標準安裝後, 應該會看到下面的訊息:
Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]
這時請依畫面說明,按 Enter 鍵。 然後會看到一個列表,上面會列出所有在偵測硬體時所找到的硬碟。 Figure 2-13 範例顯示的是有找到兩個 IDE 磁碟機的情形,這兩個磁碟機分別為: ad0 與 ad2。
你可能會好奇,為何 ad1 沒列在這裡。 為什麼會不見了呢?
試想,如果您有兩顆 IDE 硬碟,一個是 primary master,一個是 secondary master,這樣會發生什麼事呢? 如果 FreeBSD 依照找到的順序來為他們命名, 比如首先是 ad0 再來是 ad1 那麼就不會出現困擾。
但是,現在問題來了。如果您現在想在 primary slave 加裝第三顆硬碟, 那麼這顆硬碟的名稱就會是 ad1,之前原本的 ad1 就會變成 ad2。 這樣會造成什麼問題呢? 因為硬體設備的名稱(像是 ad1s1a)是用來尋找檔案系統的, 因此您可能會突然發現,有些檔案系統從此無法正常顯示, 必須修改 FreeBSD 設定(/etc/fstab)才可以正確顯示。
為了解決這個問題,在設定 kernel 時可以採用 IDE 硬碟所在的位置來命名,而非根據找到的順序。 使用這種方式的話, 在 secondary master 的 IDE 硬碟就永遠會是 ad2, 即使系統中並沒有 ad0 或 ad1 也不受影響。
由於此為 FreeBSD kernel 預設設定,也就是為何上述畫面只顯示 ad0 及 ad2 之故。 畫面上這台機器的兩顆硬碟是分別裝在 primary 以及 secondary 排線上的 master,這兩顆都沒有裝在 slave 上。
請選好想安裝 FreeBSD 的硬碟,然後按下 [ OK ]。 接著就會開始 FDisk,然後會看到類似 Figure 2-14 的畫面。
FDisk 的顯示畫面分為三個部分。
第一部份是畫面最上方的前兩行,這裡會顯示目前所選的硬碟資訊, 包括它在 FreeBSD 的名稱、硬碟 geometry、硬碟總容量。
第二部分會顯示目前所選的硬碟上有哪些 slice 以及各 slice 的起末位置、 所佔容量、FreeBSD 名稱、描述說明、子類別(sub-type)。 例子中顯示出有 2 個小的並且尚未使用的 slice,這是受到 PC 的硬碟本身架構影響之故。 此外, 還有一個大的 FAT slice(通常是 MS-DOS / Windows 中的 C:),以及一個延伸磁碟分割區 (在 MS-DOS / Windows 內的其他磁碟代號)。
第三部分則顯示 FDisk 可用的指令。