Bug #593

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

Добавил(а) Evgeny Pashigorov больше 11 лет назад. Обновлено около 11 лет назад.

Статус:Feedback Начата:30.07.2013
Приоритет:Normal Дата выполнения:
Назначена:- Готовность в %:

0%

Категория:- Затраченное время: -
Версия:-
Голоса: 0

Описание

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

История

Обновлено Mikhail Hiretsky больше 11 лет назад

  • Параметр Статус изменился с New на Feedback

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

Обновлено Evgeny Pashigorov больше 11 лет назад

Наверное, мой английский сильно хромает, но фразу
"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 не запущен.

Обновлено Mikhail Hiretsky больше 11 лет назад

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

rc_net_wlan0_provide="!net"

Обновлено Evgeny Pashigorov больше 11 лет назад

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

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

Обновлено Mikhail Hiretsky больше 11 лет назад

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

Обновлено Evgeny Pashigorov больше 11 лет назад

# 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
без оглядки на зависимости.

Обновлено Mikhail Hiretsky больше 11 лет назад

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

modules_wlp2s0="plug"

Обновлено Evgeny Pashigorov больше 11 лет назад

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

Обновлено Mikhail Hiretsky больше 11 лет назад

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

Обновлено Mikhail Hiretsky больше 11 лет назад

Evgeny Pashigorov wrote:

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

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

Обновлено Михаил Гагауз около 11 лет назад

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

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

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

Обновлено Evgeny Pashigorov около 11 лет назад

В списке ваших служб я не вижу никаких сетевух. А вообще - какие скрипты запуска сетевух у вас есть?
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 мне конфигурирует?? :)
Долго мне еще к хенту привыкать!

Экспортировать в Atom PDF

Спасибо!