第二章 安裝 FreeBSD

在開始安裝 FreeBSD 之前,我們會先討論安裝環境、介紹一下 FreeBSD 的取得及一些安裝前必須知道的知識。 讀完本章後,我們將可以了解下列主題:

2.1 安裝環境規劃

在開始安裝 FreeBSD 之前,我們先來討論一下安裝環境的規劃,並說明如何下載合適的檔案, 以及準備安裝用的磁碟。

2.1.1 獨立的硬體與虛擬機器

在安裝使用 FreeBSD 之前,我們必須先了解這台 FreeBSD 機器的用途是什麼。針對不同的用途, 我們可能會選擇不同的硬體。

以單純的路由器或防火牆而言,FreeBSD 對於 CPU、記憶體、或磁碟機的效能要求都不高。 比較重要的是要有足夠的網路介面,以分開處理不同網段的資料。通常我會使用工業級無風扇的迷你電腦來做為防火牆, 並且要有多個 1G 或 2.5G 的網路介面。對於需要有實體網路連結的服務,這種獨立的硬體非常合適。

但如果是要架設網頁伺服器或是郵件伺服器,使用虛擬機器 (Virtual Machine) 管理起來會更加方便。 將設備虛擬化已經是潮流了,使用虛擬機器有很多好處。例如,更高的資源利用率、方便擴充、容易備份、 測試方便、移轉及升級容易等。尤其當虛擬機器本身有強大的備份功能時,管理起來就更方便了。

在安裝 FreeBSD 時,我們將分別介紹如何使用 USB 開機碟在獨立硬體上安裝, 及使用 Synology NAS 的 Virtual Machine Manager (VMM) 的虛擬機器運行 FreeBSD。

2.1.2 取得 FreeBSD

你可以在下列網址下載 FreeBSD:

https://www.freebsd.org/where/

到 FreeBSD 官網下載頁面時,第一件事是選擇所要下載的版本。通常我們會選擇最新的版本。 接下來,就是選擇所要下載的 CPU 架構。通常,我們在 PC 上使用的是 "amd64" 這個 CPU 架構。amd64 其實就是 Intel 或 AMD 64 位元的 X86 架構。而另一個 "i386" 則是給 32 位元 CPU 的電腦使用。

各種映像檔的差別

點選了 amd64 的下載連結後,會出現很多個不同的檔案,以下是這些檔名所代表的意義:

除了上述這些檔案以外,您可能還會看到檔名結尾為 .xz 的檔案。這些檔案只是上列同名檔案的壓縮檔。 如果您下載的是 .xz 的檔案,下載完後必須解壓縮才能使用。

檢查檔案的正確性

因為網路下載可能有檔案不完整的風險。所以,在下載目錄中,除了這些映像檔外, 還有幾個 CHECKSUM 的檔案。這些檔案是純文字檔,內容為每個映像檔的檢查碼。 我們在下載完檔案後,可以檢查檔案是否正確無誤。例如,以下為 FreeBSD 13.1 Release CHECKSUM.SHA256 的檔案內容:

SHA256 (FreeBSD-13.1-RELEASE-amd64-bootonly.iso) = 02e77c57bd0a306e3fc92296b3640433a3bd7e4ba39d82db94dfd885f5bb1f78 SHA256 (FreeBSD-13.1-RELEASE-amd64-bootonly.iso.xz) = ffb6def0b167d25d4ee1c8eea292bbd3ac8cf877555f41251ac0d140cee108c0 SHA256 (FreeBSD-13.1-RELEASE-amd64-disc1.iso) = 697d81653fa246b921ddfcf1d15562c55249cc727b11fa3e47f470e2cf2b6a40 SHA256 (FreeBSD-13.1-RELEASE-amd64-disc1.iso.xz) = e18907b6ec09e14c2065049873d28bf78682821903074e0e602e07f29075d347 SHA256 (FreeBSD-13.1-RELEASE-amd64-dvd1.iso) = 5b29c2cd5a604ad24810c994027ec13c9efc53778a307831f6181dfdaf02939f SHA256 (FreeBSD-13.1-RELEASE-amd64-dvd1.iso.xz) = 8b22dd325280c811725ca8178d8408d7a235161fbb1650b2a369b6e8acbaeaf8 SHA256 (FreeBSD-13.1-RELEASE-amd64-memstick.img) = f73ce6526ccd24dfe2e79740f6de1ad1a304c854bfcff03a4d5b0de35d69d4a0 SHA256 (FreeBSD-13.1-RELEASE-amd64-memstick.img.xz) = 1ad1c64546f27e7720690f7338be2314d0c3097549a3ee12e8d888388bf01a6f SHA256 (FreeBSD-13.1-RELEASE-amd64-mini-memstick.img) = 348f6541f3b6cc914504c34d035c7ff085baad99298cf646504dcecd4c9913c0 SHA256 (FreeBSD-13.1-RELEASE-amd64-mini-memstick.img.xz) = 8f0df8762fae588c457ce48bc34f617aae8a66723254aa143acadcec93933b8f

