root@ykla:/home/ykla # pkg # 输入 pkg 回车
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y # 请在这里输入 y 或 直接回车
Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.21.3...
Extracting pkg-1.21.3: 100%
pkg: not enough arguments
Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>|-r <rootdir>] [-C <configuration file>] [-R <repo config dir>] [-o var=value] [-4|-6] <command> [<args>]
For more information on available commands and options see 'pkg help'.
技巧
如果长时间卡在 Bootstrapping pkg from ……, please wait...,请按 Ctrl + C 中断这一过程,换境内源后再进行。
# cd /usr/ports/ports-mgmt/pkg
# make deinstall reinstall
查看已经安装的所有软件
# pkg info
卸载软件
直接使用 pkg delete 会破坏正常的依赖关系,应该尽量避免使用(ports 的 make deinstall 也一样),转而使用 pkg_rmleaves 命令,该命令属于的软件需要自行安装。
# pkg install pkg_rmleaves
或者
# cd /usr/ports/ports-mgmt/pkg_rmleaves/
# make deinstall
如何卸载所有自行安装的第三方软件?
root@ykla:~ # pkg delete -fa # 如果带上参数 f,会把 pkg 自己也删掉,因为 pkg 也是用户一开始自行安装的软件。
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 87 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
alsa-lib: 1.2.12
brotli: 1.1.0,1
curl: 8.8.0
……省略一部分……
pcre2: 10.43
perl5: 5.36.3_1
pkg: 1.21.3 # 如果带上参数 f,就会把 pkg 自己也删掉,因为这个 pkg 也是用户一开始自行安装的软件。
png: 1.6.43
xorg-fonts-truetype: 7.7_1
xorgproto: 2024.1
zstd: 1.5.6
Number of packages to be removed: 87
The operation will free 825 MiB.
Proceed with deinstalling packages? [y/N]:
如何查找缺少的 .so(适用于 Linux 兼容层)
警告
本部分仅针对 Linux 兼容层缺少 .so 的问题。如果你是在 FreeBSD 中遇到了此类问题,应首先更新系统。然后再更新软件源和软件。
安装 pkg-provides
# pkg install pkg-provides
或者:
# cd /usr/ports/ports-mgmt/pkg-provides/
# make install clean
配置 pkg-provides
查看配置说明:
root@ykla:/home/ykla # pkg info -D pkg-provides
pkg-provides-0.7.4:
On install:
In order to use the pkg-provides plugin you need to enable plugins in pkg.
To do this, uncomment the following lines in /usr/local/etc/pkg.conf file
and add pkg-provides to the supported plugin list:
PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
PKG_ENABLE_PLUGINS = true;
PLUGINS [ provides ];
After that run `pkg plugins' to see the plugins handled by pkg.
On upgrade:
To update the provides database run `pkg provides -u`.
root@ykla:/home/ykla # pkg plugins
NAME DESC VERSION
provides A plugin for querying which package provides a particular file 0.7.4
root@ykla:/home/ykla #
Newer FreeBSD version for package pkg:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1402843
- running kernel: 1400042
Ignore the mismatch and continue? [y/N]:
这通常发生在失去安全支持的或者在 CURRENT/STABLE 版本的系统上,不影响使用,输入 y 即可。