跳到主要內容

FreeBSD 13 安裝實務

 FreeBSD 是什麼? :

說起 FreeBSD,也許你沒聽過。但 FreeBSD 的歷史與現在的影響,絕對遠超過你的想像。稱為作業系統界中不知名的巨人,絕對不為過。FreeBSD 是 BSD (Berkeley Software Distribution) - 一個基於 Research Unix 再開發的作業系統 的分支。簡單的說,FreeBSD 可以說是鼎鼎大名 AT&T Unix V5 的直屬後裔,FreeBSD 的穩定幾乎是不需質疑的。


它出現的地方,也許你意想不到:

喜歡玩遊戲嗎 ? 那你絕對聽過 PlayStation,無論你是不是它的粉絲,或者是恨它恨到入骨的 XBox 支持者,從輕巧的 PlayStation Portable / Vita ,到大的主機 PlayStation 3 / 4 / 5,他們的作業系統 (System Software) 正是 FreeBSD 再開發而成的。

蘋果的使用者嗎 ? 喜歡 Mac OS X (現稱 MacOS) 的穩定嗎 ? 從 MacOS / iOS ... 到 tvOS 等等,其使用的作業系統核心皆是 Darwin。你會發現 Darwin 借了許多,或甚至直接整合 FreeBSD 的核心功能。


FreeBSD 絕對不是玩具,但是個絕佳的工具:

相較於現今的 Linux 更走近個人電腦使用,許多發行版很注重 "開箱即用" 的體驗 - 圖形化的安裝過程,自動尋找驅動程式,安裝完成軟體全備妥在 Linux 發行版上似乎都快成了一種指標。除了少數有特別的核心宗旨的發行版 (例如: ArchLinux - 你怎麼說,我怎麼做),不太注重人性化安裝或設定的 Linux 已經十分稀少。但 FreeBSD 絕對不是這樣的作業系統,它在乎穩定與可控性,安裝程式只提供最基本的環境,剩下的設定與使用者心目中的 FreeBSD 那全部都是使用者必須自行指定 - 一切都要自己來,絕對不是安裝完就好。

且 FreeBSD 過往都是以伺服器環境為主,雖不代表現在的 FreeBSD 不適合做桌上型電腦作業系統,但請不要期待有如 Linux 般排山倒海的桌面軟體,也不要期待都有繁體中文介面,許多時後你會發現要完成的事情,或要執行的功能,沒有或不能透過圖形化介面完成。

不像 Linux,FreeBSD 目前沒有圖形化介面的 "軟體中心" 或 "軟體商店"

在這個章節裡,我們要做到:

  • 強迫以 UEFI 啟動 FreeBSD 安裝程式 (不是每個人都需要做)
  • 設定系統基本資訊
  • 選擇要安裝的系統組件
  • 磁碟分割
  • 設定 root 密碼
  • 設定網路
  • 設定時區
  • 系統行為調整
  • 新增一般使用者
  • 完成安裝

而我們認為你應該已經準備好了這些事務

  • FreeBSD 安裝媒體 (無論是光碟或USB)
  • 您電腦 (尤其是主機板) 詳細操作說明書
  • 電腦的啟動順序已經指向 FreeBSD 的安裝媒體
由於各電腦廠牌的韌體操作皆有不同,故只能提供 "概念",請參閱其他說明。

強迫以 UEFI 啟動 FreeBSD 安裝程式

UEFI (Unified Extensible Firmware Interface) 是接續 BIOS 作為標準個人電腦 (PC) 的韌體標準,它跳開了傳統 BIOS 以中斷與真實模式的環境,進入了允許執行高階語言與盡早讓電腦進入保護模式,避開以往會有的 PC 限制 - 例如 BIOS 知名的每個分區 2TB 限制。
除非您使用的電腦已超過 10 年,又或者是被刻意啟動 CSM 模式等等,否則應該都是以 UEFI 作為預設韌體與啟動標準。
一般而言,若韌體啟動設定正確,一般都能正常地進入 FreeBSD 安裝程式。然而在較早的韌體 (尤其遵循較舊的 UEFI 標準的韌體) 會出現找不到媒體的窘境。然而在我們的測試環境中,並沒有辦法重現問題。故我們只能提供簡易的說明。

要求電腦啟動為 EFI Shell 模式:

不是每個電腦廠商的韌體都提供這項功能。通常 "Drop into EFI Shell" 的選項會出現在 Save & Exit 的頁面中。請參閱您主機板或電腦的說明書,如果成功地進入 EFI Shell,會看到類似這樣的畫面:


找出啟動裝置,執行啟動碼:

首先要找到 FreeBSD 的安裝媒體,以本例而言,FreeBSD 的安裝媒體在 CD 上,您可以列出所有裝置,透過:

Shell> map

此時會列出所有的裝置列表。請仔細檢查輸出內容是否有符合的內容


在上圖中,我們能得知在 SATA 埠上的 CD-ROM 被 mapping 到 blk2 與 fs0 blk0。通常 fs 代表該物件存在 UEFI 可以存取的檔案系統。故 cd21b0a1 (fs0) 才是我們有興趣的對象。

