[精讚] [會員登入]
1934

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

你可能感興趣的文章

[FREEBSD11] ssh登入時免輸入密碼 自動程式需要進到別台機器時,沒辦法使用交談式方式輸入密碼,發現一個簡單的方法設定

[Freebsd] VSFTP的安裝和配置 Freebsd 安裝和配置 VSFTP

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

[Freebsd] 查看dhcp客戶端 Freebsd如何能知道目前的租約及有效狀態

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

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

魔球中小女孩唱的歌 The show 魔球中小女孩唱的歌 The show