[sisyphus] systemd: path-based activation

Eugene Prokopiev enp на itx.ru
Ср Дек 23 12:22:59 MSK 2015


23 декабря 2015 г., 11:10 пользователь Alexey Shabalin
<a.shabalin на gmail.com> написал:

> Для начала хотел бы полностью сформировать общую картину. Давайте опишем все
> возможные варианты, сценарии использования. Я сам могу многое не знать или
> видеть под неправильным углом. Например, почему openresolv в контейнере
> лишняя сущность? Если openresolv опционален, то почему на него существуют
> зависимости (NetworkManager? - хотя это тоже лишнее в контейнере:)

openresolv полезен в тех редких случаях, когда у нас много желающих
модифицировать resolv.conf. Соответственно, если таких желающих нет
(полностью статическая конфигурация - а это значительная часть
серверов и контейнеров), то openresolv не нужен. Если таких желающих
не более одного (например DHCP-клиент), то openresolv тоже не нужен.
Одним из желающих является systemd-resolved, однако если все сетевые
интерфейсы управляются посредством systemd-networkd, то
systemd-resolved опять же будет единственным.

Особых зависимостей на openresolv нет, от dnsmasq она была недавно
оторвана, а в базовой системе таких зависимостей тем более нет. По
крайней мере у меня openresolv, как правило, не установлен.

> Кажется, я с самого появления altlinux-openresolv предлагал его упаковать в
> пакет openresolv. Мне тогда отказали, с аргументом, что это нужно только
> systemd - вот пусть он и носит с собой. Оказывается от openresolv можно
> отказаться, и тогда altlinux-openresolv повиснет в воздухе. Моя позиция, что
> пакет сам должен обеспечивать себе работу под любыми init-системами,
> содержать в себе все необходимое для запуска и работы. Евгений, давайте
> предположим, altlinux-openresolv переедет в openresolv, то куда паковать
> altlinux-simpleresolv?

Вне зависимости от того, куда класть altlinux-openresolv,
altlinux-simpleresolv нужно класть в systemd-networkd (еще проще было
бы симлинком обойтись, но увы). Вполне можно представить себе систему
с systemd, NetworkManager и без systemd-networkd - тогда
altlinux-simpleresolv будет бесполезен, как и altlinux-openresolv,
кстати, по причине отсутствия systemd-resolved. Поэтому в идеале
altlinux-openresolv вообще стоило бы в какой-то отдельный пакет
паковать :)

> Хотелось бы сделать универсально, продумать все варианты, работающее
> автоматически без дополнительного вмешательства. Хак "лишь бы заработало
> сейчас" меня не устраивает.

Логичная позиция, двумя руками за, тем более что кое-как и сейчас работает :)

Автоматику я чуть раньше описывал - можно полагаться на
присутствие/отсутствие файла /sbin/resolvconf. Соответственно
altlinux-openresolv и altlinux-simpleresolv могут быть по дефолту
включены одновременно, но запустится только один из них.

-- 
WBR,
Eugene Prokopiev


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