Приветствую,
Я пытаюсь узнать, в каком часовом поясе часы операционной системы / BIOS? обкатывается.
Проблема в том, что если TZ отсутствует или пусто, я подозреваю, что эта дата и ls вернутся к TZ = UTC.
Однако, если TZ = America / Los_Angeles или America / Chicago, то я знаю, какой часовой пояс LOCAL установлен.
Но как мне узнать, в каком часовом поясе работает ОС Linux? На чем основан часовой пояс cron и других демонов?
-даниэль
Он основан на содержимом /etc/localtime
, который поступает из одного из файлов в /usr/share/zoneinfo
и может быть изменен с помощью tzselect
или system-config-date
.
Просто чтобы добавить к уже сказанному, hwclock
сообщит вам дату согласно BIOS.
Дата BIOS и дата системы могут не синхронизироваться. Когда дело доходит до TZ, обычно время BIOS устанавливается на UTC, а системная дата регулирует TZ, но некоторые люди предпочитают устанавливать время BIOS на свое местное время.
Я пытаюсь узнать, в каком часовом поясе часы операционной системы / BIOS? работает. Проблема в том, что если TZ отсутствует или пуст, я подозреваю, что эта дата и ls вернутся к TZ = UTC.
Нет, это не так. date, ls и почти все другое программное обеспечение не просто возвращается к UTC, когда TZ не установлено, они используют часовой пояс по умолчанию. В Linux часовой пояс по умолчанию устанавливается в файле /etc/localtime
. Нет смысла заглядывать в файл, это двоичный файл в tzfile
формат. Это либо символическая ссылка, либо копия одного из файлов в /usr/share/zoneinfo
; это правила для разных часовых поясов.
Но как мне узнать, в каком часовом поясе работает ОС Linux?
Если /etc/localtime
это символическая ссылка, просто посмотрите, на что она указывает. Если это файл, лучше всего использовать инструменты вашего дистрибутива, чтобы узнать. В Debian используйте
dpkg-reconfigure tzdata
(просто сразу нажмите Отмена, чтобы ничего не менять).
На RedHat это redhat-config-date
или system-config-date
.
На чем основан часовой пояс cron и других демонов?
Большинство демонов просто используют часовой пояс системы по умолчанию.
К сожалению, Cron - это особый случай: существует несколько реализаций, которые по-разному обрабатывают часовые пояса. «Vixie cron», который является обычным cron в Linux, просто всегда использует часовой пояс по умолчанию. Некоторые crons (например, в BSD) позволяют переключать часовой пояс в crontab. Является ли это улучшение спорно ...