История изменений
Исправление intelfx, (текущая версия) :
Вот, блин, морока на ровном месте, лол
Да нет, не на ровном месте. Как systemd узнает, когда на интерфейсе появился адрес, если dhcpcd ему это не сообщает?
Выходит, что мне юнит надо поднимать после dhcpd.service
Нет, потому что как я уже написал, твой сетевой менеджер (в данном случае это голый dhcpcd) получает адрес асинхронно, и факт запуска dhcpcd ещё ничего не означает.
Тебе нужно выкинуть голый dhcpcd и перейти на полноценный сетевой менеджер — например, systemd-networkd или NetworkManager по вкусу. systemd-networkd гораздо проще, но если у тебя Wi-Fi, то это только NetworkManager. После этого сделать
systemctl enable NetworkManager NetworkManager-wait-online
…и добавить network.target
с network-online.target
(оба) в зависимости:
[Unit]
Wants=network.target network-online.target
After=network.target network-online.target
Исправление intelfx, :
Вот, блин, морока на ровном месте, лол
Да нет, не на ровном месте. Как systemd узнает, когда на интерфейсе появился адрес, если dhcpcd ему это не сообщает?
Выходит, что мне юнит надо поднимать после dhcpd.service
Нет, потому что как я уже написал, твой сетевой менеджер (в данном случае это голый dhcpcd) получает адрес асинхронно, и факт запуска dhcpcd ещё ничего не означает.
Тебе нужно выкинуть голый dhcpcd и перейти на сетевой менеджер — например, systemd-networkd или NetworkManager по вкусу. systemd-networkd гораздо проще, но если у тебя Wi-Fi, то это только NetworkManager. После этого сделать
systemctl enable NetworkManager NetworkManager-wait-online
…и добавить network.target
с network-online.target
(оба) в зависимости:
[Unit]
Wants=network.target network-online.target
After=network.target network-online.target
Исходная версия intelfx, :
Вот, блин, морока на ровном месте, лол
Да нет, не на ровном месте. Как systemd узнает, когда на интерфейсе появился адрес, если dhcpcd ему это не сообщает?
Выходит, что мне юнит надо поднимать после dhcpd.service
Нет, потому что как я уже написал, твой сетевой менеджер (в данном случае это голый dhcpcd) получает адрес асинхронно, и факт запуска dhcpcd ещё ничего не означает.
Тебе нужно выкинуть голый dhcpcd и перейти на сетевой менеджер — например, systemd-networkd или NetworkManager по вкусу. Если у тебя Wi-Fi, то NetworkManager. После этого сделать
systemctl enable NetworkManager NetworkManager-wait-online
…и добавить network.target
с network-online.target
(оба) в зависимости:
[Unit]
Wants=network.target network-online.target
After=network.target network-online.target