FreeBSD 為一個 [Unix-Like ]() 作業系統,由 [BSD ]() 衍生出來的一個版本,受到不少人喜愛。後來由 FreeBSD 延伸出其他發行版,如 [PC-BSD ](http://www.pcbsd.org/)、Desktop-BSD、[FreeNAS ](http://www.freenas.org/) 等。 安裝 ==== 舊版的 FreeBSD 對電腦硬體支援較少,但現在常見的硬體驅動都已支援,也可以在虛擬機器上安裝。 以下安裝步驟以 FreeBSD 9.0 為主: 1. 由光碟開機,出現開機選單時選擇第一個選項「1. Boot [Enter]」。 1. 歡迎畫面可以選擇要安裝、使用 Shell 或是使用 LiveCD 方式操作。安裝作業系統選擇「Install」即可。 1. 選擇鍵盤對應,一般情況不需要更改。 之後的安裝介面均使用鍵盤操作,Tab 切換按鈕選擇、空白鍵核取選項、Enter 表示按下按鈕或下一個步驟。 1. 設定網域名稱,沒有則留空。 1. Distribution Select 選單中,可選擇欲安裝的項目: - doc: 手冊、說明文件 - games: 遊戲,通常 server 不需要安裝。 - lib32: 給 32bit 所使用的 binary。 - ports: Ports collection 為 FreeBSD 的套件庫,之後搜尋、安裝套件較簡單方便。Ports colection 會使用相當大的硬碟空間,可視情況安裝,或是之後需要再由 syssintall 安裝。 - src: FreeBSD kernel srouce code,若有需要自行編譯核心可安裝。 * 若沒有安裝 src 且使用 sysinstall 也無法安裝可以參考 http://forums.freebsd.org/showthread.php?t=29172 使用 svn checkout 1. Partition 選單:做磁碟分割定掛載分割區。 1. 安裝系統至硬碟上。 1. 設定 root 密碼。 1. 網路設定。 1. 設定系統時間。 1. 啟動系統服務。 1. 選擇是否需要使用匯出系統錯誤資訊。 1. 建立新使用者,在此可以新增一個非 root 帳號。注意:在 FreeBSD 系統中,使用者必須在 wheel 群組當中,才能夠使用 su 切換身份至 root,管理員帳號應該在「Invite into another group」中輸入「wheel」。 1. Final configuration 選單中,可讓使用者在重新開機之前做最後的調整。 1. 移除光碟片,重新開機。 套件管理 ======== FreeBSD 上的套件可以透過 packages 以及 ports 安裝。packages 可以輕鬆的從網路下載套件執行檔、設定、文件,ports 則是下載 source code 依照需求編譯,需要客製化軟體以及安裝較新的版本軟體可透過 ports 安裝。 使用 packages 安裝套件 ---------------------- packages 提供 pkg_add、pkg_delete、pkg_info 等指令讓使用者可以管理系統上的套件庫。 FreeBSD 官方網站以及其他使用者提供不少可直接安裝的套件,下載後可以直接用 pkg_add 安裝: .. code-block:: pretty-print $ fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/games/sl-3.03.tbz sl-3.03.tbz 100% of 7670 B 19 kBps $ pkg_add sl-3.03.tbz $ rehash # sh 重新搜尋可執行指令 $ sl ----------------------------- pkg_add 提供 ``-r`` 參數,讓 pkg_add 自動從網路套件列表搜尋符合的套件下載安裝,並自動解決相依性問題: .. code-block:: pretty-print $ pkg_add -r bash Fetching bash.tbz... Done. Fetching libiconv-1.13.1_1.tbz... Done. # 因相依性而自動下載、安裝的套件 Fetching gettext-0.18.1.1.tbz... Done. $ rehash $ bash ----------------------------- 使用 ports 安裝套件 ------------------- FreeBSD 的 ports 系統整理了成千上萬的套件,可以輕鬆的透過搜尋找到需要的套件,並客製化套件設定與安裝。 搜尋 ~~~~ 先切換至 /usr/ports 目錄下,接著使用 make search 搜尋欲安裝之套件: .. code-block:: pretty-print $ cd /usr/ports $ make search name=git ---------------------------- 若 ports 中有符合的項目,則會列出以下資訊: - Port:套件名稱 - Path:套件所在路徑 - Info:套件簡述 - Maint:套件維護人員 - B-deps、R-deps:相依性 - WWW:套件網站 設定與安裝 ~~~~~~~~~~ 安裝套件,只需要切換到套件所在路徑,設定 (config)、編譯 (make)、安裝 (install) 並清除 (clean) 暫存檔。 .. code-block:: pretty-print $ cd /usr/ports/devel/git # 切換至 git 所在目錄 $ make config # 套件設定 ---------------------------- make config 可看到許多能客製化的項目,使用 tab、空白鍵來移動選取項目,設定完畢後,系統會自動編譯所需要的套件來滿足相依性。 接下來就可以輸入 make 進行編譯,系統會自動從網路下載所需的原始碼編譯。編譯完成後,輸入 make install 安裝,最後再 make clean 清除不再使用的檔案。 懶人筆記:若只要預設值,輸入「make install clean」即可。 套件管理 ~~~~~~~~ FreeBSD 套件管理指令均以「pkg_」開頭,如:pkg_info、pkg_delete、pkg_create 等。 pkg_info ^^^^^^^^ pkg_info 用於檢視套件資訊: .. code-block:: pretty-print $ pkg_info johnroyer@bsd:~$ pkg_info ImageMagick-nox11-6.7.9.4 Image processing tools apache22-2.2.23_2 Version 2.2.x of Apache web server with prefork MPM. autoconf-2.69 Automatically configure source code on many Un*x platforms automake-1.12.4 GNU Standards-compliant Makefile generator bash-4.2.37 The GNU Project's Bourne Again SHell .... ---------------------------- 若在後方加上套件名稱,則會顯示該套件的詳細資訊: .. code-block:: pretty-print $ pkg_info bash-4.2.37 Information for bash-4.2.37: Comment: The GNU Project's Bourne Again SHell Required by: bash-completion-2.0,1 --------------------------------- 注意:套件名稱必須是完整的名稱,「bash-4.2.37」而不是「bash」。 使用 ``-L`` 可以顯示該套件安裝了哪些檔案: .. code-block:: pretty-print $ pkg_info -L bash-4.2.37 Information for bash-4.2.37: Files: /usr/local/man/man1/bash.1.gz /usr/local/man/man1/bashbug.1.gz /usr/local/bin/bash /usr/local/bin/rbash /usr/local/bin/bashbug ....... --------------------------------- 使用 ``-W`` 可以查詢該檔案被是屬於哪一個套件的: .. code-block:: pretty-print $ pkg_info -W /usr/local/bin/bash /usr/local/bin/bash was installed by package bash-4.2.37 --------------------------------- Reference ========= - [FreeBSD.org ](http://www.freebsd.org/) - [FreeBSD 使用手冊 ](http://www.freebsd.org/doc/zh_TW/books/handbook/index.html)