LINUX.ORG.RU
ФорумTalks

Состояние реестра в systemd?

 , , systemd-registryd


0

1

Очень жду, когла Леннарт с командой наконец и до реестра конфигураций доберутся.

К сожалению, я ни на чем кроме джавы хороший кот писать не умею, иначе бы помог (там делов-то на пару вечеров, батон колбасы и десять чайников зеленого чая).

Кто-нибудь чувствует себя в силах запилить пул-риквест с реестром в системд? :)

А может, это уже сделали? sudo cast --verbose intelfx

Мне очень нравится, например, Netflix Archaius. Там можно не просто кластерно хранить свойства, но еще и вешать коллбэки на их изменения:


//Получаем ссылку на интовую переменную конфигурации
DynamicIntProperty myProperty = DynamicPropertyFactory.getInstance().getIntProperty("myProperty", DEFAULT_VALUE);

//Вешаем лиснер на изменения значения, при изменении печатаем новое значение
myProperty .addCallback(() -> System.out.println("value has changed to " + myProperty.get()));

Таким образом проблема того, что линукс надо постоянно рестартить при изменении конфига, снимается сама собой.

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 1)

у тебя осеннее обострение? :)

invy ★★★★★
()

А смысл? Это не поможет запустить фотошоп и крусисы.
Венда тащит не виндасвеем, а базой софта и игор.

Lavos ★★★★★
()
Последнее исправление: Lavos (всего исправлений: 1)

Ты б к доктору поспешил, что ли. Вдруг еще можно что-то сделать.

leave ★★★★★
()

Хорошо, что я в джава-коде не копаюсь )

Harald ★★★★★
()
Ответ на: комментарий от Manhunt
signals:
      UnitNew(s id,
              o unit);
      UnitRemoved(s id,
                  o unit);
      JobNew(u id,
             o job,
             s unit);
      JobRemoved(u id,
                 o job,
                 s unit,
                 s result);
      StartupFinished(t firmware,
                      t loader,
                      t kernel,
                      t initrd,
                      t userspace,
                      t total);
      UnitFilesChanged();
      Reloading(b active);

А в чем понт такого кодстайла, что все параметры столбиками как попало раскиданы? Пока читал, от этих волн столбиков накатила морская болезнь

Где комментарии к этим сигналам? Как понять, что для чего нужно?

и это, может там всё это как-то в JSON или YAML упихать? А то выглядит как говно, как это анализировать и трансформировать - непонятно...

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)

К сожалению, я ни на чем кроме джавы хороший кот писать не умею

так и они хороший код писать не умеют - сработаетесь!

quest ★★★★
()
Ответ на: комментарий от Manhunt

кстати, dbus сейчас являпется де-факто стнадартом на все эти дела, или сейчас модно что-то другое, стильное и молодежное?

stevejobs ★★★★☆
() автор топика

Таким образом проблема того, что линукс надо постоянно рестартить при изменении конфига, снимается сама собой.

А теперь представьте себе две гипотетических ситуации:

1. Какой-то демон подписывается на эвенты изменения его свойств. Вы открываете «редактор реестра» чтобы поправить конфиг демона, и скажем, по ошибке меняете какой-нибудь параметр «max_threads» на 10000 вместо 100, и сразу-же получаете зависание и краш демона, или меняете связанные друг с другом параметры последовательно, а демон просто не знает когда вы уже закончите менять конфиг и ему МОЖНО уже его перезагружать (то есть это проблема с атомарностью редактирования связанных параметров).

2. Какой-то демон, не подписывается на эвенты изменения его свойств. И подгружает свойства по мере активации каких-то своих функций по мере необходимости. А вы в это время редактируете конфиг -> в результате получаете полнейшую кашу при которой вообще не понятно что валидно а что уже нет.

А теперь представьте себе ситуацию, что на вашем сервере - половина демонов будет работать по сценарию 1, а половина по сценарию 2. Это по вашему лучше текущей ситуации с конфигами и их одноразового чтения на старте, с ручным перезапуском (или перезагрузкой конфига) по команде пользователя ?

там делов-то на пару вечеров

