freebsd 套件管理

在freebsd上我們常常要安裝軟體又要移除軟體,那可能會多裝或是少裝,又或是不知道裝了什麼沒有用的東西,所以這裡介紹,如何完善的管理好套件庫。

※套件安裝流程
# cd /usr/ports
# make update fetchindex //更新ports和抓取ports最新的檔案列表
# portsdb -u //更新ports資料庫
# pkgdb -Fu //更新已安裝套件資料庫
# make search name=xxxx |grep Path //找尋要安裝的套件
# cd /usr/ports/xxx/xxx
# make install clean //安裝且移除工作目錄
# pkgdb -Fu //重更新已安裝套件資料庫

※套件移除流程
# pkg_tree -tq //顯示所有top level的軟體
# pkg_deinstall -rRn xxxxx //先看看要移除那些套件
# pkg_deinstall -rR xxxxx //移除套件
# pkgdb -Fu //重更新已安裝套件資料庫

※套件升級流程
# cd /usr/ports
# make update fetchindex //更新ports和抓取ports最新的檔案列表
# portsdb -u //更新ports資料庫
# pkgdb -Fu //更新已安裝套件資料庫
# portupgrade -an //看看那些可以升級
# portupgrade -urRa
# pkgdb -Fu //重更新已安裝套件資料庫

※清理ports套件安裝時的暫存檔
# portsclean -CDL
# portsclean -DD
# cd /usr/ports/distfile
# rm -rf *

※套件查詢
# pkg_tree -tq //已安裝的套件top level
# pkg_tree -tv xxxxxx //某套件相依關系圖
# pkg_glob -r xxxxx //已安裝套件被誰相依
# pkg_glob -R xxxxx //已安裝套件相依那些套件
# ports_glob -r xxxxx //未安裝套件被誰相依
# ports_glob -R xxxxx //未安裝套件相依那此套件
# pkg_info -L xxxxx.1.2.3 //此套件相關檔案存放
# pkg_info xxxxx.1.2.3 //此套件的描述

※相關目錄
/var/db/ports //ports編譯套件時的設定檔
/var/db/pkg //系統全部安裝的套件設定檔