检查FreeBSD上是否安装了端口

时间:2016-05-30 16:13:49

标签: freebsd

如何检查FreeBSD上是否已安装端口?

这将在shell脚本中用于配置。即如果已经安装了端口,则跳过安装,否则调用make命令

2 个答案:

答案 0 :(得分:2)

在FreeBSD 10+下,您可以使用“pkg”。好的参考是:https://wiki.freebsd.org/PkgPrimer

如果您的端口已安装,则会产生:

$ ./bin/splitbetween
buf: 'Text I want'
buf: 'More Text I want'

否则:

# pkg info apache-jmeter
apache-jmeter-3.0.r2
Name           : apache-jmeter
Version        : 3.0.r2
Installed on   : Thu May  5 18:58:45 2016 MSK
Origin         : www/jmeter
Architecture   : freebsd:10:x86:64
...

答案 1 :(得分:0)

  

绝对不要在通过以下方式安装的软件上使用“ pkg delete” /“ pkg remove”   端口,而是从端口树内部“进行卸载”。做“ pkg install”   将预编译的软件包下载到您的系统并进行安装。   *执行“ pkg info”将不会告诉您是否从端口安装了它。

恐怕引用的语句不正确。

“端口”只是一个尚未编译和安装的“包”。 实际上,已安装的端口是软件包,无论是通过pkg(8)预编译并安装下载的,还是从ports树中本地编译然后安装的端口,都可以像其他任何软件包一样对待。一旦“安装”了软件,术语“端口”和“包”就是同义词。

pkg delete/remove <portname>可以并且应该被使用,并且可能更可取,因为它会提示也卸载不再需要的依赖项。 特定端口目录中的make deinstall仅会卸载该端口,而不会卸载其他任何端口。

pkg info pkg info <portname>是正确的答案。