Bug #593
open-rc : проблема с зависимостями скриптов
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 11 years ago
- Status changed from New to Feedback
Укажите в переменной rc_hotplug
конфига /etc/rc.conf
те сетевые интерфейсы, которые означают запуск сети.
Updated by Evgeny Pashigorov over 11 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 11 years ago
Попробуйте добавить такую строку:
rc_net_wlan0_provide="!net"
Updated by Evgeny Pashigorov over 11 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 11 years ago
Какие сервисы у Вас в автозагрузке?
Updated by Evgeny Pashigorov over 11 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 11 years ago
Добавьте в /etc/conf.d/net
:
modules_wlp2s0="plug"
Updated by Evgeny Pashigorov over 11 years ago
Добавил. Ничего не изменилось. По-прежнему ждут.
Мне кажется, мы где-то не там копаем.
Какой-то простой косяк (ведь без зависимостей все работает!).
А можете подсказать, в какой лог пишут скрипты из init.d ?
Updated by Mikhail Hiretsky over 11 years ago
Как я понимаю hostapd
используется для wifi
, а у Вас она в автозагрузке. Попробуйте удалить его из default
.
Updated by Mikhail Hiretsky over 11 years ago
Evgeny Pashigorov wrote:
А можете подсказать, в какой лог пишут скрипты из init.d ?
Если логирование включено (в /etc/rc.conf
), то по идее в /var/log/rc.log
.
Updated by Михаил Гагауз about 11 years ago
перестали работать все скрипты, связанные с сетью).
Скажем спасибо за это Поттерингу, кстати, отключается эта дичайшая штука приписыванием к параметрам ядра дополнительно этого параметра net.ifnames=0
В списке ваших служб я не вижу никаких сетевух. А вообще - какие скрипты запуска сетевух у вас есть?ls -l /etc/init.d/net.*
Updated by Evgeny Pashigorov about 11 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 мне конфигурирует?? :)
Долго мне еще к хенту привыкать!