|
作者或來源 瘦河馬 | 2009-10-27 15:52:24 |
關鍵字 1freebsd 2port
此文完整連結 http://note.tc.edu.tw/179.html
|
|
Freebsd 套件和套件有關的指令
Freebsd 有著極棒的套件管理方式,讓使用者一點也不會覺得麻煩和混亂。
在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports,什麼是 ports?
在網路上諸多的套件,經安裝及測試沒問題後,將其依編譯時所需的組態設定、編譯程序及安裝程序以固定的格式擺在一起,並經 Freebsd 維護小組認可後即加入 ports 的集合中。當安裝完 freebsd 後(或同時),可以選擇安裝 ports 的集合,如此未來若有套件想安裝,只要進到 /usr/ports/ 一陣亂找後,就能找到想要的套件了。
一、安裝 ports 的集合(ports tree/ports collection)
# sysinstall
Configure --> Distributions -->ports 然後選擇 install,可以丟入 cd或dvd,讓他由光碟片安裝,要花滿久的時間,至少一個小時,可以先去喝杯茶。
二、用ports安裝套件的方法
安裝完 ports 的集合之後,未來要用 ports 安裝套件就像吃飯一樣簡單
例如要安裝 mysql 6.0
# cd /usr/ports/databases/mysql60-server/
# make install
如此會產生一個 work/ 的資料夾,裡面有下載回來的套件,如果要安裝完畢後刪除下載檔,加一個'clean' 即可
# make install clean
三、有關套件的指令:
安裝好的套件在 /var/db/pkg
查看套件資訊 # pkg_info -L <== -L可看版本
加入套件 # pkg_add 套件名
刪除套件 # pkg_delete 套件名 <==套件名必需完整。
查看套件相依性 # pkg_tree <==請ports sysutils/pkg_tree安裝
看現在版本和/usr/ports中的版本比較 # pkg_version -v
四、維持ports 集合的更新
ports 的集合也需要更新,以取得新的套件及/usr/src的原始碼更新,更新 ports tree 的方法很簡單,可以使用 CVSup 來保持 ports 在最新狀態。
CVSup 是一套用來維持軟體原始碼和開發團隊同步的工具,它會經由網路向所設定的軟體伺服器檢查並更新原始碼的版本。我們可以使用 CVSup 來更新 port tree,也可以用來更新 /usr/src 目錄下的 FreeBSD 原始碼。
安裝 CVSup,因為我們不使用圖形介面,所以安裝 cvsup-without-gui
# cd /usr/ports/net/cvsup-without-gui
# make install
完成後,在系統中有一份以 CVSup 更新 port tree 的設定檔範例,可以直接加以修改或著先複製一份後再修改。我們將該設定檔範例複製到 /root 之後再加以修改:
# cp /usr/share/examples/cvsup/ports-supfile /root/
修改 /root/ports-supfile 所要使用的 CVSup 伺服器:
*default host=cvsup.tw.freebsd.org
設定完畢之後,就可以開始進行 ports 的更新了
# cvsup -g -L 2 /root/ports-supfile 上述指令中,參數 g 表示不使用圖形介面,而參數 L 及其後所跟隨的數字 2 表示我們要看到更新過程的記錄的詳細程度,數字可以從 0 ~ 2,最後的檔名表示所要使用的設定檔。
這樣就能維持 ports tree 的更新。
五、現有套件的更新
現有套件可使用以下指令來查看是否有更新
# pkg_version -v
倘若有較新版本的套件想更新時,可以先移除舊的再安裝新的,但這樣不是很方便,所以可以使用portupgrade來更新
安裝portupgrade
# cd /usr/ports/ports-mgmt/portupgrade
# make install
安裝完畢後,未來要更新套件,就到ports中套件的目錄下 portupgrade 指令即可
安裝完套件記得要執行
rehash 才會生效,否則要重新登入。