FreeBSD 使用 pkg 作套件管理

FreeBSD 可以使用 pkg 和 ports 來安裝套件。其中 pkg 指令的功能和 RedHat/CentOS Linux 中的 yum 和 Debian/Ubuntu Linux 中的 apt 及 ArchLinux 中的 pacman 功能類似。
搜尋套件
# pkg search bash | grep ^bash
bash-4.3.42_1                  The GNU Project’s Bourne Again SHell
bash-completion-2.1_6,1        Programmable completion library for Bash
bash-static-4.3.42_1           The GNU Project’s Bourne Again SHell
bashc-3.2.33.0_1               GNU bash shell extended with visual two-panel file browser[@more@]
查詢套件資訊
# pkg info bash

安裝套件
# pkg install bash

查詢套件安裝的版本
# pkg version | grep bash
bash-4.3.42_1                      =

移除套件
# pkg delete bash

自動移除系統中用不到的套件
# pkg autoremove

更新系統中已安裝的套件
# pkg upgrade

更新套件庫
# pkg update

清除暫存區的舊套件
# pkg clean

查詢系統中安裝的套件
# pkg info
# pkg version

套件安裝的版本
# pkg version -v
bash-4.3.42_1                      =   up-to-date with port
gettext-runtime-0.19.7             >   succeeds port (port has 0.19.6)
gnuls-8.22                         =   up-to-date with port
indexinfo-0.2.4                    =   up-to-date with port
pkg-1.7.2                          >   succeeds port (port has 1.6.2)
vim-lite-7.4.1556                  >   succeeds port (port has 7.4.979)

查詢套件安裝的位置
# pkg info -l gnuls
gnuls-8.22:
        /usr/local/bin/dir
        /usr/local/bin/dircolors
        /usr/local/bin/gnuls
        /usr/local/bin/vdir
        /usr/local/man/man1/dir.1.gz
        /usr/local/man/man1/dircolors.1.gz
        /usr/local/man/man1/gnuls.1.gz
        /usr/local/man/man1/vdir.1.gz

查詢套件的相依性
# pkg info -d bash
bash-4.3.42_1:
        indexinfo-0.2.4
        gettext-runtime-0.19.7

檔案所屬套件
# pkg which /usr/local/bin/bash
/usr/local/bin/bash was installed by package bash-4.3.42_1

更多的 pkg 功能
# pkg help