Ubuntu dpkg, nicht interaktive Installation

9

Ich versuche, eine Reihe von .deb-Dateien zu installieren, ohne mit ihnen interagieren zu müssen. MySQL Server fordert beispielsweise ein interaktives Menü zur Eingabe eines Administratorkennworts bei der Konfiguration des dpkg auf.

Ich habe versucht.

export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && sudo /usr/bin/dpkg -i ./files/*

Mir ist bewusst, dass ich die Dateien einfach ohne Konfiguration extrahieren kann. Ich versuche, ein Bash-Skript zu erstellen, um einen Server bereitzustellen, der für die Standardinstallation von Apache, PHP, MySQL usw. vorkonfiguriert ist. Diese "interaktive Installation" verursacht jedoch Probleme.

Irgendwelche Ideen, wie man es deaktiviert? oder eine Abhilfe?

Vielen Dank

James Moore
quelle
Was tun Sie mit dem Root-Passwort des MySQL-Servers, ohne die Frage zu beantworten?
DerfK
Verwenden Sie mysqladmin, um den Server zu konfigurieren.
James Moore

Antworten:

6

Du bist auf dem richtigen Weg. Sie möchten auf jeden Fall verwenden DEBIAN_FRONTEND=noninteractive. Bei kritischen Fragen, die nicht ignoriert werden können, sollten Sie der debconfDatenbank die erforderlichen Antworten vorlegen. Auf der debconfManpage finden Sie alle Details dazu.

Steven Montag
quelle
1
benötigt, um "su -" und "export" als root zu verwenden.
James Moore
sudo DEBIAN_FRONTEND = nicht interaktive apt install -y package_you_want
aGuegu
4

Für ein allgemeines nicht interaktives Frontend können Sie Folgendes versuchen:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Zum Konfigurieren von MySQL-Anmeldeinformationen können Sie eine Serverkonfigurationsdatei (z. B. ~/.my.cnf) verwenden, z.

[client]
user=root
password=root

Verwenden Sie zum Auswählen bestimmter Auswahlmöglichkeiten debconf-set-selectionsz. B.:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
Kenorb
quelle
0

Das sollte funktionieren:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Ich musste schwarze Linien zwischen die Linien darüber setzen oder es wurde als eine lange Linie formatiert. In jedem Fall können Sie den Befehl "script" verwenden, um Ihre Eingabe während komplexer Installationen zu speichern und die Ausgabe dann in ein Skript zu ändern, um sie für nachfolgende Installationen zu automatisieren ( man script).

dixie_flatline
quelle