Ubuntu dpkg, installazione non interattiva


10

Sto cercando di installare un sacco di file .deb senza dover interagire con loro. MySQL Server, ad esempio, richiederà un menu interattivo per inserire una password amministrativa sulla configurazione di dpkg.

Ho provato.

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

Sono consapevole che posso semplicemente estrarre i file senza configurazione. Sto cercando di creare uno script bash per distribuire un server preconfigurato per l'installazione predefinita di Apache, php, mySQL ecc. Tuttavia, questa "installazione interattiva" sta causando problemi.

Qualche idea su come disabilitarlo? o un lavoro in giro?

Grazie


Cosa farai della password di root del server MySQL senza rispondere alla domanda?
DerfK,

Utilizzare mysqladmin per configurare il server.
James Moore,

Risposte:


6

Sei sulla strada giusta. Sicuramente vuoi usare DEBIAN_FRONTEND=noninteractive. Per domande critiche che non possono essere ignorate, è necessario preconfigurare il debconfdatabase con le risposte necessarie. La debconfpagina man contiene tutti i dettagli su come farlo.


1
necessario "su -" e usare "export" come root.
James Moore,

sudo DEBIAN_FRONTEND = non interattivo apt installa -y package_you_want
aGuegu

4

Per il frontend non interattivo generale, puoi provare:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Per configurare le credenziali di MySQL, è possibile utilizzare il file di configurazione del server (ad es. ~/.my.cnf), Come:

[client]
user=root
password=root

Per selezionare alcune selezioni specifiche, utilizzare debconf-set-selections, ad esempio:

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

0

Questo dovrebbe funzionare:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Ho dovuto posizionare le righe blnk tra le righe sopra o formattate come un'unica riga lunga. In ogni caso è possibile utilizzare il comando "script" per salvare l'input durante installazioni complesse, quindi modificare l'output in uno script per automatizzarlo per le installazioni successive ( man script).

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.