В systemd код определения часового пояса ломается об /etc/localtime, если это не симлинк. См. https://github.com/systemd/systemd/blob/master/src/basic/time-util.c#L1454 Из-за этого не работает systemd-networkd в режиме DHCP сервера, если явно не указан часовой пояс в настройках собственно DHCP сервера: [DHCPServer] Timezone=UTC Кроме этого места, get_timezone() еще используется только в timedated.c. Тем не менее, из-за такой особенности не работает умолчально ожидаемое поведение nspawn контейнеров с виртуальными интерфейсами внутри.
В случае, если /etc/localtime не симлинк, нужно парсить /etc/sysconfig/clock, как сделано в других проектах.
(Ответ для Sergey V Turchin на комментарий #1) > В случае, если /etc/localtime не симлинк, нужно парсить > /etc/sysconfig/clock, как сделано в других проектах. не надо его никому пакрсить, /etc/sysconfig/clock это ALT специфик, никто не знает про такие настройки.
(Ответ для Alexey Shabalin на комментарий #2) > /etc/sysconfig/clock это ALT специфик, Не выдумывай ерунду, пожалуйста. > никто не знает про такие настройки. Все кроме тебя знают, похоже.
/etc/localtime должен быть симлинком.
Да, пофиг. Я Qt как патчил, так и буду. Не проблема.
(Ответ для Alexey Shabalin на комментарий #4) > /etc/localtime должен быть симлинком. Не должен, т.к. /usr/ мог быть отдельным разделом. Теперь неактуально.
Так у нас сейчас как раз симлинк. Нужно или systemd поправить или сделать так, что бы не был симлинком.
Ощибка с systemd никуда не делась.
(Ответ для Alexey Shabalin на комментарий #2) > (Ответ для Sergey V Turchin на комментарий #1) > > В случае, если /etc/localtime не симлинк, нужно парсить > > /etc/sysconfig/clock, как сделано в других проектах. > > не надо его никому пакрсить, /etc/sysconfig/clock это ALT специфик, никто не > знает про такие настройки. А какой метод определения таймзоны в этом случае используется ? Просто дай подробностей.
(Ответ для Anton Farygin на комментарий #9) > А какой метод определения таймзоны в этом случае используется ? /etc/sysconfig/clock Я патчил Qt, чтоб кавычки правильно обрабатывал. Сейчас они уже это выпилили, но я вернул. Уже можно выкинуть.
Сейчас всё хорошо - /etc/localtime и есть симлинк.
(Ответ для Anton Farygin на комментарий #11) > Сейчас всё хорошо - /etc/localtime и есть симлинк. Да. usrmerge многое решил.
(Ответ для Sergey V Turchin на комментарий #6) > (Ответ для Alexey Shabalin на комментарий #4) > > /etc/localtime должен быть симлинком. > Не должен, т.к. /usr/ мог быть отдельным разделом. И что? Это же не хардлинк, он не может быть на другой раздел. А симлинк - пожалуйста.
(Ответ для Alexey Shabalin на комментарий #13) > И что? Это же не хардлинк, он не может быть на другой раздел. Поэтому копия.