Назад | Перейти на главную страницу

неправильный часовой пояс, установленный в Ubuntu 12.04 через марионетку

Я использую Ubuntu 10.04 и использую марионетку, чтобы изменить часовой пояс с UTC на PST при запуске сервера. Рецепт часового пояса Puppet, который я использую, следующий: Рецепт кукольного времени

С Ubuntu 10.04 все работало нормально, теперь мы переходим на Ubuntu 12.04, и этот рецепт Puppet не работает. Причина, по которой я понял, находится в 10.04 / etc / localtime - это файл с содержимым PST8PDT, тогда как в 12.04 это символическая ссылка (из-за рецепта марионетки), и она связана с SystemV /, но путь к каталогу SystemV неверен. Когда я делаю ls -l в / etc

lrwxrwxrwx 1 root root 18 Oct 18 18:38 localtime -> ../SystemV/PST8PDT

Но нет папки SystemV на один уровень выше / etc. Я изменил рецепт марионетки на это:

class timezone::pacific inherits timezone {
file { "/etc/localtime":
    require => Package["tzdata"],
 #   source => "file:///usr/share/zoneinfo/US/Pacific",
    source => "file:///usr/share/zoneinfo/SystemV/PST8PDT",

и это сработало, и местное время больше не было ссылкой. Может ли кто-нибудь помочь мне понять, почему рецепт марионетки, который я унаследовал и работал нормально 10.04, не работал 12.04 и почему изменение рецепта на новое место назначения SystemV исправило его.

Это немного странно. На моей виртуальной машине 12.04 оба /usr/share/zoneinfo/SystemV/PST8PDT и /usr/share/zoneinfo/US/Pacific являются символической ссылкой на /usr/share/zoneinfo/America/Los_Angeles. Любой из использованных вами путей должен был привести к /etc/localtime который был ссылкой на ../America/Los_Angeles.

Вы думали о том, чтобы links => follow? Таким образом марионетка разрешит символическую ссылку и скопирует содержимое вместо копирования символической ссылки.