Estou escrevendo um script para instalar o servidor Ubuntu 16.04 em uma prisão chroot, usando o debootstrap (em uma máquina servidor Ubuntu 16.04).
Durante a criação do keyboard-configuration
pacote de ele pede para o tipo de teclado:
Setting up keyboard-configuration (1.108ubuntu15) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring keyboard-configuration
----------------------------------
The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.
1. Afghani 48. Irish
2. Albanian 49. Italian
...
28. English (UK) 75. Slovak
29. English (US) 76. Slovenian
...
45. Icelandic 92. Vietnamese
46. Indian 93. Wolof
47. Iraqi
Country of origin for the keyboard:
Quero automatizar isso, para que não pergunte e continue com a instalação.
Como posso fazer isso?
apt
keyboard-layout
chroot
debootstrap
fadedbee
fonte
fonte
Respostas:
De uma pergunta semelhante ao StackOverflow:
Se a variável ENV
DEBIAN_FRONTEND=noninteractive
for definida enquanto você executaapt-get install keyboard-configuration
, não solicitará nenhuma interação. Então você pode simplesmente executar:fonte
Você poderia usar
xdotool
. Ao iniciar o script colocar& sleep <however long it takes to get to that point> && xdotool type <number you want to put> && xdotool key Return
.Eu não testei isso, mas deve funcionar.
Resposta 2:
Execute o comando, mas com a saída redirecionada para um arquivo (
> testfile
).Abra outro terminal e execute
Depois, clique novamente no primeiro terminal.
Resposta 3:
Eu acho que tudo que você precisa fazer é colocar o número desejado em um arquivo
testfile
e executar o comando com o< testfile
anexo.fonte
É simples de automatizar, você só precisa definir a configuração correta do debconf para este pacote.
Primeira instalação
debconf-utils
:Se você já configurou o pacote, poderá ler a configuração do debconf com:
Se você não configurou o pacote ou gostaria de alterar suas seleções, faça isso com:
Exportar suas seleções para um arquivo
Copie
selections.conf
para a máquina de destino e defina as seleções:Quando você instala ou reconfigura o pacote, suas opções agora são selecionadas automaticamente.
fonte
"debootstrap é realmente apenas um script de shell" --de https://wiki.debian.org/Debootstrap
Isso significa que você pode ler o script para ver se há maneiras de passar as informações por meio de uma variável de ambiente, fornecer um argumento ao chamar o deboostrap ou criar sua própria versão modificada para seu aplicativo específico.
fonte
apt-get install ....
execução após o debootstrap inicial.apt-get install deboostrap
seu paradigma de instalação não permitir a alteração de variáveis ambientais ou a execução de um script personalizado? OK.