Здравствуйте Alexey Shabalin В сообщении от 3 мая 2016 Alexey Shabalin написал(a): > 3 мая 2016 г., 14:18 пользователь Hihin Ruslan написал: > > Создал тестовые задания на новые версии udb-modeswitch > > > > http://git.altlinux.org/tasks/164160/ > > http://git.altlinux.org/tasks/164159/ > > Сразу замечания. Обновление апстримных исходников и правку > spec'ов делайте пожалуйста в разных коммитах. Ок, постараюсь. > > Требуется ваша консультация, судя по всему программу с udev > > перевесили на systemd. > > не увидел никаких перевешиваний на systemd. как все было > раньше, так и осталось. точнее, как не было нормальной > поддержки sysv, так и нет :) зато увидел в > usb-modeswitch-data/ChangeLog > "ATTENTION: requires usb-modeswitch version >= 2.3.0" > а в спеке этой зависимости не увидел. Ок. > > Всвязи с этим вопросы: > > -------------------------------- > > - не правильние-ли оставить правила udev (не везде-же есть > > systemd). > > так они же остаются. или нет? > без правил ничего работать не будет. посмотрите на них - > правила udev стартуют сервис. > поэтому специально включать этот сервис не надо. > > > - как правильно команды (и какие) вписать в spec, или > > добавить в пакет, что-бы сервис начал подниматься. > > все как и раньше. читайте документацию. > - обычно сервисы не должны стартовать самостоятельно при > установке из-за вопросов с безопасность(есть исключения). > администратор сам осознано их включает с помощью chkconfig. > должны включаться или нет сервисы при установке определяется в > заголовке инит-скрипта # chkconfig: - 11 91 - при установке > не пропишется в автозагрузке. надо делать chkconfig foo on > # chkconfig: 345 11 91 - при установке пропишется в > автозагрузке на 3,4,5 уровни. > > для systemd аналогичный механизм размещается в > /lib/systemd/system-preset/* файлах > > в спеках как и раньше достаточно только > %post > %post_service foo > > %preun > %preun_service foo > > > - нельзя-ли сделать какой-то трюк, что-бы в систему с > > systemd устанавливался-бы сервис, а с SysVinit правило udev > > (ну или демон в rc.d ...). > > Стандартный для нас трюк - одинаковое имя сервиса для sysv и > для systemd (/etc/init.d/foo и > /lib/systemd/system/foo.service) Обычно дополнительных трюков > не надо. > > Но у вас в данном конкретном случае совсем другой вариант с > использованием usb_modeswitch@.service. таких аналогов под > sysv не существует. usb_modeswitch@.service я его не понял, как запускать, ругается про то, что не предусмотрен такой сервис (попозже могу дословно привести), отсюда я понял и не работает. Видно, надо в /lib/systemd/system-preset/* файлах прописать. Т.е. если делать и для sysv, надо какой-нибудь usb_modem придумывать? Что-бы и там и там работал. Честно не понял, зачем нагородили с номерами и какой в них смысл. usb_modeswitch@1.service и т.д. > По существу. > - правила udev паковать обязательно. они запускают > RUN+="usb_modeswitch '%b/%k' - usb_modeswitch - определяет > работает ли под systemd и запускает сервис, если нет то > запускает команду напрямую без всяких сервисов. > > В общем никакой самодеятельности вам предпринимать не надо :) Я-бы и не рыпался, так не работает, как надо ни с новым пакетом, ни со старым. -- А ещё говорят так (fortune): 20. What do mean by "fired"? --Top 100 things you don't want the sysadmin to say ________________________________________________________________________ С уважением Хихин Руслан