Ubuntu dpkg, instalação não interativa

10

Estou tentando instalar um monte de arquivos .deb sem precisar interagir com eles. O MySQL Server, por exemplo, solicitará um menu interativo para inserir uma senha administrativa na configuração do dpkg.

Eu tentei.

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

Estou ciente de que posso extrair os arquivos sem configuração. Estou tentando criar um script bash para implantar um servidor pré-configurado de instalação padrão do Apache, php, mySQL etc. No entanto, essa "instalação interativa" está causando problemas.

Alguma idéia de como desativá-lo? ou uma solução alternativa?

obrigado

James Moore
fonte
O que você fará com a senha root do servidor MySQL sem responder à pergunta?
DerfK
Use mysqladmin para configurar o servidor.
James Moore

Respostas:

6

Você está no caminho certo. Você definitivamente quer usar DEBIAN_FRONTEND=noninteractive. Para perguntas críticas que não podem ser ignoradas, convém preparar o debconfbanco de dados com as respostas necessárias. A debconfpágina do manual possui todos os detalhes sobre como fazer isso.

Steven segunda-feira
fonte
1
necessário "su -" e use "export" como root.
James Moore
sudo DEBIAN_FRONTEND = instalação não-interativa do apt -y package_you_want
aGuegu
4

Para front-end não interativo geral, você pode tentar:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Para configurar credenciais do MySQL, você pode usar o arquivo de configuração do servidor (por exemplo ~/.my.cnf), como:

[client]
user=root
password=root

Para selecionar algumas seleções específicas, use debconf-set-selections, por exemplo:

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

Isso deve funcionar:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Eu tive que colocar linhas blnk entre as linhas acima ou formatadas como uma linha longa. Em qualquer caso, você pode usar o comando "script" para salvar sua entrada durante instalações complexas e, em seguida, modificar a saída em um script para automatizá-la para instalações subseqüentes ( man script).

dixie_flatline
fonte