[devel] /etc/sysconfig/{clock,i18n}

Arseny Maslennikov arseny на altlinux.org
Ср Мар 31 13:48:28 MSK 2021


On Mon, Mar 29, 2021 at 10:24:37PM +0300, Dmitry V. Levin wrote:
> On Mon, Mar 29, 2021 at 09:03:20PM +0300, Arseny Maslennikov wrote:
> > [...] вот, допустим, я _ничего_ не знаю
> > об этих файлах и настраиваю те же clock, i18n (как я понимаю эти
> > понятия) другими способами и не жалуюсь на результат. Я при таких
> > вводных никак не могу способствовать предложенному переводу "старых"
> > конфигов в "новые", и заставить не связанные с /etc/rc.d пакеты не
> > зависеть от startup тоже не могу.
> 
> clock:
> /etc/sysconfig/clock в пакете самодокументирован,

Задокументирован он, к сожалению, лениво — в стиле "Бетономешалка мешает
бетон". :( Впрочем, если бы он был хорошо самодокументирован, документация
бы составляла более 4/5 его длины.
Воздержусь от подробного разбора, чтобы не засорять рассылку — благо
стало и так понятно, что делать.


> пример использования
> в скрипте, который поддерживает /etc/sysconfig/clock и /etc/timezone:
> /usr/sbin/tzupdate.

Гм.
Пусть тут на всякий случай будет altlinux-classic-clock.service, исполняющий
/etc/rc.d/init.d/clock, который стоит положить в пакет к нему, если это
не будет startup.

Вот канва этого юнита:
---8<--------
[Unit]
Description=/etc/rc.d/init.d/clock
Documentation=

[Service]
Type=oneshot
ExecStart=/etc/rc.d/init.d/clock start
ExecStop=/etc/rc.d/init.d/clock stop
--->8--------

Видимо, в /etc/sysconfig/clock сошлись два назначения: одно —
настраивать /etc/rc.d/init.d/clock, другое — настраивать $ZONE.

Правильно ли я понял, что /etc/localtime мог бы быть и симлинком на
/usr/share/zoneinfo/$ZONE, но для разных сервисов, которые чрутятся средствами
ALT и исполнимого файла update_chrooted, не реализовано воссоздание этих
путей в чруте — и это единственная помеха к превращению /etc/localtime в
симлинк по умолчанию?
* Если да, то надо ZONE делать необязательным (по умолчанию результат
  readlink, а если не симлинк, то UTC), а остальное в этом файле
  настраивает поведение /etc/rc.d/init.d/clock. Тогда файл можно и в
  пакете startup оставить — или в том, в котором /etc/rc.d/init.d/clock.

Ну, и остался вопрос, кто ещё потребляет /etc/sysconfig/clock, кроме
нижеперечисленного (взятого с моей системы):
# grep -r /etc/sysconfig/clock /usr /etc
/usr/sbin/tzupdate:env_file=/etc/sysconfig/clock
/etc/rc.d/init.d/clock:if SourceIfNotEmpty /etc/sysconfig/clock; then
и только ли ZONE= они от него хотят.

> 
> i18n:
> /etc/profile.d/lang.sh считает, что /etc/sysconfig/i18n и /etc/locale.conf
> - это одно и то же, использует первый, который найдёт.
> 

Правильно ли я понимаю, что формат данных в этих файлах одинаковый, и это
— shell-style связывание параметров вида /(LANG|LC_[A-Z_]*)/ с локалями?
* Если да, то один из этих файлов можно сделать симлинком на другой.

Правда, /lib/systemd/systemd-localed, когда пишет в этот файл (если его
заставить при помощи `localectl set-locale VAR=value'), не сохраняет
комментарии в строках.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20210331/177c088b/attachment-0001.bin>


Подробная информация о списке рассылки Devel