Ubuntu dpkg, instalacja nieinteraktywna

10

Próbuję zainstalować kilka plików .deb bez konieczności interakcji z nimi. Na przykład serwer MySQL poprosi o interaktywne menu do wprowadzenia hasła administracyjnego podczas konfiguracji dpkg.

Próbowałem.

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

Wiem, że mogę po prostu wyodrębnić pliki bez konfiguracji. Próbuję utworzyć skrypt bash, aby wdrożyć serwer wstępnie skonfigurowany domyślnej instalacji Apache, php, mySQL itp. Jednak ta „interaktywna instalacja” powoduje problemy.

Wszelkie pomysły, jak to wyłączyć? lub obejść?

Dzięki

James Moore
źródło
Co zrobisz z hasłem root serwera MySQL bez odpowiedzi na pytanie?
DerfK
Użyj mysqladmin, aby skonfigurować serwer.
James Moore

Odpowiedzi:

6

Jesteś na dobrej drodze. Zdecydowanie chcesz użyć DEBIAN_FRONTEND=noninteractive. W przypadku krytycznych pytań, których nie można zignorować, należy wstępnie zapisać debconfbazę danych z niezbędnymi odpowiedziami. debconfStrona człowiek ma wszelkie dane o tym, jak to osiągnąć.

Steven Monday
źródło
1
potrzebne do „su -” i użycia „export” jako root.
James Moore
sudo DEBIAN_FRONTEND = nieinteraktywna apt install -y package_you_want
aGuegu
4

W przypadku ogólnej nieinteraktywnej nakładki możesz spróbować:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Aby skonfigurować poświadczenia MySQL, możesz użyć pliku konfiguracyjnego serwera (np. ~/.my.cnf), Takiego jak:

[client]
user=root
password=root

Aby wybrać określone opcje, użyj debconf-set-selectionsnp .:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
kenorb
źródło
0

To powinno działać:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Musiałem umieścić puste linie między liniami powyżej lub sformatowane jako jedna długa linia. W każdym przypadku możesz użyć polecenia „skrypt”, aby zapisać dane wejściowe podczas złożonych instalacji, a następnie zmodyfikować dane wyjściowe w skrypcie, aby zautomatyzować go w kolejnych instalacjach ( man script).

dixie_flatline
źródło