安装 FreeBSD 端口时如何避免提示?

JCC*_*CyC 30 freebsd bsd-ports

当我安装一个端口时,我经常会看到一个菜单屏幕来选择配置选项。如果我要安装一个有很多依赖项的非常大的包,那将非常不方便。是否有用于接受所有此类提示的默认答案的 make 标志?

小智 25

我认为值得一提的是,您可能并不总是想要这样做。例如,我似乎记得需要配置 emacs 以添加 xft 支持。如果您想绕过单个构建的提示,

make install clean BATCH=yes
Run Code Online (Sandbox Code Playgroud)

也会起作用。


小智 23

可能BATCH,在ports(7) 中描述的,是你正在寻找的:

# cd /usr/ports/sysutils/screen
# export BATCH=yes
# make rmconfig
# make install clean
(no configuration menu is displayed)
Run Code Online (Sandbox Code Playgroud)

make rmconfig删除OPTIONS此端口的配置,您可以使用它来删除OPTIONS以前在您screen(1)第一次配置和安装时保存的配置。OPTIONS存储到通过指定的目录PORT_DB_DIR(默认为/var/db/ports)。

如果使用bash,BATCH可以在每次登录时自动设置:

# echo 'export BATCH=yes' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢`make config-recursive && make install clean`,因为它预先为您提供所有配置对话框,而实际安装可能会在无人看管的情况下工作。 (14认同)
  • 另外请多次运行`make config-recursive`,直到你停止获得新的选项(即至少两次)。任何时候你改变一个选项,它都可能带来另一个具有更多选项的依赖。 (7认同)

小智 19

这不会像您要求的那样自动接受默认值,但我喜欢“make config-recursive”方法,它可以让您浏览所需端口的任何选项以及所有依赖项的选项。如果您不想,您不必更改任何内容,但是您可以一次浏览所有选择屏幕,而不是在构建过程到达它们时。

完成后,您的“make install clean”应该几乎无人看管。

  • 正如我在@Yasir 的帖子中所说的那样-确保多次运行。如果您更改了一个引入另一个依赖项的选项,如果该依赖项具有要配置的选项,则在下一次运行 `make config-recursive` 之前您不会触及它。 (4认同)