上述檔案中,每一個下載的檔案都有自己的檢查碼。如果您在 FreeBSD 中下載,可以使用下列 sha256 指令檢查所下載的檔案。 經由運算後,它會顯示運算結果。我們再將這個結果和 CHECKSUM 中的檢查碼比對。如果一樣, 表示檔案內容正確。

#sha256 FreeBSD-13.1-RELEASE-amd64-memstick.img
SHA256 (FreeBSD-13.1-RELEASE-amd64-memstick.img) = f73ce6526ccd24dfe2e79740f6de1ad1a304c854bfcff03a4d5b0de35d69d4a0

您也可以在 Windows 中使用 Get-FileHash 這個指令來算出 SHA256 的檢查碼。 Get-FileHash 這個指令是 Windows PowerShell 的指令。您可以在 [開始] 功能表中搜尋 PowerShell 這個指令,並執行以進入命令列。接著就可以產生 SHA256 檢查碼了:

C:\Users\Alex\Downloads>Get-FileHash .\FreeBSD-13.1-RELEASE-amd64-memstick.img
Algorithm Hash Path --------- ---- ---- SHA256 F73CE6526CCD24DFE2E79740F6DE1AD1A304C854BFCFF03A4D5B0DE35D69D4A0 C:\Users\Alex\Downloads\FreeB...
2.1.3 製作 USB 開機碟

如果你要在獨立的硬體上安裝 FreeBSD,我們可以使用 USB 隨身碟開機來進行安裝。 以 FreeBSD 13.1 為例,如果要使用 USB 隨身碟安裝,請下載 FreeBSD-13.1-RELEASE-amd64-memstick.img。

FreeBSD-13.1-RELEASE-amd64-memstick.img 這個檔案大概 1GB。所以您必須準備一個大於 1GB 的 USB 隨身碟。要將映像檔寫入 USB 隨身碟,可以使用 Win32 Disk ImagerbalenaEtcher 這二個工具。 你可以在下列網址下載 Win32 Disk Imager:

https://sourceforge.net/projects/win32diskimager/

安裝完後,執行 Win32 Disk Imager 畫面如下:

圖 2-1

在 Image File 的部份,請選擇您所下載的映像檔。而 Device 則是 USB 隨身碟。接著點選 Write 即可。

USB 開機碟製作完成後,您就可以放到要安裝的電腦上開機。請記得設定 BIOS,讓電腦使用 USB 磁碟開機。

2.1.4 使用 Synology VMM

如果您要用虛擬機器安裝 FreeBSD,虛擬機器主機可以是 VMware、VirtualBox、或者是 Synology NAS。 Synology 的網路儲存伺服器 (NAS) 可以讓我們安全的備份及存取資料。除了儲存功能外, 它還可以提供許多進階的服務。例如,使用 Synology Virtual Machine Manager (VMM) 同時運行多個虛擬機器。

Synology VMM 不只是簡單的 hypervisor,它還提供了高可用性叢集架構、虛擬機器的快照與備份、 並有集中管理的儀表板可以讓我們監看系統狀態。筆者就是使用 Synology DS1621xs+ 的虛擬機器功能來安裝 FreeBSD。您可以到 Synology 官網查找適合自己的 NAS。

Synology NAS 本身有 NFS 的功能,通常我會在 NAS 上分享一點 NFS 的資料夾給 FreeBSD 使用。並將 FreeBSD 的重要資料 (如 home 資料夾) 掛載在 NFS 下。 將 FreeBSD 伺服器的重要資料放在 NFS 有很多好處。例如,如果我們要升級 FreeBSD 伺服器,只要重新安裝一台新的虛擬機器,並載入 NFS 即可,不必花很多時間進行資料移轉。 再者,我們可以使用 Synology NAS 內建的備份功能來備份資料,管理上更加方便。 因為 NFS 和虛擬機器同在 Synology NAS 上,溝通的效能會非常好, 這種系統和資料分開的架構實在是更好的選擇。

