O / etc / localtime deve ser um symlink ou um arquivo?

3

Quando instalo um sistema RHEL pela primeira vez, seleciono um fuso horário. Examinando o /etc/localtime , vejo que esta é uma cópia de um dos arquivos de /usr/share/zoneinfo .

No entanto, quando olho para alterar o fuso horário em um sistema, vejo uma divisão entre copiar o novo arquivo e criar um link simbólico.

O que é a melhor prática aceita? link simbólico ou cópia?

Além disso: Alguém tem uma solução para determinar o fuso horário no qual o sistema está atualmente configurado? A informação em /etc/sysconfig/clock provavelmente não está correta.

    
por Tim Timmerman 05.11.2014 / 19:02

2 respostas

3

De acordo com esta documentação , deve ser um link simbólico:

Name

localtime — Local timezone configuration file
Synopsis

/etc/localtime -> ../usr/share/zoneinfo/…
Description

The /etc/localtime file configures the system-wide timezone of the local system that is used by applications for presentation to the user. It should be an absolute or relative symbolic link pointing to /usr/share/zoneinfo/, followed by a timezone identifier such as "Europe/Berlin" or "Etc/UTC". The resulting link should lead to the corresponding binary tzfile(5) timezone data for the configured timezone.

Because the timezone identifier is extracted from the symlink target name of /etc/localtime, this file may not be a normal file or hardlink.

The timezone may be overridden for individual programs by using the TZ environment variable. See environ(7).

You may use timedatectl(1) to change the settings of this file from the command line during runtime. Use systemd-firstboot(1) to initialize the time zone on mounted (but not booted) system images.

Para determinar o fuso horário, o seguinte comando pode ser emitido:

[vagrant@localhost ~]$ cat /etc/sysconfig/clock
ZONE="UTC"
    
por 05.11.2014 / 19:11
2

Os mantenedores do Debian explicaram sua escolha neste relatório de bug: link

Para trecho:

Michael Biebl escreve:

Changing the timezone information via timedated (org.freedesktop.timedate1 or timedatectl) will replace /etc/localtime with a symlink to the timezone file in /usr/share/zoneinfo.

That means the file will be dangling symlink during early boot and the time might be incorrectly set for systems with a separate /usr.

    
por 19.01.2015 / 08:36