Ubuntu dpkg, installation non interactive

10

J'essaie d'installer un tas de fichiers .deb sans avoir à interagir avec eux. Le serveur MySQL par exemple vous demandera un menu interactif pour entrer un mot de passe administratif lors de la configuration du dpkg.

J'ai essayé.

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

Je suis conscient que je peux simplement extraire les fichiers sans configuration. J'essaie de créer un script bash pour déployer un serveur préconfiguré d'installation par défaut d'Apache, php, mySQL etc. Cependant, cette "installation interactive" cause des problèmes.

Des idées sur la façon de le désactiver? ou un travail autour?

Merci

James Moore
la source
Que ferez-vous du mot de passe root du serveur MySQL sans répondre à la question?
DerfK
Utilisez mysqladmin pour configurer le serveur.
James Moore
Copie

Réponses:

6

Tu es sur la bonne piste. Vous voulez vraiment utiliser DEBIAN_FRONTEND=noninteractive. Pour les questions critiques qui ne peuvent pas être ignorées, vous souhaiterez préconfigurer la debconfbase de données avec les réponses nécessaires. La debconfpage de manuel contient tous les détails sur la façon d'y parvenir.

Steven Monday
la source
1
nécessaire pour "su -" et utiliser "exporter" en tant que root.
james moore
sudo DEBIAN_FRONTEND = installation apt non interactive -y package_you_want
aGuegu
4

Pour une interface générale non interactive, vous pouvez essayer:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Pour configurer les informations d'identification MySQL, vous pouvez utiliser le fichier de configuration du serveur (par exemple ~/.my.cnf), comme:

[client]
user=root
password=root

Pour sélectionner certaines sélections spécifiques, utilisez debconf-set-selections, par exemple:

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

Cela devrait fonctionner:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

J'ai dû placer des lignes blnk entre les lignes ci-dessus ou formatées en une longue ligne. Dans tous les cas, vous pouvez utiliser la commande "script" pour enregistrer vos entrées lors des installations complexes, puis modifier la sortie dans un script pour l'automatiser pour les installations suivantes ( man script).

dixie_flatline
la source