如果您要在 Synology NAS 上使用虛擬機器,請先到 NAS 上的套件中心安裝 Virtual Machine Manager。第一次執行 VMM 時,須要做一些簡單的基本設定, 設定完後,就可以開始安裝 FreeBSD 了。使用虛擬機器安裝 FreeBSD 時, 請下載 -disc1.iso 的映像檔。以 FreeBSD 13.1 Release 為例,就是下載 FreeBSD-13.1-RELEASE-amd64-disc1.iso。下載後,請將檔安放到 NAS 上的任一資料夾中。

接著,請到 VMM 的虛擬機器頁面,點選新增。如下列新增畫面:

圖 2-2

新增虛擬機器時,請選擇使用作業系統 Linux。接著,請依照新增精靈設定所要使用的儲存空間及基本規格。 在設定虛擬磁碟時,因為我們會使用 NFS 存放資料,系統磁碟大小不需要太大,通常只給 50GB 就夠了。 如果沒有要使用 NFS,則請依照自己資料量多寡設定所需的磁碟大小。另外,請點選進階設定的齒輪, 確定虛擬硬碟控制器的類型為 VirtIO SCSI 控制器。同樣的,在網路設定中,請點選選進階設定的齒輪, 並確定網路卡型號為 virtio。VirtIO 可以提供更好的效能,使用起來就好像直接存取 NAS 上相對應的硬體一樣。

圖 2-3

最後,在其他設定項目中,用來開機的 ISO 檔,請掛載我們下載的 FreeBSD 映像檔。完成後, 就可以開機安裝 FreeBSD 了。要連到 FreeBSD 的 Console,只要在虛擬機器頁面點選 [連線] 即可。

2.2 系統安裝

不管您是使用獨立的硬體或是虛擬機器,安裝的流程幾乎是一樣的。我們接下來會一步步說明整個安裝流程。

2.2.1 進入安裝程式

開機執行安裝時,如果正確開機,您將會看到下列畫面:

圖 2-4

我們可以直接按 [Enter],或等待倒數結束直接進入開機流程。開機完成後,會出現下列 FreeBSD Installer 的選單:

圖 2-5

FreeBSD Installer 的操作很簡單,您可以使用上下鍵移動光棒,使用 [空白鍵] 選取,並使用 [Enter] 確認並進到下一步。

如果要開始安裝,可以直接按 [Enter]。如果您在安裝時發現硬體有問題,或者您需要檢視開機的訊息, 您可以選 Shell 並按 [Enter] 以進入系統中查看。FreeBSD 開機的訊息放在 /var/log/dmesg.boot。您可以使用下列指令查看其內容:

#more /var/run/dmesg.boot

查看完後,請輸入 exit 以回到安裝畫面。在安裝畫面中選 Install 後,會進入下列鍵盤設定的頁面:

圖 2-6

我們可以直接選 Continue with default keymap 即可。按 [Enter] 後,安裝程式會要求您輸入這台機器的主機名稱。 您可以輸入完整的名稱,如 test1.example.com:

圖 2-7

輸入主機名稱,下一步會後進入選擇安裝元件的畫面:

圖 2-8

在安裝元件頁面中,請將使用方向鍵往下選到 src 的部份,再按 [空白鍵] 以選取安裝 FreeBSD 的原始碼。安裝原始碼對於日後設定會很有用。

2.2.2 切割磁碟並安裝元件

接下來,在開始將所選擇的元件寫到磁碟之前,會先出現下列切割磁碟區的頁面:

圖 2-9

切割磁碟區的頁面中有下列幾個選項:

如果您使用獨立主機,且有大於 8GB 的記憶體,您可以使用 ZFS。否則,建議使用 Auto (UFS)。 假設我們選了 Auto (UFS),下一步則是設定要使用整顆磁碟或是單一磁區:

圖 2-10

除非你要安裝的電腦中有其它的作業系統,且要進行多重開機才會選單一磁區。否則請選擇使用整顆磁碟。

使用整顆磁碟時,系統會詢問您要使用哪一種開機磁區:

圖 2-11

以現代的 64 位元系統,我們應該都是選用 GPT。MBR 主要用在較舊的電腦上,而且有硬碟大小 2TB 的上限。 另外幾個選項又更舊且更不常用。

選擇了開機磁區後,會進入分割磁碟的頁面:

圖 2-12

