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

Alexey Shabalin a.shabalin на gmail.com
Пн Дек 12 18:33:48 MSK 2011


12 декабря 2011 г. 19:05 пользователь Dmitry V. Levin написал:
> 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

Да.

> Есть ли какие-нибудь другие соображения на эту тему?
Прямо сейчас больше соображений нет.

Остался только /run
Но если его добавить, udev смонтирует /var/run на tmpfs, к чему мы ещё
не до конца готовы.

-- 
Alexey Shabalin


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