[Баг починен] systemd, virtualbox и dhcp

lampslave
но резервную копию сделать всегда стоит :)
Это точно.. Вроде сейчас все работает, так что сделаю резервную копию прямо сейчас, спасибо.
Arch awesome @各行其道@
В общем, если кому то пригодится, напишу что получилось. Единственное, что все происходит не в virtualbox.
Была такая проблема: модем в режиме роутера, есть dhcpcd,
systemctl enable [email protected]
было сделано, но инет включается через раз, как я писал выше,- иногда все в порядке, а иногда полностью все зависает. (lampslave хорошо все объяснил, почему так получается)
Пришлось в качестве временного решения подправить [email protected] файлик таким образом:
[Unit]
Description=dhcpcd on %I
Wants=network.target
Before=network.target
After=systemd-logind.service
Requires=systemd-udev-settle.service
[Service]
Type=forking
PIDFile=/run/dhcpcd-%I.pid
ExecStart=/sbin/dhcpcd -A -q -w %I
ExecStop=/sbin/dhcpcd -k %I
[Install]
Alias=multi-user.target.wants/[email protected]
В результате, инет включается каждый раз, но (понятно), немного дольше стала проходить загрузка (правда, тоже, иногда, видимо, в зависимости от того, сколько им кого ждать приходится), например при последней загрузке было:
Startup finished in 4388ms (kernel) + 9950ms (userspace) = 14338ms
а в прошлый раз - 25000ms.
Вот такие дела. Вопрос решился, но будем ждать, как разрулят всё devs…
Arch awesome @各行其道@
Я заранее извиняюсь за скорее всего нубский вопрос, просто мне сейчас не особо хочется читать английскую документацию по написанию юнитов, а на родном языке я её пока не видел. Или я плохо смотрел?

Так вот, а если изменить зависимости вот таким образом, будет всё работать или нет?

[Unit]
Description=dhcpcd on %I
Before=network.target
After=systemd-udev-settle.service
И всё, без wants и requires.
Ok, сейчас попробую.. ))
Arch awesome @各行其道@
lampslave
Я заранее извиняюсь за скорее всего нубский вопрос, просто мне сейчас не особо хочется читать английскую документацию по написанию юнитов, а на родном языке я её пока не видел. Или я плохо смотрел?

Так вот, а если изменить зависимости вот таким образом, будет всё работать или нет?

[Unit]
Description=dhcpcd on %I
Before=network.target
After=systemd-udev-settle.service
И всё, без wants и requires.
Опа! Все работает и гораздо быстрее и каждый раз!
[[email protected] ~]$ systemd-analyze
Startup finished in 4337ms (kernel) + 10248ms (userspace) = 14586ms
Чудеса! Возникает вопрос, почему systemd-udev-settle.service мертвый?
[[email protected] ~]$ systemctl status systemd-udev-settle.service
systemd-udev-settle.service - udev Wait for Complete Device Initialization
	  Loaded: loaded (/usr/lib/systemd/system/systemd-udev-settle.service; disabled)
	  Active: inactive (dead)
	    Docs: man:udev(7)
	          man:systemd-udevd.service(8)
	  CGroup: name=systemd:/system/systemd-udev-settle.service
Очень интересно! И я запутался..
Arch awesome @各行其道@
Ну, по идее он ведь отвечает за обнаружение устройств, соответственно, когда всё обнаружено он спокойно может “спать”.
мертвое все , что не работает, не важно удачно процесс отсчитался или не очень. Удев(грубо говоря, точнее надо сказать не удев, а этот юнит) отработал при старте системы, более он не нужен. У меня он тоже какбы мертвый в момент удачного логина.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Понял.. Спасибо большое!
Arch awesome @各行其道@
sleepycat
А то, что я Wants и Requires предложил убрать - это нормально или как?
Хотя зря я наверное спрашиваю, переход-то не за горами, пора самому мануалами раскуриваться :)
линукс не винда, никто гарантии на работу системы на вашем железе не дает, я к тому, что каждый сам себе хозяин для пк. Поэтому есть конфиги, еслиб исправлять конфиги было бы неправильно, то их бы не было ;) . Ваши директивы в любом случае вызывают (ну если я правильно конечно понял ман) требуемый юнит , просто одна из них запустит юнит даже если требуемый юнит дал сбой, а др. в таком случае забракует юнит и он даже не будет пытаться взлетать. Вопрос наверно интереснее каким макаром вы поменяли юнит(правильно или неочень), но об этом пускай повторит nafanja, у него гдето было в сообщениях ;)) .
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
 
Зарегистрироваться или войдите чтобы оставить сообщение.