¿Cómo puedo evitar los avisos al instalar un puerto FreeBSD?


26

Cuando instalo un puerto, a menudo se me presenta una pantalla de menú para seleccionar las opciones de configuración. Si voy a instalar un paquete realmente grande con muchas dependencias, será extremadamente inconveniente. ¿Hay una marca de confirmación para aceptar las respuestas predeterminadas para todas esas preguntas?

Respuestas:


20

Probablemente BATCH, descrito en los puertos (7) , es lo que está buscando:

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

make rmconfigelimina la OPTIONSconfiguración para este puerto, y puede usarla para eliminar las OPTIONSque se guardaron previamente cuando configuró e instaló screen(1)la primera vez. OPTIONSse almacenan en el directorio que se especifica a través de PORT_DB_DIR(por defecto /var/db/ports).

Si usa bash, BATCHse puede configurar automáticamente cada vez que inicie sesión:

# echo 'export BATCH=yes' >> ~/.bash_profile

12
Prefiero make config-recursive && make install clean, ya que le proporciona todos los diálogos de configuración por adelantado, mientras que la instalación real probablemente funcionará desatendida.
user569825

Además, para acortar la carga de trabajo requerida para la configuración, a menudo es una idea razonable mirar exclusivamente las opciones que están activas por defecto y solo considerar desactivar cualquiera de ellas.
user569825

77
Además, ejecute make config-recursivevarias veces hasta que deje de obtener nuevas opciones (es decir, al menos dos veces). Cada vez que cambie una opción, puede generar otra dependencia que tenga aún más opciones.
Alex Hirzel

exportsolo funcionará en el shque no sea el shell predeterminado de FreeBSD
ajeh

21

Creo que vale la pena mencionar que es posible que no siempre quieras hacer esto. Parece recordar, por ejemplo, la necesidad de configurar emacs para agregar soporte xft. Si desea omitir las indicaciones para una sola compilación,

make install clean BATCH=yes

funcionará tan bien


de alguna manera funciona mejor que poner "BATCH = yes" al frente de make. Gracias.
hari

Vale la pena señalar que make install clean BATCH=tiene el mismo efecto, ya que de acuerdo con el manual ports(7), solo debe definirse. Se puede configurar para cualquier cosa o nada
Harold Fischer

15

Esto no acepta automáticamente los valores predeterminados como lo está preguntando, pero me gusta el método "make config-recursive" que lo ejecuta a través de las opciones para el puerto que desea, así como las opciones para todas las dependencias. No tiene que cambiar nada si no lo desea, pero pasa por todas las pantallas de selección a la vez, en lugar de hacerlo cada vez que llega el proceso de construcción.

Una vez hecho esto, su "make install clean" debería quedar prácticamente desatendido.


3
Como dije en la publicación de @ Yasir, asegúrese de ejecutar esto varias veces. Si cambia una opción que trae otra dependencia, si esa dependencia tiene opciones para configurar, no la tocará hasta la próxima ejecución de make config-recursive.
Alex Hirzel

Personalmente, creo que esta debería ser la respuesta aceptada.
revprez
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.