[精讚] [會員登入]
1933

Freebsd 套件和套件有關的指令

在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports。

分享此文連結 //n.sfs.tw/11493

分享連結 Freebsd 套件和套件有關的指令@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 13:27:10 最後編修
2017-07-25 18:52:33 By 張○○
 

自動目錄

Freebsd 有著極棒的套件管理方式,讓使用者一點也不會覺得麻煩和混亂,這東西就是ports

在網路上諸多套件,經安裝及測試沒問題後,經 Freebsd 維護小組認可後會加入 ports 的集合中。未來若有套件想安裝,只要進到  /usr/ports/ 一陣亂找後,就能找到想要的套件了。

一、安裝 ports

# sysinstall

Configure --> Distributions -->ports 然後選擇 install,可以丟入 cd或dvd,讓他由光碟片安裝,要花滿久的時間,至少一個小時,可以先去喝杯茶。

新版的FREEBSD沒有sysinstall這個指令,所以採用 portsnap安裝

# portsnap fetch
# portsnap extract

這樣就會建立 /usr/ports 這個目錄,爾後更新指令為:

# portsnap fetch update

二、用ports安裝套件的方法

安裝完 ports 的集合之後,未來要用 ports 安裝套件就像吃飯一樣簡單

例如要安裝 mysql 6.0

# cd /usr/ports/databases/mysql60-server/
# make install

如此會產生一個 work/ 的資料夾,裡面有下載回來的套件,如果要安裝完畢後刪除下載檔,加一個'clean' 即可

# make install clean

三、有關套件的指令

安裝好的套件在 /var/db/pkg

[FREEBSD>=10]

套件管理變為pkgng,算是比較大的變革,基本上的變化是把下底線拿掉,全部採用同一個執行檔,可參考[3],例如:

# pkg info
# pkg add
# pkg delete
# pkg autoremove
# pkg create
# pkg help
# pkg search
...

[舊版FREEBSD <10]

查看套件資訊,-L可看版本

# pkg_info -L

加入套件

# pkg_add 套件名

刪除套件,由pkg_info看到的套件,完整貼上就能刪除

# pkg_delete 套件名

查看套件相依性,需先安裝 sysutils/pkg_tree 安裝

# pkg_tree

尋找套件

# pkg search subversion

尋找套件在ports中的目錄,加上-o

# pkg search -o subversion

看現在版本和/usr/ports中的版本比較

# pkg_version -v

四、維持ports 集合的更新

ports 的集合也需要更新,以取得新的套件及/usr/src的原始碼更新,

除了使用portsnap更新外(參考一、安裝ports說明)也可以使用 CVSup 來保持 ports 在最新狀態(適合較舊版本的FREEBSD)[1]

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 才會生效,否則要重新登入。

# rehash

參考資料

[1] TWBSD https://www.twbsd.org/cht/book/index.php?ch=10

[2] https://www.freebsd.org/doc/handbook/ports-using.html

[3] https://wiki.freebsd.org/pkgng


編修原文 2009-10-27 15:52:24

END

你可能感興趣的文章

Freebsd上php+ session 的問題 php的session在freebsd上竟然預設是關掉的?簡直沒氣死我。

Freebsd shell 的日期date表示法 Freebsd 的日期date功能超級強大,學會會很方便。

[FREEBSD] 在FreeBSD 如何使用 USB 隨身碟? 在FreeBSD 如何使用 USB 隨身碟?

[FREEBSD10] 安裝 dhcp 伺服器 Freebsd10 安裝 dhcp for IPv4伺服器

[FREEBSD] 使用ADSL撥接程式為何 我在家架了一台 FREEBSD 的SERVER,其中ADSL設定和操作

設定友善的FREEBSD shell環境 FREEBSD 的原始SHELL很不友善,以下設定可以讓你的FREEBSD 很友善,和CENTOS差不多,這樣子FREEBSD 就有好用的介面。

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

海棉寶寶超泡杯演奏的sweet victory 章魚哥和海棉寶寶在超泡杯的演奏歌曲