Всегда ли файлы часовых поясов в Linux находятся в / usr / share / zoneinfo? - PullRequest
3 голосов
/ 09 октября 2010

Я пишу программу, которая должна уметь читать файлы часовых поясов в Linux.А это значит, что мне нужно постоянно находить их в разных дистрибутивах.Насколько я знаю, они всегда находятся в / usr / share / zoneinfo.Вопрос в том, действительно ли они всегда расположены в / usr / share / zoneinfo?Или есть дистрибутивы, которые помещают их в другое место?И если да, то куда они их кладут?

Ответы [ 2 ]

4 голосов
/ 09 октября 2010

Цитата из tzset(3):

Используемый каталог системного часового пояса зависит от версии (g) libc.Libc4 и libc5 используют / usr / lib / zoneinfo, и, поскольку libc-5.4.6, когда это не работает, попробует / usr / share / zoneinfo.Glibc2 будет использовать переменную окружения TZDIR, когда она существует.Его значение по умолчанию зависит от того, как оно было установлено, но обычно это /usr/share/zoneinfo.

Обратите внимание, однако, что ничто не мешает некоторым порочным дистрибутивам исправлять libc и размещать файлы там, где они хотят.

1 голос
/ 09 октября 2010

Общедоступная база данных часовых поясов содержит код и данные для обработки часовых поясов в Linux.

Общедоступная база данных часовых поясов содержит код и данные, которые представляют история местного времени для многих представительные места по всему земной шар. Обновляется периодически отражать изменения, сделанные политическими тела до границ часового пояса, UTC смещения и правила перехода на летнее время. Эта база данных (часто называется TZ или zoneinfo) используется несколькими реализации, в том числе GNU C Библиотека, используемая в GNU / Linux, FreeBSD, NetBSD, OpenBSD, Cygwin, DJGPP, AIX, Mac OS X, OpenVMS, база данных Oracle, Solaris, Tru64 и UnixWare.

Это охватывает большую часть системы, но я могу только согласиться с Романом, что никто не может быть лишен возможности создавать дистрибутив, отличающийся по каким-либо причинам. Насколько я знаю, существование и местонахождение файла zonezinfo не подпадают под действие какого-либо официального стандарта. Стандарты (например, POSIX и XPG4) устанавливают только API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...