
在本教程中,我们将通过Ports软件集合库中的PKG软件包管理工具来解释怎么在FreeBSD中管理预编译的二进制包应用程序。
Ports存储库提供了从源代码编译应用程序及其依赖关系所需的工具,同时还维护了一个庞大的预编译包集,目前有24000个包,可以通过pkg命令安装在FreeBSD系统上。
FreeBSD 11.x安装
1.端口仓库在FreeBSD中分类,每个类别由/ usr / ports / file功能路径中的目录认为。
目录/ usr / ports /的简单页面将表明一切需用的类别,如上面的萤幕截图所示。
# ls /usr/ports/

列出端口存储库类别
2.要察看属于类别的一切可用应用程序,请针对类别目录发出 。
假设要表明类别提供的所有可用插件包,请在控制台中执行以上指令。 通过较少的军令管道结果通过输出更容易导航。
# ls /usr/ports/databases/ | less

列出类别
3.为了察看类别中有什么包,请罗列类别目录,并通过wc命令管道输出结果,如下例所示。
# ls /usr/ports/databases/ | wc -l

列出类别中的可用包
如上图所示,FreeBSD类别涵盖1000多个预编译包。
4.为了察看特定应用程序是否可用来类别,请重新使用ls指令并通过grep实用程序过滤结果,以便搜索自定义应用程序。
在上面的例证中将搜索mongodb可用包和虾球防病毒安全包。
# ls /usr/ports/databases/ | grep mongodb # ls /usr/ports/security/ | grep clam


列出MongoDB软件包
您可以见到,FreeBSD Ports中可以使用多个版本的应用程序。

列出蛤蜊防病毒软件包
5.如果您不知道软件属于哪个类别,您可以使用这些原理来查找插件类别。 使用shell globcing通配符*字符通过整个Ports目录树搜索模式。
假设您能够见到哪个类别可以找出mailx实用程序的插件包,可以运行以上指令。
# ls /usr/ports/*/*mailx

查找插件类别
用于搜索软件包和插件包所属类别的另一种方法是使用针对字符串模式的locate命令 。
在执行搜索字符串之前,您也是使用以上指令更新locate。
# /usr/libexec/locate.updatedb

更新查找
7.更新定位后,使用包名称中的关键字模式搜索特定的插件包。 例如,如果要搜索mailx实用程序freebsd 下载命令,可以运行以上指令。
# locate mailx

搜索软件包
如您所见, Mailx实用程序有两个可用的插件包 ,位于/ usr / ports / mail / category中。
8.类似于使用locate命令查找包,还可以使用whereis命令来察看应用程序类别。
# whereis mailx


查看插件类别
9.在FreeBSD中搜索和查找应用程序最简单的原理是通过PKG包管理命令行。 为了搜索应用程序的二进制包,例如postfix软件,请发出以下指示。
# pkg search package_name

搜索和查找包
10.如果要察看该插件包属于哪个类别,请使用-o标志运行与上述相似的军令,如上面的图例所示。
# pkg search -o package_name

搜索包装类别
11.为了从FreeBSD的Ports仓库安装一个预编译的包,请根据上面的图例所示发出pkg命令。
# pkg install package_name

在FreeBSD中安装软件包
要查询有关系统中特殊安装包的资料,请执行以上指令。
# pkg info package_name

查询安装的插件包资料
13.如果软件包尚未安装在功能中freebsd 下载命令, pkg info命令电源将表明“ 没有与package_name匹配的插件包 ”消息,如下图所示。
# pkg info tcpdump

查找包资料
14.为了在FreeBSD中罗列所有安装的插件包,请执行pkg info命令,无需任何选项或电源。

对于pkg info命令的grep过滤器可以表明系统中能否已经存在那些特殊插件包或应用程序,如下例所示。
# pkg info | grep ftp

列出FreeBSD中的所有安装的插件包
15.为了从功能中删除包,请发出以下指示。
# pkg remove package_name or # pkg delete package_name

在FreeBSD中删除软件包
16.如果要避免拆卸或改动已安装的插件包,可以使用pkg命令的锁定开关,如下图所示。
# pkg lock package_name

从FreeBSD中删除软件包
解锁 pkg命令电源将禁止您删除程序包限制并修改或卸载流程包。
# pkg unlock package_name
17.为了找到指令或可执行文档所属的安装包,请执行以上指令,如上面的截图样例所示。
# pkg which /path/to/executable

查找指令或文档包名称
18.为了从Ports存储库本地下载插件包,而不在系统上安装软件包,请使用fetch开关运行pkg命令 。
下载的插件包二进制文件是压缩的.txz文件,可以在/ var / cache / pkg / system路径中找出。
# pkg fetch package_name # ls /var/cache/pkg/ | grep package_name


下载插件包不安装
19.要检查安装的插件包是否暴露在少见的漏洞或错误中,请执行以上指令。
# pkg audit -F
要察看在晚期版本中影响硬件包的旧漏洞列表,请执行以上指令。
# pkg audit package_name
以下是在FreeBSD编译的Nginx Web服务器中发现的一切已知漏洞的引用。
# pkg audit nginx
查找插件的漏洞
nginx is vulnerable: Affected versions: <= 0.8.41 : > 1.4.4,1 nginx -- Request line parsing vulnerability CVE: CVE-2013-4547 WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html nginx is vulnerable: Affected versions: < 1.0.15 nginx -- Buffer overflow in the ngx_http_mp4_module CVE: CVE-2012-2089 WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html nginx is vulnerable: Affected versions: < 1.4.7 nginx -- SPDY heap buffer overflow CVE: CVE-2014-0133 WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html ...
20.要保证硬件存贮库和一切已安装的插件包还有最新版本或安全修补程序,请执行以上指令。
# pkg update # pkg upgrade

更新FreeBSD中的软件包
21.要表明远程储存库和本地软件包统计资料(例如模块中安装了什么插件包还有安装的插件所填满的磁盘空间),请执行以上指令。
# pkg stats

列出安装的插件包摘要
要删除功能中安装的插件包遗留的一切依赖关系,请执行以上指令。
# pkg autoremove

删除依赖关系包
23.为了自动消灭用于近程下载的插件包的插件包管理本地缓存目录,请运行以上指令。 您也是首先验证本地下载的二进制包的表单。
# pkg clean -a -n # pkg clean -a -y

删除PKG本地缓存
就这样! 您可以见到, FreeBSD有一个令人印象深刻的包收集功能,类似于Linux发行版中使用的包管理工具,如Yum , RPM和APT ,大量的预编译软件二进制文件和简单有效的命令行pkg,可以以体面的手段来管理插件。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-119562-1.html
千玺加油
哈哈哈哈哈哈哈
期待杨洋未来更多的作品