Так что нет. Делов тут даже близко не на пару вечеров. Нужно предусмотреть кучу узких мест - таких как атомарность редактирования целых отдельных наборов значений (типа поменяли ВСЁ что хотели - сделали условный «commit» и демон получил все значения скопом), получения всех параметров на старте приложения в виде «снимка», всякие ограничения на предельные значения.

А потом пойдут какие-то новые фичи и исправления багов в API этого менеджера реестра. Которые, разумеется, будут появляться только с новой версией systemd в системе. Появятся ещё и минимальные требования к systemd для сборки демонов...

В общем, ИМХО, система получится в любом случае слишком переусложненной, без каких-либо явных преимуществ над конфигами, которые хотя-бы вписываются в *nix концепцию что любая сущность это файл и работают без потребления каких-либо лишних процессорных ресурсов и памяти с незапамятных времён. Получится как с journald - сделали какую-то глючную фигню, функционалом которой никто всё-равно не пользуется на 100%, на замену рабочей технологии.

DawnCaster ★★
()

батон колбасы и десять чайников зеленого чая

обратись к местному венчурному инвестору

registrant ★★★★★
()

я ни на чем кроме джавы хороший кот писать не умею

s/кроме джавы хороший//
Капитан Чинитель спасает.

redgremlin ★★★★★
()

у меня мышка сама убежала с коврика, перед этим уписялась током с батареек.

Стиви, не поверишь, ник автора я прочитал уже после прочтения тела темы. Думал очередной хейтер выполз, ему швинда в головушку прилетела.

Deleted
()
Ответ на: комментарий от n_play

Умерает на большом количестве файлов, к сожалению.

zloelamo ★★★★
()

А я все мечтаю о том, чтоб sysctl контролировал не только опции ядра, но и выполнял как раз функции реестра.

DeadEye ★★★★★
()
Ответ на: комментарий от Deleted

Я не в курсе, если честно. В любом случае, там не systemd с его багами.

Да и вообще - если кому-то нужна такая система конфигурации, то ведь как написали выше - уже есть etcd (никогда не пользовался, не знаю насколько хорошо он реализует поставленные задачи).

А в таком виде, задумка привносит больше новых проблем, чем решает текущих. Как последний довод против, скажу лишь, что если-бы идея конфиг-реестра была действительно востребована, она-бы появилась ещё давно, возможно в виде 100500 разных реализаций: вот в таком случае, был-бы смысл упразднить разные «реестры» и вместо него запилить один православный, встроенный в системный менеджер.

DawnCaster ★★
()

Ненужно, ибо нарушает DRY и не решает никаких проблем.

Deleted
()

Таким образом проблема того, что линукс надо постоянно рестартить при изменении конфига, снимается сама собой.

Как же это у меня все работает без перезагрузок? Наверное, потому что я осилил SIGHUP.

Nightwing
()
Ответ на: комментарий от quest

так и они хороший код писать не умеют - сработаетесь!

только ж потом это распихают по всем популярным дистрибутивам...

alwayslate ★★
()

Кто-нибудь, вызовите санитаров, человеку плохо. Хм. А как он умудрился набрать пять звезд...

Sociopsih ★☆
()
Ответ на: комментарий от droserasprout

В отличии от Шindows, оно умеет в восстановление значений по умолчанию и в встроенную документацию на разных языках. Что уж говорить про типизацию...

nexfwall ★★★★
()
Ответ на: комментарий от Manhunt

Детектор сарказма пробил стрелкой стенку конца шкалы, прорубил ей полный круг внутри устройства, и сделал ещё 100 таких кругов. Затем взорвался.

nexfwall ★★★★
()
Последнее исправление: nexfwall (всего исправлений: 1)
Ответ на: а как же хвалёный юниксвей? от f1u77y

Хвалёный юниксвей устарел, но продолжит жить в наших сердцах...

Совсем упоротые могут написать модуль для fuse, который будет представлять вот это вот всё в виде файловой системы.

nexfwall ★★★★
()

Я тоже частенько думал, когда же уже Леннарт сделает systemd-confd... А потом уже и fuse-модуль для упоротых, который будет «монтировать реестр» в /conf.

nexfwall ★★★★
()

Так там еще и реестр есть???

Да уж, обновляться буду на Devuan, или вообще на Gentoo...

shkolnick-kun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.