Você deve conseguir fazer isso com
cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
Substitua o fuso horário apropriado no comando acima.
Estou escrevendo scripts para automatizar a configuração de novas instalações de hosts de fatia. Em um mundo perfeito, depois que eu comecei o roteiro, ele seria executado, sem nenhuma atenção minha. Eu consegui, com uma exceção.
Como faço para definir o fuso horário, em permanente (sobreviver a reinicialização) e sã (ajustar para o horário padrão e horário de verão, portanto, não apenas forçar a data) ... maneira que não requer entrada de mim?
Atualmente, estou usando
dpkg-reconfigure tzdata
Isso não parece ter como forçar parâmetros para isso. Requer entrada do usuário.
EDIT: Estou editando aqui, em vez de comentar, já que os comentários não parecem permitir bloqueios de código.
Aqui está o código real que acabei com, com base no comentário do Rudedog abaixo. Eu também percebi que isso não atualiza o / etc / timezone. Eu não tenho certeza de quem usa isso, mas no caso de alguém fazer isso, eu estou configurando isso também.
TIMEZONE="America/Los_Angeles"
echo $TIMEZONE > /etc/timezone
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # This sets the time
No Ubuntu 12.04, o seguinte fez o truque para mim:
# http://manpages.ubuntu.com/manpages/precise/man7/debconf.7.html
export DEBCONF_NONINTERACTIVE_SEEN=true DEBIAN_FRONTEND=noninteractive
echo "Europe/Berlin" > /etc/timezone
dpkg-reconfigure tzdata
Tente isto:
echo "Europe/London" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
Atualize o symlink /etc/localtime
para apontar para o fuso horário correto em /usr/share/zoneinfo/
Corri para isso eu mesmo. Aqui está uma configuração completa de como fazer isso corretamente (é uma agregação de comentários aqui e esta pergunta ):
#Set time zone and time
echo "tzdata tzdata/Areas select Europe" | debconf-set-selections
echo "tzdata tzdata/Zones/Europe select London" | debconf-set-selections
TIMEZONE="Europe/London"
echo $TIMEZONE > /etc/timezone
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
/usr/sbin/ntpdate pool.ntp.org
tzdata
usa o debconf para responder a essa pergunta, então você precisa preenchê-lo previamente. Existem várias maneiras de fazer isso, o mais fácil é pré-configurar a resposta durante a instalação . Além disso, você pode configurar um banco de dados padrão para o debconf usar, veja a página debconf(7)
para como fazer isso.
Verifique também se o ntpd está instalado e em execução.
yum install ntpd
ntpdate pool.ntp.org
service ntpd start