On Sat, May 21, 2011 at 04:42:31PM +0400, Alexey Shabalin wrote: > Чёрт, с этим исправлением возникает другая проблема. > В ALTLinux много имён init-скриптов не соответствуют названиям из upstream. > Например udev -> udevd, bluetooth -> bluetoothd.service и т.п. > (добавляется d в конце имени). Вопрос, эти названия из upstream существуют в виде init-скриптов, или в каком-то ином виде? Например, если апстрим реализует некий демон SERVICEd, то init-скрипт у нас с высокой вероятностью будет называться SERVICEd а не SERVICE. Просьба прояснить картину. > Для работы с systemd на такие имена сделаны симлинки > # ls -l /lib/systemd/system/udevd.service > lrwxrwxrwx 1 root root 12 Май 21 17:39 > /lib/systemd/system/udevd.service -> udev.service > [root@shabalin-nb ~]# ls -l /lib/systemd/system/bluetoothd.service > lrwxrwxrwx 1 root root 17 Май 21 17:39 > /lib/systemd/system/bluetoothd.service -> bluetooth.service > > Это работает для start|stop (systemctl start|stop foo.service или > service foo start|stop ), > но не работает для enable|disable ( systemctk enable|disable > foo.service или chkconfig foo enable|disable) > Ругается что это symlink и хочет правильное имя. > > Как это объезжать? > - привести имена init-скриптов к апстримному виду В этом случае сломаются обновление пакетов и привычки у людей. > - привести имена .service файлов к ALTLinux виду В этом случае может ухудшиться переносимость .service-файлов. Если идти путем переименования, то придется рассматривать каждый случай в отдельности. > - научить systemd делать enable|disable для симлинков (а симлинк может > быть и на /dev/null - для systemd это нормальный способ выключить или > замаскировать сервис). Если симлинк ведет на /dev/null, то как ему можно сделать enable|disable? -- ldv