Estou usando o puppet para administrar um cluster de servidores debian. Preciso alterar o fuso horário de cada máquina no cluster. A maneira correta do debian de fazer isso é usar dpkg-reconfigure tzdata
. Mas só consigo alterá-lo se usar a caixa de diálogo. Existe alguma maneira de automatizar isso a partir do shell para que eu possa escrever um Exec para facilitar isso?
Caso contrário, acho que a próxima melhor maneira provavelmente seria distribuir os fantoches /etc/timezone
e /etc/localtime
com os dados corretos no cluster.
Qualquer entrada apreciada!
Respostas:
Você precisa especificar o front-end como `` não interativo '' e ele salvará suas configurações atuais.
O dpkg-reconfigure tomará as configurações atuais do sistema como gospel, então simplesmente mude seu fuso horário da maneira que você faria normalmente e execute-o com o sinalizador não interativo
por exemplo, para eu mudar para "Europa / Dublin" onde estou:
Obviamente, isso permite que você use o fantoche / cfengine como quiser distribuir o / etc / fuso horário também.
fonte
echo 'Europe/Dublin' | sudo tee /etc/timezone > /dev/null
sudo bash -c 'echo "Europe/Dublin" > /etc/timezone'
Como a resposta aceita não funciona mais (Debian Jessie, abril de 2017), uma abordagem modificada no link de comentários de @ gertvdijk parece fazer o trabalho agora:
fonte
Você deve poder usar o debconf-set-selections para predefinir a configuração. Instale o debconf-utils e execute
debconf-get-selections | grep tzdata
em um sistema configurado corretamente para descobrir o que configurá-lo também.fonte
Você também pode usar a receita do wiki Puppet (agora extinto) ( arquivo morto ) que substitui
/etc/localtime
pelo arquivo zoneinfo apropriado de/usr/share/zoneinfo
: -Não tenho certeza se o dpkg-reconfigure faz algo extra, mas usei a receita acima e ela funciona perfeitamente.
fonte
É muito simples e só precisa digitar um comando e responder a perguntas simples.
então corra:
fonte