通常 FreeBSD 的啟動碼資訊會被放在 EFI 啟動分割中的這個地方:
/efi/boot/bootx64.efi

故嘗試: 
fs0:\efi\boot\bootx64.efi

如果做得正確,會出現 FreeBSD 的啟動選單

設定系統基本資訊:

如果沒有發生驅動程式,或者硬體不相容等問題,您會看到以下的畫面

除非您要執行系統救援,預設直接選擇 Install (安裝) 即可

由於台灣所使用的鍵盤設定與美國相同,故只需要設定為 "Continue with default keymap" 即可


此乃設定主機名稱。此處請特別注意:
  • 如果您沒有申請網域名稱,或在家用環境中 : 請隨意設定為自己喜歡的名稱
  • 如果您有為這台電腦申請網域名稱 : 請設定為您申請的網域名稱
  • 如果您在學校或公司使用 : 請洽詢學校或公司網管 (尤其那些有AD/LDAP服務的)

選擇要安裝的系統組件

  • base-dbg (基本系統的開發組件與函示庫)
  • kernel-dbg (核心的開發組件與函示庫)
  • lib32-dbg (32 位元相容函示庫的開發組件)
  • lib32 (32位元相容函示庫)
  • ports (Ports 軟體資料庫 - 一種透過已寫好的 Script 進行協助編譯來安裝軟體的資料庫)
  • src (系統原始碼)
  • tests (系統測試工具)

一般而言,我們只會預先安裝以下這些,維持往後軟體安裝方便
  • kernel-dbg (核心的開發組件與函示庫) : 當需要編譯或安裝驅動程式、與核心功能時,會需要這些物件。
  • lib32 (32位元相容函示庫) : 維持軟體相容性
您並不需要全部勾選,一來是其他選項較常用於系統開發,或者是安裝不在預設軟體庫中的軟體,二來是這些物件都可以事後安裝。

磁碟分割

經驗喊話 : 我並不建議多重開機,一來是這會讓許多功能失效,無論是在 BIOS 或 EFI 上 (像休眠待命會出問題,或是快速啟動功能會無法運作),二來是 FreeBSD 預設的開機程式是不支援多作業系統的,您必須手動安裝其他有此項功能的軟體 (像是 rEFInd),如果您的電腦本身就已經有其他作業系統,比較安全的選項為使用虛擬機器

此時安裝程式會詢問是否要做磁碟分割。如果您需要自己調整分割區,或者是要讓 FreeBSD 與其它作業系統共存,請選擇Partition。這個步驟請十分小心,注意畫面提供的資訊。
由於我們的展示機並沒有安裝任何作業系統,故直接使用 Entire Disk 即可。

此時會出現磁碟的分割模式,如果您使用Partition 工具,且磁碟已有其他的分割區,則不會出現這個畫面。
  • 如果您的電腦使用 UEFI 韌體,而且您使用 UEFI 模式啟動安裝媒體 : GPT (多數的人應該都是這個情況)
  • 如果您的電腦使用 BIOS 韌體 : MBR
若確認無誤後,系統會出現磁碟分割表狀況

如果沒有任何問題,按下 Finish 即可,接著 FreeBSD 就會開始複製檔案到硬碟上


設定 root 密碼

Root 是 -nix 系統中權限最高的帳戶,可以說是說一不二的權限,有著對系統任何角落的生殺大權。錯誤的指令甚至可以把系統本身清除。
Root 帳戶的密碼應該要嚴謹的設定,也必須只有你自己知道。
設定非常直覺,請按照螢幕說明,輸入欲設定的密碼與驗證即可


設定網路

如果您的網路卡 FreeBSD 能夠支援,則您會看到以下畫面。請選擇一張 FreeBSD 要拿來通訊的網路卡,請按下 Ok


接著,安裝程式會詢問是否要在這張網路卡上啟動 IPv4 通訊協定,請按下 Yes 即可



DHCP 為動態主機設定協定的縮寫,能夠自動設定電腦主機的 IP位置,預設通訊閘道與其他資訊,就目前台灣 ISP 預先設定好的網路環境應該對此都是支援的。除了以下狀況要特別注意:
  • 您使用了固定制網路 (無論是網路型或多機型)
  • 您有申請一個網段
  • 您使用學校或企業的網路
若需要設定固定 IP 時,請按下 No,並依照設定說明書,輸入正確資訊。

接著,安裝程式會詢問是否要在這張網路卡上啟動 IPv6 通訊協定,除非你自己對你的網路清楚,也理解自己的 ISP 與自己使用的路由器有支援 IPv6 協定,否則請按下 No。


接著,安裝程式會詢問 DNS 是否設定正確。此處也需十分注意:
  • 如果您沒有申請網域名稱,或在家用環境中 : 按下 OK 即可
  • 如果您有為這台電腦申請網域名稱 : 請查閱網域提供商指定的DNS位置
  • 如果您在學校或公司使用 : 請洽詢學校或公司網管 (尤其那些有AD/LDAP服務的)

