本文根据根据中文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

FreeBSD软件安装 命令pkg相关推荐

  1. Mac 下的软件安装 —— 从 pkg,dmg 到 brew,cask

    本文转载自坚持编程_lyz 文章原链接https://www.jianshu.com/p/61f209cd0e91 且该作者转载自原作者Elsewhere**(但此链接已无法访问) http://co ...

  2. ubuntu必备软件安装命令

    Ubuntu必备软件安装命令 (Update to 2016/05/18) 更新Ubuntu各部件到最新版本 Ubuntu必备软件安装命令 更新Ubuntu各部件到最新版本 一些必备的Ubuntu部件 ...

  3. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu 16.04 一系列软件安装命令,包括QQ.搜狗.Chrome.vlc.网易云音乐安装方法 2016年07月20日 ...

  4. 完整的FreeBSD软件安装方法

    安装 了 FreeBSD 后,您一定还会需要 安装 其它非 FreeBSD 内附的软件.在 FreeBSD 上 安装 软件有许多种 方法 ,我们将一一为各位介绍. 本章包含了下列软件 安装 必备的课题 ...

  5. FreeBSD软件安装(转)

    1.FreeBSD应用软件管理的基本原理: 1.FreeBSD应用系统的组成 FreeBSD应用系统由FreeBSD操作系统和移植(ports)到FreeBSD的各种应用软件组成 FreeBSD操作系 ...

  6. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法(转载)...

    转自博客:https://blog.csdn.net/fuchaosz/article/details/51882935 1 简介 Ubuntu 16.04安装完后,还需要做一些配置才能愉快的使用,包 ...

  7. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法...

    转载地址: http://blog.csdn.net/fuchaosz/article/details/51882935 [+] 1 简介 Ubuntu 16.04安装完后,还需要做一些配置才能愉快的 ...

  8. restormer的go软件安装命令

    curl -O https://storage.googleapis.com/golang/go1.11.1.linux-amd64.tar.gz 注意上面的链接时linux的安装包,我们需要下载wi ...

  9. Ubuntu 16.04 常用软件安装命令

    1 简介 Ubuntu 16.04安装完后,还需要做一些配置才能愉快的使用,包括添加软件源.安装搜狗输入法.Chrome浏览器.网易云音乐.配置快捷键.安装git等等,下面就跟着我来配置吧,just ...

最新文章

  1. linux服务器的日志管理
  2. 用神经网络分类无理数和超越数2**0.5,3**0.5,e
  3. linux qt串口无法显示,Linux QT串口通信遇到的问题
  4. 【基础】防火墙接口类型全介绍
  5. 对象检测目标小用什么模型好_[目标检测] YOLO4论文中文版
  6. 无闪烁刷新页面 php,AJAX_Ajax实现无闪烁定时刷新页面实例代码,在Web开发中我们经常需要实现 - phpStudy...
  7. Android getResources的作用和需要注意点
  8. Succinctly 中文系列教程 20220109 更新
  9. 应急响应系统日志及日志分析四
  10. CC2530 IIC 4线驱动中景0.96寸OLED屏显示程序,从c51移植过来的
  11. Root Mi note lte with SuperSU without flashing TWRP Recovery permanently (by quqi99)
  12. ELK——Kibana 安装使用性能监控工具 APM
  13. 用电脑开热点启用电脑无线配置
  14. darknet 框架 安装编译
  15. 光电池和光电二极管的区别
  16. 小程序云开发学习笔记(二)
  17. Snipaste - 截图贴图软件
  18. 平稳/非平稳信号举例
  19. 100美元哪里去了?
  20. [Java]使用ArrayList类来把54张扑克牌发给3位玩家各17张,剩下3张是底牌

热门文章

  1. 10个企业网络安全建议,解决的网络安全问题
  2. 解决问题:The field file exceeds its maximum permitted size of 1048576 bytes
  3. 无忧启动源码 仿音速启动
  4. 大熊代码jsddkjah大全
  5. JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参考下载_JDK1.6下载_JDK6下载
  6. 洞泾镇科大智能机器人_【企业风采】G60科创走廊的标志性项目洞泾镇商会副会长企业科大智能总部园区,预计明年初全部落成...
  7. 培训c语言程序,编程人员培训手册C语言程序设计基础.PPT
  8. 《新神榜:杨戬》这样的爆款影视动漫作品,原来都掌握了一个成功密码
  9. 如影智能唐沐:别把智能家居做成极客玩具
  10. 热像仪和夜视仪的区别