[devel] Q: systemd policy ?

Михаил amike на altlinux.ru
Вт Май 8 13:28:58 MSK 2012


On 8 мая 2012 10:48:42 Ildar Mulyukov wrote:
> On 07.05.2012 20:50:38, Михаил wrote:
> > On 7 мая 2012 13:28:09 Igor Vlasenko wrote:
> > > On Sun, May 06, 2012 at 01:07:05AM +0300, Igor Vlasenko wrote:
> > > > Если каноническое systemd имя сервиса
> > > > и традиционное альтовское название sysV скрипта расходятся,
> > > > что писать аргументом %post_service?
> > > 
> > > Как я понимаю, systemd имя сервиса переименовывать
> > > нельзя, если не желаем разложить граблей - это междистрибутивный
> > > инвариант и часть системы зависимостей systemd.
> > > 
> > > При желании можно переименовывать sysV скрипты.
> > > 
> > > Вопрос, какая у нас будет политика если имена разные?
> > > Будем усложнять %post_service или переименовывать sysV скрипт?
> > 
> > Можно символическую ссылку сделать на сервис в дереве systemd, с
> > таким же
> > именем как у init скрипта (см. bluetooth сервис) или в unit скрипте
> > Alias
> > прописать.
> 
> И как Вам понравятся два экземпляра одного сервиса, запущенные
> одновременно?
> systemd точно не понравятся: у него напротив этого сервиса будет FAILED.

Они не будут запущены одновременно, т.к. systemd знает, что это один и тот же 
сервис. Символическая ссылка нужна, что бы перекрыть имя сервиса в init 
пространстве. Посмотрите как реализован запуск bluetooth в systemd:
/lib/systemd/system/bluetoothd.service -> bluetooth.service
где, bluetoothd.service имя ссылки перекрывающее имя в init пространстве 
сервиса.

Из F.A.Q:

Q: I have a native systemd service file and a SysV init script installed which 
share the same basename, e.g. /lib/systemd/system/foobar.service vs. 
/etc/init.d/foobar -- which one wins?

A: If both files are available the native unit file always takes precedence 
and the SysV init script is ignored, regardless whether either is enabled or 
disabled. Note that a SysV service that is enabled but overriden by a native 
service does not have the effect that the native service would be enabled, 
too. Enabling of native and SysV services is completely independent. Or in 
other words: you cannot enable a native service by enabling a SysV service by 
the same name, and if a SysV service is enabled but a the respective native 
service is not, this will not have the effect that the SysV script is 
executed.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20120508/300adcdf/attachment.bin>


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