[devel] /etc/sysctl.d, /lib/sysctl.d

Alexey Shabalin a.shabalin на gmail.com
Пн Дек 12 12:06:02 MSK 2011


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.
В следующей сборке сделаю.

> Осталось решить, заводить нам пару каталогов с разграничением
> предназначения, или ограничиться одним.

Лучше пару. Нам это ничего не стоит, а большую гибкость добавляет.

-- 
Alexey Shabalin


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