您的位置:首页 > 其它

FreeBSD软件安装 命令pkg

2018-02-26 10:31 309 查看
本文根据根据中文FreeBSD系统:YIDA_OS pkg在线手册整理.允许转载,
转载时请务必以超链接形式标明文章原始出处,作者信息和本声明.否则将追究法律责任. http://www.yida.site/forum/pkg 为FreeBSD新一代二进制软件包管理工具,始于FreeBSD9.1版,用于取代旧版工具,提供更多功能让管理使用二进制软件包更快更简单。如果要从源代码编译安装软件包,可以使用port系统。开始使用pkg
新安装的系统内只有pkg启动工具,并没有pkg完整的管理工具和手册(YIDA系统在安装时
可以选择安装中文手册,其内包含pkg中文手册)。需要执行下面命令来安装最新版pkg
软件包管理套件:
/usr/sbin/pkg或者使用Port系统编译安装:
cd /usr/ports/ports-mgmt/pkg
make
make install clean
FreeBSD 版本 10.X 之前需要在 /etc/make.conf 加入此行:
WITH_PKGNG= yes如果系统原来安装有旧版pkg_*工具,安装完新版pkg工具后,需要执行下面命令来更新数
据库格式:
pkg2ngpkg 工具支持以下参数:
-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 来获取存储库和包。命令
pkg 支持以下命令:
help <命令>
打印指定命令的详细用法。add
从本地或者远程安装安装包。当需要从远程安装安装包时需要[手工]指定下载协议。当前支持的协议有 FTP, HTTP 和 HTTPS。annotate
在安装包中添加,修改或删除 tag-value 风格的注释。audit 对已知存有漏洞的安装包进行安全审计。autoremove
删除被依赖环境自动安装且不再被需要的安装包。backup
在命令行下备份安装包数据库到指定文件。bootstrap
这是为了与pkg(7)启动器兼容。如果pkg
已经安装好了,什么都不做。
如果使用-f标志调用,将尝试重新安装pkg
从远程仓库。check
检查被安装的安装包的健康状态。clean
清除从远程抓取安装包的本地缓存。convert
转换到旧的 pkg_add(1) 格式。create
创建一个安装包。delete
从系统和注册数据库中卸载一个安装包。fetch
从远程抓取安装包到本地。info
打印已被安装的安装包信息。install
从远程目录下载安装一个安装包。如果安装包在多个远程目录中同时存在,
那么安装过程将从第一个被发现的远程目录开始。但是下载会从多个远程目
录中尝试,直到安装包被成功下载。lock
防止从系统中修改和删除一个安装包。plugins
列出可用插件。query
查询被安装安装包的信息。register
注册安装包到安装包数据库。repo
创建一个安装包的本地目录以供远程使用。rquery
在远程安装包存储目录中查询所需信息。search
在远程安装包存储目录中查询所需数据包的所有有效类型。set
在注册数据库中修改安装包信息。shell
为本地或远程唤起一个注册数据库的 sqlite shell。在极端环境下可能会用到
此命令。shlib
显示哪些包链接到一个指定的共享库。stats
显示安装包的注册数据库中所有可统计数据。unlock
为加锁数据包解锁,允许他们被修改和删除。update
更新有效远程存储目录以列表形式写入到 pkg.conf(5) 中。updating
显示所有被安装数据包的可更新数目。upgrade
更新安装包到最新版本。
version
简要显示被安装安装包的版本信息。which
查询数据库,以找出一个特定文件由哪个安装包所装。示例
查询一个安装包:
$ pkg search perl
安装一个安装包:
安装过程必须指定一个特定源或者版本号,否则系统会尝试安装所有与之匹配
的安装包。% 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确定文件安装至那个安装包:
$ pkg which /usr/local/bin/perl审计安装包的安全警告:
$ pkg audit检查是否存在被安装的安装包校验和不匹配的情况:
# pkg check -s -a检查缺失依赖关系的情况:
# pkg check -d -a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息