Come posso evitare i prompt quando installo una porta FreeBSD?


26

Quando installo una porta, mi viene spesso presentata una schermata di menu per selezionare le opzioni di configurazione. Se ho intenzione di installare un pacchetto davvero grande con molte dipendenze, sarà estremamente scomodo. Esiste un flag di creazione per accettare le risposte predefinite per tutti questi prompt?

Risposte:


20

Probabilmente BATCH, descritto nelle porte (7) , è quello che stai cercando:

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

make rmconfigrimuove la OPTIONSconfigurazione per questa porta e puoi usarla per rimuovere quelle OPTIONSprecedentemente salvate quando hai configurato e installato screen(1)la prima volta. OPTIONSsono memorizzati nella directory specificata tramite PORT_DB_DIR(impostazione predefinita a /var/db/ports).

Se usi bash, BATCHpuò essere impostato automaticamente ogni volta che accedi:

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

12
Preferisco make config-recursive && make install clean, poiché ti dà tutte le finestre di dialogo di configurazione in anticipo mentre l'installazione effettiva probabilmente funzionerà incustodita.
user569825

Inoltre, per abbreviare il carico di lavoro richiesto per la configurazione, è spesso una buona idea esaminare esclusivamente le opzioni attive per impostazione predefinita e considerare solo la disattivazione di una di queste.
user569825

7
Inoltre, esegui make config-recursivepiù volte fino a quando non smetti di ottenere nuove opzioni (ovvero almeno due volte). Ogni volta che modifichi un'opzione, può portare a un'altra dipendenza che ha ancora più opzioni.
Alex Hirzel,

exportfunzionerà solo su quella shche non è la shell predefinita di FreeBSD
ajeh

21

Penso che valga la pena ricordare che potresti non voler sempre farlo. Mi sembra di ricordare, ad esempio, la necessità di configurare emacs per aggiungere il supporto xft. Se si desidera ignorare le istruzioni per un singolo build,

make install clean BATCH=yes

funzionerà pure.


in qualche modo funziona meglio che mettere "BATCH = yes" in primo piano. Grazie.
Hari

Vale la pena notare che make install clean BATCH=ha lo stesso effetto, come secondo il manuale per ports(7), deve solo essere definito. Può essere impostato su qualsiasi cosa o niente
Harold Fischer,

15

Questo non accetta automaticamente le impostazioni predefinite come stai chiedendo, ma mi piace il metodo "make config-recursive" che ti guida attraverso tutte le opzioni per la porta che desideri e le opzioni per tutte le dipendenze. Non è necessario modificare nulla se non si desidera, ma si passa attraverso tutte le schermate di selezione contemporaneamente anziché ogni volta che arriva il processo di costruzione.

Una volta fatto, il tuo "rendere l'installazione pulita" dovrebbe rimanere praticamente incustodito.


3
Come ho detto sul post di @ Yasir, assicurati di eseguirlo più volte. Se modifichi un'opzione che porta in un'altra dipendenza, se quella dipendenza ha opzioni da configurare, non la toccherai fino alla prossima esecuzione di make config-recursive.
Alex Hirzel,

Personalmente penso che questa dovrebbe essere la risposta accettata.
revprez,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.