設定時區

請依照您所在的地區設定時區。例如台灣為 Asia/Taipei


系統行為調整

接著安裝程式會詢問您關於系統的細部行為:

您可以依您的需求啟動或關閉:
  • sshd : 啟動 SSH 遠端連線支援
  • moused : 啟動在純文字介面下的滑鼠支援
  • ntpdate : 在系統啟動時先與網路時間伺服器校正時間
  • ntpd : 啟動網路時間校正功能支援
  • powerd : 啟動對 CPU 省電功能支援
  • dumpdev : 當作業系統核心發生錯誤時,把記憶體狀態倒出

這些是系統資安行為的加強,除非您有需要,否則按下 OK 繼續即可。
請注意 : 不正確的設定可能會導致非您預期的系統行為,這會導致使用不便,或者是難以判斷問題。除非您十分清楚您做出的修改,否則建議不要設定任何,未來需要也能事後設定。

新增一般使用者

接著系統會詢問您是否要為新增其他使用者。若您需要新增其他使用者,則請選擇 Yes,否則 No。


新增過程十分直覺,只有一個需要注意的選項:
如果您新增的這個帳戶有管理者權限 (可以呼叫 su),請記得將帳戶加入 wheel

完成安裝

完成安裝,若不再做變更,則選擇 No,重新啟動電腦。

如果您能看到這個畫面,則代表安裝成功,系統運作正常:

到此 FreeBSD 基本系統安裝完成。

留言

這個網誌中的熱門文章

網路卡卡急救章 – 您用的網路,您了解嗎 ?

這是我應該在乎的事情嗎 ? 是,同時也不是。取決於你對於網路的要求程度有多高而有變異。對於一個上上網偶爾看看Youtube的人,這些不是他會在乎的問題,便宜,能用就好,對一個線上遊戲玩家來說,穩定才是首要考量的問題,對一個追劇狂來說,方案提供的總流量才是考量。所以正在看文章的您是什麼樣的使用者呢 ? 無論怎麼樣的使用者,對於自己正在使用什麼樣的網路多了解一些,也不是壞事。

暫時當一下外國人的 SoftEther VPN Gate

在一個自由的國度與優質的ISP裡: 這兩個評斷台灣的網路服務環境,我想許多人便是吐槽不已,但我想與各位討論的,便是靜下來思考: 台灣的ISP好在哪些地方 ? 還記得第一次日本出差的嚮往,我期待著超乎我能所想像的高速網路,隨處可方便使用的行動網路。莫約小學(2006年左右),網路上大家總是謾罵著中華電信傲慢無理的價格且速度緩慢,而日本如火如荼的進行著光纖鋪設,便是邊用中華順便謾罵。 而在日本的三個月期間,用的是NTT(相當於日本版的中華電信)的有線網路與4G服務,我覺得才便能體會台灣ISP所提供的服務水準: NTT FLET'S光迴線 300 晚間尖峰時段測速 2018/3/05 會津若松市 中華電信 4G 晚間尖峰時段測速 2019/3/20 花蓮縣壽豐鄉 在日本,無線網路通訊基本上是沒有吃到飽的(Au WiMax 雖然流量無限但還是會有每日到量限速),所以若要回宿舍做事最好還是裝固網 But What can I say ? 而台灣的ISP(用中華電信的體驗下來),是鮮少管東管西的: eMule 流量要不要限制、BT故意阻擋等等,讓使用VPN的理由實在不多,而自由的發言,不管控觀看內容,我想這個就留給客官們各自評斷了。 而如果對於P2P不友善的ISP有哪些, 倒是可以看看這個表 ,便一切皆知喔。 有限制地區的服務: 然而網站有些內容仍然會因為地區的關係而決定要不要顯示,如果是學術研究者,會很經常用到TANET的SSL-VPN,因為這些 死要錢 的論文網站都會綁學校的IP Block,要使用非得以用學校的網路出去。日常生活中,最明顯的可以從某些Youtube 影片,陸方的影音網站便能知曉 VPN 與你: VPN能提供的好處不少,但能導致的壞處也不少: VPN的好處: 隱藏自己實際的身分、公共網路上(如機場、飯店等開放式WiFi)他人無法竊聽整個傳輸內容(包含上了什麼網站等等的)、使用當地國網路優勢 VPN的壞處: 不良VPN提供業者可能會記錄傳輸內容、伺服器效能不足導致網路使用緩慢。 SoftEther VPN 與筑波大學: 筑波大學在VPN方面的研究十分奇葩,也相對先進。用盡各種方式建立VPN(甚至只要能送Ping 也能作為VPN,實際運作原理不多說)

讓我們來談談DELL XPS 13 9343 那恐怖的雜音

作為Dell 旗艦級筆電的XPS系列: 對一個實驗生來說,長效高性能的筆電,是一個叫做: 想作為必備,但是沒本事買配備。 餐餐的泡麵與吐司果醬,當覺得已經似乎快超脫時,便重金砸下。