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. Осталось решить, заводить нам пару каталогов с разграничением предназначения, или ограничиться одним. -- ldv