如何检查FreeBSD上是否已安装端口?
这将在shell脚本中用于配置。即如果已经安装了端口,则跳过安装,否则调用make
命令
答案 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>
是正确的答案。