Por que o localtime é redefinido para o fuso horário padrão?

1

Eu uso os seguintes comandos para definir o fuso horário em nosso servidor Amazon Linux (Centos):

ls -al /etc/localtime
-rw-r--r-- 1 root root 118 25 dec  2012 /etc/localtime
sudo mv /etc/localtime /etc/localtime.bak
sudo ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

Isso faz o backup do arquivo localtime, para que você possa ver se e quando o horário está definido no fuso horário correto. Recentemente, o tempo foi ajustado de volta ao padrão. O arquivo bak ainda está lá, então eu sei que mudei o tempo no passado.

Isso é devido a uma atualização do kernel?

Por que o tempo não permanece o mesmo e há uma maneira de garantir isso?

Atualizar

Esta é a hora do arquivo localtime atualizado:

$ ls -al /etc/localtime
-rw-r--r-- 1 root root 118 25 jun 19:05 /etc/localtime

Olhando para /var/log/yum.log, vejo isto:

Jun 25 19:05:27 Updated: glibc-common-2.17-55.143.amzn1.x86_64
Jun 25 19:05:30 Updated: glibc-2.17-55.143.amzn1.x86_64
Jun 25 19:05:31 Updated: libtiff-4.0.3-20.20.amzn1.x86_64
Jun 25 19:05:31 Updated: glibc-headers-2.17-55.143.amzn1.x86_64
Jun 25 19:05:31 Updated: subversion-libs-1.8.11-1.50.amzn1.x86_64
Jun 25 19:05:32 Updated: subversion-1.8.11-1.50.amzn1.x86_64
Jun 25 19:05:32 Updated: glibc-devel-2.17-55.143.amzn1.x86_64
Jun 25 19:05:32 Updated: libtiff-devel-4.0.3-20.20.amzn1.x86_64
Jun 25 19:05:32 Updated: python26-jmespath-0.7.1-1.9.amzn1.noarch
Jun 25 19:05:32 Updated: python27-jmespath-0.7.1-1.9.amzn1.noarch
Jun 25 19:05:33 Updated: glibc-2.17-55.143.amzn1.i686

Então eu suspeito que um deles faça isso, uma das atualizações da glibc, eu acho.

    
por SPRBRN 07.07.2015 / 09:58

1 resposta

2

Veja o ls -l /etc/localtime para ver a que horas a alteração ocorreu. Em seguida, examine os registros como /var/log/audit/audit.log e /var/log/secure para o que pode ter sido iniciado por volta dessa hora.

Observe que agora systemd assumiu /etc/localtime e há um comando

timedatectl set-timezone <zone>

que também pode alterar este arquivo. Além disso, há um systemd-timedated.service que fornece um serviço dbus para alterar o fuso horário. Você também pode procurar nos logs do systemd:

sudo journalctl -l|grep timedate

Você pode encontrar os scripts que são executados pela instalação de um rpm executando

rpm -q --scripts glibc

por exemplo, para a glibc. Você pode registrar as alterações em um arquivo instalando e iniciando audit e configurando um relógio no arquivo com

sudo auditctl -w /etc/localtime -k mymarker

depois, olhando pelos registros com

sudo ausearch -k mymarker

Remova todas as regras com sudo auditctl -D . Você obterá informações sobre qualquer processo que abrir ou alterar o arquivo, mas se for de um shell script que não ajudará muito, pois o comando será apenas rm ou ln .

Talvez, se você usar timedatectl set-timezone para alterar o fuso horário, em vez de vinculá-lo por conta própria, ele será feito de forma que outras atualizações sejam aceitas e não sejam alteradas.

    
por 07.07.2015 / 10:51