Frage Deaktivieren Sie die Eingabeaufforderungen während der Installation eines Debian-Pakets


Wie kann ich die Eingabeaufforderungen, die während der Installation eines Debian-Pakets angezeigt werden, vollständig deaktivieren? Ich habe alle Optionen verwendet, die ich gefunden habe, aber es gibt einige Pakete, die immer noch auffordern.

Ich benutze diesen Befehl:

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

Warum fordert das x11-common-Paket immer noch auf? Wie kann ich diese Aufforderungen loswerden?

Danke im Voraus

--Sieger

Bearbeiten: nur um zu klären, die Aufforderungen sind nicht "Ja / Nein" Aufforderungen, sind offene Fragen in einem farbigen Bildschirm (typische zwei Farben Bildschirm), aber ich möchte die Standardoption dieser Fragen festlegen


20
2017-12-09 17:51


Ursprung




Antworten:


Wählen Sie ein neues Frontend, indem Sie Ihr env einstellen.

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

Ich benutze dies die ganze Zeit in der Automatisierung der Paketinstallation mit cfengine.


35
2017-12-29 19:40



+1 Das ist die richtige Antwort - lynxman
In einigen seltsamen Fällen, wenn Sie diese chroot nicht interaktiv verwenden können, können Sie verwenden DEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something" - mschuett


Wenn Sie x11-common nicht manuell installiert haben, bin ich nicht sicher, welche Fragen Sie gestellt werden. Aber wenn sie von Debconf kommen, dann sollten Sie in der Lage sein, die Fragen mit zu beantworten debconf-set-selections.


7
2017-12-09 18:01



Das ist die Lösung, danke. Ich habe die Eigenschaften mit debconf-get-selections bekommen und sie vorher mit der debconf-set-selections gesetzt und keine Prompts mehr angezeigt - victorgp
Auch bei getroffenen Auswahlen können einige Pakete je nach Priorität noch Fragen stellen. Aber ich empfehle, die Auswahl wo möglich zu setzen. Das Frontend auf einstellen noninteractive ist die Magie "frag mich nicht was egal was" Flagge. - bahamat


Du musst dpkg-reconfigure debconf und sagen Sie: "Ignoriere Fragen mit einer Priorität von weniger als: Kritisch".

Dies befreit Sie nicht von kritischen Fragen.


4
2017-12-09 18:02





So deaktivieren Sie die Eingabeaufforderungen global zum Neukonfigurieren aller Pakete mit debconf, kommentiere einfach die zweite Zeile aus /etc/apt/apt.conf.d/70debconf Datei.

Wenn Sie eine VM bereitstellen, fügen Sie diese Befehle Ihrem Bereitstellungsskript hinzu:

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

Sie können auch versuchen, wie Travis CI es tut:

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

Für einige andere Pakete, wie ttf-mscorefonts-installer (was abhängig ist von language-pack-en), scheint das oben genannte nicht zu funktionieren, also versuchen Sie es:

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

1
2017-08-30 00:08



--force-yes ist eine sehr beängstigende und nicht empfohlene Möglichkeit, Prompts zu durchdringen. Seien Sie nicht überrascht, wenn Sie irgendwann ein gebrochenes und möglicherweise unwiederbringliches System haben. - dragon788