[精讚] [會員登入]
2031

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] 使用者的定時排程 crontab Freebsd 下若使用者要建立自己的 crontab,方法和 root來建有一些不同。

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

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

Freebsd11+sudo 使用sudo模組讓帳號具有root權限 linux系列中很好用的sudo,在freebsd中也可以使用

[Freebsd] 建立ramdisk Freebsd 建立ramdisk,作為高速的暫存空間

[Freebsd8] PHP<5.5 安裝APC Freebsd8 上(php<5.5版本)安裝 pecl-APC

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

[札記] 2016.7~12月札記 札記,只是札記

NETCRAFT發現你的網站及作業系統 NETCRAFT可以發現你的網站及作業系統

[PHP] 檢查檔案是否是圖檔 使用getimagesize函數檢查檔案是否是圖檔

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式