检查FreeBSD上是否安装了端口

问题描述 投票:1回答:2

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

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

freebsd
2个回答
2
投票

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

如果您的端口已安装,则会导致:

# 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
...

除此以外:

# pkg info jmeter
pkg: No package(s) matching jmeter

0
投票

您永远不应该在通过端口安装的软件上使用“pkg delete”/“pkg remove”,而是在ports树内部使用“make deinstall”。执行“pkg install”会将预编译的软件包下载到您的系统并进行安装。执行“pkg info”*不会告诉您它是否是从端口安装的。

我担心引用的陈述是不正确的。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.