systemd, запуск демонов после поднятия сети

Выздоравливайте, да у меня был гемор с этим stp на чужом netgear. Но кстати диашсипи как раз таки работал, правда о системд тогда речи не шло, просто интуитивно мне тоже кажется что наврядли это stp(но не орицаю) . Да и проблем по части старта сетевых приложений раньше “железных и настроечных” вопросов все больше в сети появляется. Что то мне это не нравиться стало. То в системд все работает строго по графику, а то нипонятно как. И каждый случай что я вижу дело ВСЕГДА шло рядом с “встроенными” юнитами. Вот свои вроде как друг с другом работают согласно интсрукциям… Я тут думаю, может не так критично подвинуть сервисы подальше, например After аж multiuser. Есть еще костыль , с запуском слипа старого доброго перед запуском службы (ExecStartPre=/usr/bin/sleep 1). Но меня это напрягает, когда нужно считать этот слип, это одна их тех вещей, с которой я думал я попрощаюсь, перейдя на логику системд. Опять же я понимаю, что это не айс , но в случае экстренной ситуации подойдет все, не мне Вам рассказывать ;)
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
sleepycat
И каждый случай что я вижу дело ВСЕГДА шло рядом с “встроенными” юнитами. Вот свои вроде как друг с другом работают согласно интсрукциям…
Ну свои то ты отшлифовал… А встроенные сейчас сделаны ли ж бы работало… Требуют легкой подгонки…
Но я заметил что их уже начали немного подгонять. И сам системд подгоняется…
Например вариант netcfg.service, что я привел выше, больше не юзаю, использую встроенный, сейчас работает как часы без сбоев, а раньше через раз правильно отрабатывало…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Действительно, в логах нашел строчку “eth0 does not exist” - получается netcfg стартует раньше, чем появится сеть.
[Unit]
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
это вот помогло вроде, сеть уверенно поднимается.

Далее я в /etc/systemd/system положил копию gdm.service из /usr/lib/systemd, но добавил nslcd.service в After и Requires. А у самого nslcd прописал в After [email protected], [email protected], netcfg.service и net-auto-wired.service - ну на все случаи жизни в общем :) На тестовой машине работает, сейчас еще на пару компов поставлю и погоняю пару дней, посмотрю как работать будет.

Самое забавное, что теперь машина не выключается, на Umount filesystems зависает при выключении :D Видимо сеть отваливается раньше, чем NFS успевает все отмонтировать. Вот же засада на засаде :(

Хм, про мой косяк именно на виртуалбоксе даже есть тикет: https://bugs.archlinux.org/index.php?do … r_id=13974 ;)
попробуй посмотреть те юниты которые както работают с сетью, особенно если они явно или не явно чтото могут в систему монтировать, потом поиграй с параметром общего таймаута (дал бы точно, но сейчас на венде), оно имхо у тебя не повисает, а ждет стандартное время, которое почти минуте равняется. Я както сам по началу думал, что зависает. ))
Хотя поди разбери эти виртуальные машины, может не в этом дело.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
а ждет стандартное время, которое почти минуте равняется.
20 минут - никакой реакции :) И это везде, не только на виртуалках. Это и до systemd бывало, /home у пользователя сетевой, на момент выключения он еще держится, т.к. закрываются процессы, а потом уже умерла сеть - и nfs уже не отмонтируешь никак. Раньше была опция в rc.conf, чтобы вообще не отмонтировать nfs (это надо для корня на nfs), она в принципе помогала. И еще и демон netfs был, а теперь ничего этого нет :(
всякие хомяки у черта на рогах - это экзотика, тут простые элементы глючат, про эти молчу влообще(нет все же не хватает системд еще одного механизма, механизма проникновения в ее(система) мозги) . Да, согласен , больше 5 минут простоя явно говорят не о таймаутах.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
В своё время я довольно сильно поковырял у себя юниты, чтобы настроить сеть как надо, а не как попало.
Разумеется, ни в какие netcfg я не играл, и статические настройки сети проблем не вызвали, а вот с dhcpcd пришлось повозиться – у меня были варианты:
1) Тупой по-умолчанию – если сеть не настраивается сразу, через 30 секунд dhcpcd отваливается по таймауту, а systemd наконец продолжает загрузку, уже без сети. (Полный бред, руки поотрывать придумавшим.)
2) Прописать в юните для dhcpcd немедненный форк с бесконечным таймаутом. Плюсы – локальная сеть при возможности настроится в любом случае, загрузка не ждёт. Минусы – systemd не знает о статусе сети, нельзя привязать к нему загрузку зависимых от сети демонов, что неудобно.
3) Радикально перекроить схему загрузки юнитов systemd путём правки (замены) сразу многих юнитов, с целью отвязать продолжение загрузки от получения сети при неопределённо долгом ожидании статуса юнита dhcpcd и зависимых от сети демонов. В принципе, так оно и должно быть на самом деле в нормальной системе, и более-менее это у меня получилось :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.