我是 FreeBSD 新手,有 Linux 背景。我想以非交互式方式安装一个端口,更改默认配置选项之一(以便我可以编写安装脚本以自动配置我的 FreeBSD 服务器)。
作为一个具体示例,graphics/ImageMagick-nox11
端口具有默认配置选项PERL=on
。我想改变这一点。我意识到我可以make config
使用生成的条目来/var/db/ports/
避免将来的任何交互,但这仍然需要初始交互来设置 ncurses 界面中的选项。
理想情况下,我希望能够执行如下操作,在禁用 perl 支持但接受所有其他默认值的情况下构建包:
$ make PERL=off BATCH=yes install clean
实现这一目标的正确方法是什么?我可以以某种方式将这样的特定于端口的配置选项放入吗/etc/make.conf
?
答案1
我认为ports-管理/portconf会做你想做的事:
Portconf 是一个简单的框架,用于以通用方式设置端口选项。 portmaster、portupgrade、portmanager 和“make install”都支持设置为特定端口的旋钮。
查看更多信息pkg消息。
答案2
您可以将以下内容添加到您的/etc/make.conf
:
.if ${.CURDIR:M*/graphics/ImageMagick-nox11}
WITHOUT="PERL"
.endif
这会检查当前目录是否是该graphics/ImageMagick-nox11
目录,然后WITHOUT="PERL"
仅在构建此端口时进行设置。