O fuso horário do meu sistema é Ásia/Teerã, e ele tem ajustes de mudança de horário no verão (primavera para frente) e retrocesso no inverno; no entanto, preciso desabilitar esses ajustes de horário de verão e manter o fuso horário sempre em UTC + 3:30. como faço isso no linux?
relate perguntas
-
Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?
-
Inicie/pare o serviço systemd usando o atalho de teclado [fechado]
-
Necessidade de algumas chamadas de sistema
-
astyle não altera a formatação do arquivo de origem
-
Passe o sistema de arquivos raiz por rótulo para o kernel do Linux
A partir de 22 de setembro de 2022, o Irã abolirá o horário de verão e observará o horário padrão durante todo o ano . O pacote oficial também é lançado com essas atualizações no pacote [tzdata2022b.tar.gz] da IANA, portanto, aqui está a maneira de aplicar as atualizações de fuso horário da região Ásia/Teerã a partir dele.
Baixe o pacote tzdata2022b.tar.gz e descompacte (você deve ser usuário root ); veja Todos os Pacotes .
Compile para aplicar as atualizações para a(s) região(ões) de interesse (Ásia) dos dados de fuso horário do sistema através do comando 'zic' (compilador de fuso horário):
Nota : as alterações serão aplicadas diretamente na Ásia/Teerã, bem como em outras regiões da Ásia.
Verifique se as atualizações são aplicadas corretamente com o seguinte comando e o horário de verão está desabilitado (observe que após 'Qua Sep 21 23:59:59' (Fallback para +0330 como horário padrão do Irã) e data posterior, nenhum ajuste de horário de verão será feito):
# zdump -v Asia/Tehran | grep '202[2-9]' Asia/Tehran Mon Mar 21 20:29:59 2022 UTC = Mon Mar 21 23:59:59 2022 +0330 isdst=0 Asia/Tehran Mon Mar 21 20:30:00 2022 UTC = Tue Mar 22 01:00:00 2022 +0430 isdst=1 Asia/Tehran Wed Sep 21 19:29:59 2022 UTC = Wed Sep 21 23:59:59 2022 +0430 isdst=1 Asia/Tehran Wed Sep 21 19:30:00 2022 UTC = Wed Sep 21 23:00:00 2022 +0330 isdst=0
Revincule
/etc/localtime
a hora local com as informações de fuso horário corrigidas usando o seguinte comando:Verifique isso
date
ehwclock
está informando a data e hora corretas.Abaixo está a solução de como criar e aplicar apenas atualizações de fuso horário de um país específico (Ásia/Teerã nesta resposta).
Crie um arquivo ZONE personalizado chamado
Tehran_timeZone
e adicione abaixo as informações da Zona (as informações das regras e da zona de cada país podem ser encontradas no arquivo de região relevante no pacote tzdata2022b.tar.gz):Para mais informações sobre os parâmetros de configuração, veja o " man zic "
Compile para aplicar as atualizações para o fuso horário da Ásia/Teerã através do comando 'zic':
Revincule
/etc/localtime
a hora local com as informações de fuso horário corrigidas usando o seguinte comando:Nota : Dependendo de qual distribuição Linux você está usando, você precisará reconfigurar a ZONA para qual sistema está usando na inicialização (configure com
tzdata-update
outimedatectl set-timezone Asia/Tehran
)Nota : User/shell timeZone
O
date
comando por padrão está usando o mesmo/etc/localtime
ao exibir data e hora no nível de usuário/shell, no entanto, se a variávelTZ
foi definida para algo diferente, ele lerá e aplicará o timeZone dessaTZ
variável, então você precisará para desativá-lo/excluí-lo ou configurá-lo para o localtime atualTZ='Asia/Tehran'
nos perfis de shell de nível de usuário; este é um comando para encontrar arquivos cujaTZ
variável pode definir nesses arquivos nos diretórios pessoais do usuário:Nota : Você precisará atualizar o mesmo para os perfis de shell de todo o sistema.