FreeBSD软件安装命令pkg
pkg 为FreeBSD新⼀代⼆进制软件包管理⼯具,始于FreeBSD9.1版,⽤于取代旧版⼯具,提供更多功能让管理使⽤⼆进制软件包更快更简单。如果要从源代码编译安装软件包,可以使⽤port系统。
-v, –version
显⽰ pkg ⼯具的当前版本
-d, –debug
显⽰调试描述信息
-l, –list
对所有可⽤命令名称进⾏列表, 并且在退出时不⾏⾏任何其他操作。-v 选项
优先于 -l 选项,-l 选项会覆盖其他命令⾏参数。
-o <option=value>, –option <option=value>
从命令⾏设置pkg的配置选项。选项的设置是对环境中变量重新定义。它允许
多次指定这个选项。
-N 激活状态检查模式。如果 local.sqlite 数据库存在,将防⽌ pkg ⾃动创建
或者安装已经存在的 [/var/db/pkg/local.sqlite] sqlite 数据库
如果当前程序还没有安装,将会阻⽌ pkg 执⾏任何额外动作, 基本上说⼀个
正常初始化安装的系统总会在最后使⽤ pkg 成功⼯具注册安装包。
如果没有使⽤其他参数, pkg -N 将运⾏正常测试,如果成功打印出⼀个短消息
并列出当前安装了多少个安装包。退出状态应该会给出⼀个可靠的提⽰,提⽰
系统是否已经配置为使⽤ pkg 包管理的⽅式。
应⽤⽰例:
if pkg -N >/dev/null 2>&1; then
# pkgng-specifics
else
# pkg_install-specifics
fi
-N ⾸次发布在 FreeBSD 8.4 的 /usr/sbin/pkg 中,但是在 FreeBSD 9.1中
⼜取消了这个选项,直到 pkg 版本 1.0.13 以前⼀直没有再被引⼊。由于这
种原因,当调⽤ -N 选项的时候有可能会失败,⽽调⽤会从 pkg 返回⼀个错
误。以下脚本是⼀种让 pkg 安全且有效的⽅式:
if TMPDIR=/dev/null ASSUME_ALWAYS_YES=1 \
PACKAGESITE=file:///nonexistent \
pkg info -x ‘pkg(-devel)?$’ >/dev/null 2>&1; then
# pkgng-specifics
else
# pkg_install-specifics
fi
-j <jail 名称或 id>, -jail <jail 名称或 id>
pkg 将会运⾏在给定的 <jail 名称或 id> 中, 这⾥的“名称”必须匹配
“jls name” ⽽且 id 必须匹配 “jls jid”。请参考 jail(8) 和
jls(8)。
-c <chroot 路径>, –chroot <chroot 路径>
pkg 将会被 chroot 在 <chroot 路径> 环境中
-C <;配置⽂件>, –config <;配置⽂件>
pkg 将会使⽤指定⽂件作为配置⽂件
-R <;项⽬配置路径>, –repo-conf-dir <;项⽬配置路径>
pkg 将会搜索指定⽬录中的每个项⽬以作为合适的配置⽂件。这将覆盖主配置⽂件中指定的任何 REPOS_DIR 参数。
-4 pkg将使⽤ IPv4 来获取存储库和包。
-6 pkg将使⽤ IPv6 来获取存储库和包。
help <;命令>
打印指定命令的详细⽤法。
add
从本地或者远程安装安装包。
当需要从远程安装安装包时需要[⼿⼯]指定下载协议。
当前⽀持的协议有 FTP, HTTP 和 HTTPS。
annotate
在安装包中添加,修改或删除 tag-value 风格的注释。
audit 对已知存有漏洞的安装包进⾏安全审计。
autoremove
删除被依赖环境⾃动安装且不再被需要的安装包。
backup
在命令⾏下备份安装包数据库到指定⽂件。
bootstrap
这是为了与pkg(7)启动器兼容。如果pkg
已经安装好了,什么都不做。
如果使⽤-f标志调⽤,将尝试重新安装pkg
从远程仓库。
检查被安装的安装包的健康状态。
clean
清除从远程抓取安装包的本地缓存。
convert
转换到旧的 pkg_add(1) 格式。
create
创建⼀个安装包。
delete
从系统和注册数据库中卸载⼀个安装包。
fetch
从远程抓取安装包到本地。
info
打印已被安装的安装包信息。
install
从远程⽬录下载安装⼀个安装包。如果安装包在多个远程⽬录中同时存在,那么安装过程将从第⼀个被发现的远程⽬录开始。但是下载会从多个远程⽬录中尝试,直到安装包被成功下载。
lock
防⽌从系统中修改和删除⼀个安装包。
plugins
列出可⽤插件。
query
查询被安装安装包的信息。
register
注册安装包到安装包数据库。
repo
创建⼀个安装包的本地⽬录以供远程使⽤。
rquery
在远程安装包存储⽬录中查询所需信息。
search
在远程安装包存储⽬录中查询所需数据包的所有有效类型。
set
在注册数据库中修改安装包信息。
shell
为本地或远程唤起⼀个注册数据库的 sqlite shell。在极端环境下可能会⽤到此命令。
显⽰哪些包链接到⼀个指定的共享库。
stats
显⽰安装包的注册数据库中所有可统计数据。
unlock
为加锁数据包解锁,允许他们被修改和删除。
update
更新有效远程存储⽬录以列表形式写⼊到 f(5) 中。
updating
显⽰所有被安装数据包的可更新数⽬。
upgrade
更新安装包到最新版本。
version
简要显⽰被安装安装包的版本信息。
which
查询数据库,以出⼀个特定⽂件由哪个安装包所装。
安装⼀个安装包:
安装过程必须指定⼀个特定源或者版本号,否则系统会尝试安装所有与之匹配的安装包。
% pkg install perl-5.14
列出已安装的安装包:
$ pkg info
从远程仓库升级软件:
% pkg upgrade
为已安装安装包更换源[升级]:
% pkg set -o lang/perl5.12:lang/perl5.14
% pkg install -Rf lang/perl5.14
列出⾮⾃动安装的安装包:
$ pkg query -e ‘%a = 0’ %o
列出⾃动安装的安装包列表:
$ pkg query -e ‘%a = 1’ %o
删除⼀个已安装的安装包:
% pkg delete perl-5.14
移除不必要的依赖关系:
% pkg autoremove
把⼀个安装包从⾃动安装状态变更为⾮⾃动安装状态,这将有效阻⽌被⾃动移除:% pkg set -A 0 perl-5.14
把⼀个安装包从⾮⾃动安装状态变更为⾃动安装状态,这样⼀旦不存在依赖关系将被允许被⾃动移除:
% pkg set -A 1 perl-5.14
从⼀个被安装的安装包创建⼀个安装包:
% pkg create -o /usr/ports/packages/All perl-5.14
perl下载安装教程确定⽂件安装⾄那个安装包:
$ pkg which /usr/local/bin/perl
审计安装包的安全警告:
$ pkg audit
检查是否存在被安装的安装包校验和不匹配的情况:
# pkg check -s -a
检查缺失依赖关系的情况:
# pkg check -d -a
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论