On Mon, Dec 12, 2011 at 01:06:02PM +0400, Alexey Shabalin wrote: > 9 декабря 2011 г. 20:27 пользователь Dmitry V. Levin написал: > > On Fri, Dec 09, 2011 at 08:04:52PM +0400, Dmitry V. Levin wrote: > >> On Fri, Dec 09, 2011 at 05:41:47PM +0400, Alexey Shabalin wrote: > >> > 9 декабря 2011 г. 17:14 пользователь Dmitry V. Levin написал: > > [...] > >> > > Например, systemd поддерживает сразу три binfmt.d-каталога: > >> > > /usr/lib/binfmt.d/*.conf, /etc/binfmt.d/*.conf и /run/binfmt.d/*.conf > >> > > И все это для реализации настройки очень редко используемого интерфейса > >> > > ядра. > >> > > >> > Для SysV, возможно, достаточно реализовать поддержку в /etc > >> > > >> > > То же самое триединство наблюдается в systemd и в отношении остальных > >> > > .d-каталогов (modules-load.d, sysctl.d, tmpfiles.d). > >> > При желании можно удалить "лишнее", оставить только /etc, но я бы > >> > оставил это на будущее. > >> > >> Давайте попробуем подумать на будущее, чтобы сразу сделать правильно. > > > > В общем, /run/*.d я бы пока не трогал, поскольку это все равно > > не затрагивает другие пакеты и может быть рассмотрено позднее. > > > > Что касается /usr/lib/sysctl.d и /etc/sysctl.d (и остальных *.d), то > > давайте подумаем. > > > > У нас в системе уже есть пример такого подхода в udev, где правила хранятся > > как в /lib/udev/rules.d/, так и в /etc/udev/rules.d/, видимо, со следующим > > предположением: те, что в /lib, являются неотъемлемой частью пакета и не > > подлежат модификации, а те, что в /etc, отдаются на откуп сисадмину > > (который, впрочем, имеет право скопировать файл из /lib/udev/rules.d/ > > в /etc/udev/rules.d/ и там уже его отредактировать). > > > > Еще один пример такого подхода - это разделение rpm/macros.d на два > > каталога, /usr/lib/rpm/macros.d/ и /etc/rpm/macros.d/, с той же целью: > > первый - для пакетов, второй - для сисадмина. > > > > Что касается /lib/sysctl.d vs /usr/lib/sysctl.d, то тут все вроде бы ясно: > > если мы НЕ придерживаемся новомодной точки зрения, которую активно > > продвигает автор systemd, что все надо двигать в /usr, а различия между > > /lib и /usr/lib неактуальны, то имеет смысл предлагать использовать именно > > /lib/sysctl.d (/lib/modules-load.d, /lib/tmpfiles.d) для пакетов и > > соответствующие им каталоги в /etc/ для сисадминов.  Вопрос совместимости > > с апстримным systemd можно решить с помощью policy и symlinks. > > Согласен, надо использовать /lib вместо /usr/lib. > В следующей сборке сделаю. > > > Осталось решить, заводить нам пару каталогов с разграничением > > предназначения, или ограничиться одним. > > Лучше пару. Нам это ничего не стоит, а большую гибкость добавляет. Итак, предлагается добавить 8 каталогов в пакет filesystem: /etc/binfmt.d /etc/modules-load.d /etc/sysctl.d /etc/tmpfiles.d /lib/binfmt.d /lib/modules-load.d /lib/sysctl.d /lib/tmpfiles.d Есть ли какие-нибудь другие соображения на эту тему? -- ldv