FreeBSD Installer 會自動切出一大塊空間做為系統的根目錄,即上圖 freebsd-ufs / 的部份。 並切出一塊空間做為虛擬記憶體 (SWAP)。不過,預設的 SWAP 空間有點小。通常在記憶體小於 4GB 時,我們會把 SWAP 設成記憶體大小的二倍。當記憶體大於 4GB 時,SWAP 大概和記憶體一樣大即可。

如果您要更改預設的 SWAP 大小,請先將光棒移到 da0,再按 [D] 鍵以刪除所有磁區。接著按 [C] 以建立開機磁區。建立開機磁區時,我們一樣選 GPT。接下來,請再對著 da0 按 [C] 以建立分割區。 如下列畫面:

圖 2-13

在上述畫面中,請使用 [Tab] 鍵將游標移到上方淺藍區塊。在 Size 的部份, 因為我的硬碟為 50GB,SWAP 將設為 4GB,所以大小輸入為 46GB。 然後在 Mountpoint 的欄位輸入 /,表示為根目錄。接著,請按 [Enter]。 因為我們使用 GPT,所以會跳出下列視窗:

圖 2-14

這個訊息是詢問是否建立一個開機用的磁區,請選擇 Yes。回到磁碟分割主畫面後, 請再對著 da0 按 [C] 鍵以建立 SWAP 磁區:

圖 2-15

同樣的,請使用 [Tab] 鍵將游標移到 Type 的部份。在 Type 的部份,請輸入 freebsd-swap。 請將 Mountpoint 留白,大小預設已經是剩下的所有空間大小,我們直接按 [Enter] 回到主畫面即可。

回到磁碟分割主畫面,檢查一下分割的內容是不是我們想要的樣子。 如果沒問題,請在 Finish 按 [Enter]:

圖 2-16

按 [Enter] 後會出現一個要求再確認的視窗,請選 Commit 以開始安裝軟體。 接著就會出現安裝軟體畫面,如下所示:

圖 2-17
2.2.3 安裝後的設定

安裝完成後的第一件事就是要設定系統超級使用者 root 的密碼。

圖 2-18

請輸入您想要的使用的密碼,並再次確認。完成後,會出現下列設定網路卡的畫面:

圖 2-19

在網路卡頁面按下 [Enter] 後,它會問您是否要設定 IPv4 的位址,請選 Yes。 接著會詢問是否使用 DHCP。如果您要手動輸入 IP 位址,請選 No,則會出現下列設定 IP 的頁面:

圖 2-20

設定了 IPv4 位址後,系統會再詢問是否要設定 IPv6。如果您沒有使用 IPv6 請選 No。

IP 位址設定後,會再跳出 DNS 設定如下:

圖 2-21

在 Search 的欄位請輸入您的網域外稱,接著輸入 DNS 伺服器的位址。

網路設定到此為止。下一步是時區設定:

圖 2-22

請依照所在地選擇您的時區。選定後會出現下列視窗要求您確認時區:

圖 2-23

設定完時區則會出現設定日期及時間的頁面,請直接選 Skip 跳過即可。 我們等一下會設定使用網路自動對時。

跳過日期及時間設定後,將出現下列設定開機時所要執行的服務:

圖 2-24

請移到 ntpdate 及 ntpd 這二個服務,並使用 [空白鍵] 啟用它們,再按 [Enter] 繼續。

接下來是一些系統安全性的選項,我們可以按 OK 直接跳過。

圖 2-25
2.2.4 新增使用者

到目前為此,所有設定都已完成。我們接下來要新增第一個使用者。 系統內建的使用者 root 雖然是超級使用者,擁有一切權力。但為了安全起見, 系統預設是不允許 root 使用 SSH 遠端登入。因此在下列視窗詢問是否新增使用者時, 請選 Yes。

圖 2-26

選取新增使用者後,將出現下列的畫面:

圖 2-27

以下,我們稍微解釋一下每一個問題的意義:

全部完成後,會詢問您資料是否正確。請輸入 yes。最後會再問您是否要再新增其他使用者,請輸入 no。

2.2.5 完成安裝並重開機

新增完使用者後,將回到下列畫面:

圖 2-28

這個頁面可以讓我們進行一些最後的設定。這裡的每一個選項幾乎就是我們前面做過的幾個設定。 如果您需要進行任何修改,可以再進去設定一次。如果不需再修改,請選擇 Exit 以離開設定。

安裝程式會詢問您是否要進入命令列做最後的設定:

圖 2-29

我們可以選 No 進入下列畫面。最後,請選 Reboot 以重開機。

圖 2-30