Passando respostas padrão para as perguntas de instalação do pacote apt-get?

25

Estou tentando escrever um script de configuração para novos servidores, e um dos primeiros passos é instalar uma série de pacotes requeridos, como MySQL, phpMyAdmin, etc. usando apt-get install No entanto, quando o dpkg tenta configurar eles lhe pedem algumas opções, como senha de root do MySQL, senhas do phpMyAdmin, qual servidor usar, etc.

Como provavelmente vou passar esse script para colegas de trabalho que provavelmente não lerão os prompts e meu desejo de simplesmente iniciá-lo e ir embora, gostaria de saber como passar em uma série de respostas / valores "padrão" para usar. Isso pode incluir nomes de usuários / senhas / outros valores dinâmicos transmitidos na linha de comando.

-

Eu percebo que ter senhas em um script é um problema de segurança, mas estou disposto a ignorá-lo, particularmente no sentido mais geral de instalar pacotes que uma resposta a isso implicaria.

    
por Tarka 13.07.2012 / 02:45

3 respostas

43

Use a pré-configuração da configuração do debconf.

Faça um teste de instalação para obter os valores desejados:

root@test1:~# apt-get install mysql-server

.. e defina a senha de root quando solicitado durante a instalação.

Então você pode verificar como são as configurações do debconf para o que você acabou de instalar (você pode precisar instalar o debconf-utils ):

root@test1:~# debconf-get-selections | grep mysql-server
mysql-server-5.5        mysql-server/root_password_again        password
mysql-server-5.5        mysql-server/root_password      password
mysql-server-5.5        mysql-server/error_setting_password     error
mysql-server-5.5        mysql-server-5.5/postrm_remove_databases        boolean false
mysql-server-5.5        mysql-server-5.5/start_on_boot  boolean true
mysql-server-5.5        mysql-server-5.5/nis_warning    note
mysql-server-5.5        mysql-server-5.5/really_downgrade       boolean false
mysql-server-5.5        mysql-server/password_mismatch  error
mysql-server-5.5        mysql-server/no_upgrade_when_using_ndb  error

Há algum ruído, mas a parte importante são as configurações de senha.

Em seguida, para uma nova instalação, você pode evitar completamente os prompts definindo a senha de antemão:

root@test2:~# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
root@test2:~# apt-get install mysql-server

Nenhum aviso durante a instalação.

    
por 13.07.2012 / 06:10
15
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install _packages_
    
por 13.07.2012 / 02:53
0

O pacote debconf contém debconf-show :

debconf-show package
    
por 27.11.2018 / 07:09