Bug #593

open-rc : проблема с зависимостями скриптов

Added by Evgeny Pashigorov over 10 years ago. Updated over 10 years ago.

Status:Feedback Start:07/30/2013
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:- Spent time: -
Target version:-
Votes: 0

Description

На компьютере 2 сетевых карты: ethernet и wifi.
Сконфигурированы.
После перезагрузки с ethernet все нормально. Карточке wifi не назначается
сетевой адрес, кроме того не работают сетевые сервисы: hostapd, samba, sshd, vnc.
Чтение лога загрузки с экрана (кстати, куда пишут лог стартовые скрипты?)
показало, что сервисы запущены, но ждут мою сетевую wifi карточку, которая сконфигурирована, но не активна.
Конечно не активна! Это соединение нужно лишь время от времени, а не постоянно.
Пока что проблему решил самописным скриптом, запускающим нужные мне сервисы без всяких зависимостей.
Как правильно исправить это в Calculate, я не знаю.

History

Updated by Mikhail Hiretsky over 10 years ago

  • Status changed from New to Feedback

Укажите в переменной rc_hotplug конфига /etc/rc.conf те сетевые интерфейсы, которые означают запуск сети.

Updated by Evgeny Pashigorov over 10 years ago

Наверное, мой английский сильно хромает, но фразу
"rc_hotplug is a list of services that we allow to be hotplugged.
By default we do not allow hotplugging"
я понимаю как список устройств, которые разрешено подключать "на горячую"
(то есть, их не надо ждать во время загрузки).
В любом случае, пишу ли я туда net.* или !net.*
сервисы все равно ждут эту злосчастную wi-fi, которая никогда не станет активной,
поскольку hostapd не запущен.

Updated by Mikhail Hiretsky over 10 years ago

Попробуйте добавить такую строку:

rc_net_wlan0_provide="!net"

Updated by Evgeny Pashigorov over 10 years ago

Правильно ли я понимаю, что в данной команде должно фигурировать
настоящее имя интерфейса? А то в моем Calculate wifi карточка
получила имя wlp2s0 (в связи с чем я поимел немало веселых минут,
перестали работать все скрипты, связанные с сетью).

Но неважно, пишу ли я: rc_net_wlan0_provide="!net"
или: rc_net_wlp2s0_provide="!net"
или даже: rc_net_wlp2s0_provide="!net.*"
- результата нет, сервисы ждут...

Updated by Mikhail Hiretsky over 10 years ago

Какие сервисы у Вас в автозагрузке?

Updated by Evgeny Pashigorov over 10 years ago

# rc-update
            alsasound |      default                                  
             bootmisc | boot                                          
       calculate-core |      default                                  
          consolefont | boot                                          
           consolekit | boot                                          
         cpufrequtils |      default                                  
                cupsd |      default                                  
                 dbus | boot                                          
                devfs |                                        sysinit
                dmesg |                                        sysinit
           fbcondecor |      default                                  
             firewall | boot                                          
                 fsck | boot                                          
              hostapd |      default                                  
             hostname | boot                                          
              hwclock | boot                                          
              keymaps | boot                                          
            killprocs |                        shutdown               
                local |      default nonetwork                        
           localmount | boot                                          
              modules | boot                                          
             mount-ro |                        shutdown               
                 mtab | boot                                          
              mylocal |      default                                  
              mymount | boot                                          
               net.lo | boot                                          
             netmount |      default                                  
              numlock |      default                                  
              preload |      default                                  
               procfs | boot                                          
                 root | boot                                          
                samba |      default                                  
            savecache |                        shutdown               
                 sshd |      default                                  
                 swap | boot                                          
            swapfiles | boot                                          
               sysctl | boot                                          
                sysfs |                                        sysinit
            syslog-ng | boot                                          


Скрипт mymount - подпорка, осталась от перехода с Дебиана.
Мои cкрипты firewall и mylocal - запускают NAT, hostapd, задают адрес для wlp2s0
без оглядки на зависимости.

Updated by Mikhail Hiretsky over 10 years ago

Добавьте в /etc/conf.d/net:

modules_wlp2s0="plug"

Updated by Evgeny Pashigorov over 10 years ago

Добавил. Ничего не изменилось. По-прежнему ждут.
Мне кажется, мы где-то не там копаем.
Какой-то простой косяк (ведь без зависимостей все работает!).
А можете подсказать, в какой лог пишут скрипты из init.d ?

Updated by Mikhail Hiretsky over 10 years ago

Как я понимаю hostapd используется для wifi, а у Вас она в автозагрузке. Попробуйте удалить его из default.

Updated by Mikhail Hiretsky over 10 years ago

Evgeny Pashigorov wrote:

А можете подсказать, в какой лог пишут скрипты из init.d ?

Если логирование включено (в /etc/rc.conf), то по идее в /var/log/rc.log.

Updated by Михаил Гагауз over 10 years ago

перестали работать все скрипты, связанные с сетью).

Скажем спасибо за это Поттерингу, кстати, отключается эта дичайшая штука приписыванием к параметрам ядра дополнительно этого параметра net.ifnames=0

В списке ваших служб я не вижу никаких сетевух. А вообще - какие скрипты запуска сетевух у вас есть?
ls -l /etc/init.d/net.*

Updated by Evgeny Pashigorov over 10 years ago

В списке ваших служб я не вижу никаких сетевух. А вообще - какие скрипты запуска сетевух у вас есть?
ls -l /etc/init.d/net.*

$ ls -l /etc/init.d/net.*
lrwxrwxrwx 1 root root 6 авг. 5 22:23 /etc/init.d/net.enp3s0 -> net.lo
-rwxr-xr-x 1 root root 16919 янв. 11 2013 /etc/init.d/net.lo
lrwxrwxrwx 1 root root 6 авг. 5 22:23 /etc/init.d/net.wlp2s0 -> net.lo

Скрипты есть, я их повыключал, все равно они не работают, ждут друг друга. Тупо запускаю
скрипт mylocal:
cat /etc/init.d/mylocal
#!/sbin/runscript

depend() {
need localmount
after bootmisc modules
before dns
}

start() {
/etc/init.d/firewall start
/bin/ifconfig wlp2s0 192.168.2.11/24
/bin/ifconfig wlp2s0 up
/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
}

Теперь и сам удивляюсь, кто же ethernet мне конфигурирует?? :)
Долго мне еще к хенту привыкать!

Also available in: Atom PDF

Thank you!