我想在FreeBSD环境中自动安装端口。通常我采用默认设置,但对于某些端口我想 - 自动 - 选择所有选项。
是否可以执行类似
的操作/usr/ports/.../> make config
/usr/ports/.../> ** select all options **
/usr/ports/.../> make clean install BATCH=yes
在脚本中?
答案 0 :(得分:2)
没有自动的方法可以做到这一点。配置系统的重点是让操作员选择要选择的选项。
由于ports系统现在还支持多项选择,因此您无法始终选择所有选项。来自/usr/ports/Mk/bsd.options.mk
:
# OPTIONS_SINGLE - List of single-choice grouped options: 1 and
# only 1 among N
# OPTIONS_RADIO - List of radio-choice grouped options: 0 or 1
# among N
# OPTIONS_MULTI - List of multiple-choice grouped options: at
# least 1 among N
# OPTIONS_GROUP - List of group-choice grouped options: 0 or
# more among N
但是,设置的选项在端口更新更改名称或选项数之前一直有效。因此,一般情况下,您无法为每次构建重新运行make config
。
您可以尝试的一件事是在调用/var/db/*/options
之前自己>生成必要的_OPTIONS_READ
文件(make install clean
中的最新端口版本)。
这取决于正确解析端口的Makefile。您要在OPTIONS_SINGLE中选择哪个选项?
注意:您可以在调用BATCH
时定义make
以构建端口。这应该跳过那些需要交互的端口。但如果我正确地阅读/usr/ports/Mk/bsd.port.mk
,它将使用默认设置构建端口。