Comment puis-je éviter les invites lors de l'installation d'un port FreeBSD?

26

Lorsque j'installe un port, on me présente souvent un écran de menu pour sélectionner les options de configuration. Si je vais installer un très gros paquet avec beaucoup de dépendances, ce sera extrêmement gênant. Existe-t-il un indicateur de création pour accepter les réponses par défaut pour toutes ces invites?

JCCyC
la source

Réponses:

20

Probablement BATCH, décrit dans les ports (7) , est ce que vous recherchez:

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

make rmconfigsupprime la OPTIONSconfiguration de ce port et vous pouvez l'utiliser pour supprimer ceux OPTIONSqui ont été précédemment enregistrés lorsque vous avez configuré et installé screen(1)la première fois. OPTIONSsont stockés dans un répertoire spécifié via PORT_DB_DIR( par défaut /var/db/ports).

Si vous utilisez bash, il BATCHpeut être défini automatiquement à chaque connexion:

# echo 'export BATCH=yes' >> ~/.bash_profile
Yasir Arsanukaev
la source
12
Je préfère make config-recursive && make install clean, car cela vous donne toutes les boîtes de dialogue de configuration à l'avance tandis que l'installation réelle fonctionnera probablement sans surveillance.
user569825
De plus, pour raccourcir votre charge de travail requise pour la configuration, il est souvent raisonnable de regarder exclusivement les options actives par défaut et d'envisager de désactiver l'une d'entre elles.
user569825
7
Veuillez également exécuter make config-recursiveplusieurs fois jusqu'à ce que vous ne receviez plus de nouvelles options (c'est-à-dire au moins deux fois). Chaque fois que vous modifiez une option, cela peut entraîner une autre dépendance qui a encore plus d'options.
Alex Hirzel
exportne fonctionnera que sur shce qui n'est pas le shell par défaut de FreeBSD
ajeh
21

Je pense qu'il vaut la peine de mentionner que vous pourriez ne pas toujours vouloir faire cela. Je me souviens, par exemple, d'avoir besoin de configurer emacs pour ajouter le support xft. Si vous souhaitez contourner les invites pour une seule version,

make install clean BATCH=yes

fonctionnera également.

hydo
la source
fonctionne mieux que de mettre "BATCH = yes" devant le make. Merci.
hari
Il convient de noter que cela make install clean BATCH=a le même effet, car selon le manuel pour ports(7), il doit seulement être défini. Il peut être réglé sur n'importe quoi ou rien du tout
Harold Fischer
15

Cela n'accepte pas automatiquement les valeurs par défaut comme vous le demandez, mais j'aime la méthode "make config-recursive" qui vous fait parcourir toutes les options pour le port que vous voulez ainsi que les options pour toutes les dépendances. Vous n'avez rien à changer si vous ne le souhaitez pas, mais vous passez par tous les écrans de sélection en même temps plutôt que chaque fois que le processus de construction leur arrive.

Une fois cela fait, votre "make install clean" devrait rester à peu près sans surveillance.

Admin FreeeBSD
la source
3
Comme je l'ai dit sur le post de @ Yasir - assurez-vous de l'exécuter plusieurs fois. Si vous changez une option qui apporte une autre dépendance, si cette dépendance a des options à configurer, vous ne la toucherez pas avant la prochaine exécution de make config-recursive.
Alex Hirzel
Je pense personnellement que cela devrait être la réponse acceptée.
revprez