Disabilita i prompt durante l'installazione di un pacchetto Debian


22

Come posso disabilitare totalmente i prompt che appaiono durante l'installazione di un pacchetto Debian, ho usato tutte le opzioni che ho trovato ma ci sono alcuni pacchetti che continuano a richiedere.

Sto usando questo comando:

apt-get -y --allow-unauthenticated --force-yes -o DPkg::Options::="--force-overwrite" -o DPkg::Options::="--force-confdef" install x11-common

Perché il pacchetto x11-common richiede ancora? come posso liberarmi di questi suggerimenti?

Grazie in anticipo

--Vincitore

Modifica: solo per chiarire, i prompt non sono prompt "sì / no", sono domande aperte in uno schermo colorato (tipico schermo a due colori) ma voglio impostare l'opzione predefinita di queste domande

Risposte:


38

Seleziona un nuovo front-end impostando il tuo env.

DEBIAN_FRONTEND=noninteractive apt-get -y install x11-common

Lo uso sempre per automatizzare l'installazione del pacchetto con cfengine.


+1 Questa è la risposta giusta
lynxman,

In alcuni casi strani come quando è necessario utilizzare questo chroot in modo non interattivo, è possibile utilizzareDEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something"
mschuett

8

Non avendo installato manualmente x11-common, non sono sicuro di quali domande ti vengano poste. Ma se provengono da debconf, allora dovresti essere in grado di rispondere anticipatamente alle domande debconf-set-selections.


Questa è la soluzione, grazie. Ho le proprietà con debconf-get-selections e le ho impostate in precedenza con debconf-set-selections e non sono più apparsi prompt
victorgp

Anche con le selezioni impostate alcuni pacchetti possono ancora porre domande a seconda della priorità. Ma raccomando di impostare le selezioni ove possibile. L'impostazione del frontend su noninteractiveè la bandiera magica "non chiedermi nulla".
bahamat,

4

È necessario dpkg-reconfigure debconfe dirlo a "Ignora le domande con una priorità inferiore a: Critico".

Questo non ti fa uscire dal rispondere alle domande critiche.


1

Per disabilitare i prompt a livello globale per la riconfigurazione di tutti i pacchetti debconf, basta commentare la seconda riga dal /etc/apt/apt.conf.d/70debconffile.

In alternativa, se esegui il provisioning della VM, aggiungi questi comandi allo script di provisioning:

sudo ex +"%s@DPkg@//DPkg" -cwq /etc/apt/apt.conf.d/70debconf
sudo dpkg-reconfigure debconf -f noninteractive -p critical

Puoi anche provare allo stesso modo di Travis CI:

sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install some_package

Per alcuni altri pacchetti, come ttf-mscorefonts-installer(che dipende da language-pack-en), quanto sopra sembra non funzionare, quindi prova:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install -y language-pack-en

1
--force-yesè un modo MOLTO spaventoso e sconsigliato di passare attraverso i prompt. Non essere sorpreso se un giorno finisci con un sistema rotto e forse irrecuperabile.
dragon788,
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.