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.