Как изменить время ожидания в systemctl


14

Когда я загружаю свою систему Debian, ее запуск зависает примерно на 2 минуты:

Loading, please wait...
[    5.191043] systemd-fsck[129]: /dev/mmcblk0p2: clean, 234192/873120 files, 2335263/3491328 blocks
[    6.645242] intel_rapl: no valid rapl domains found in package 0
[    6.643682] systemd-fsck[222]: fsck.fat 3.0.27 (2014-11-12)
[    6.664844] intel_rapl: no valid rapl domains found in package 0
[    6.660702] systemd-fsck[222]: /dev/mmcblk0p1: 3 files, 33/130812 clusters
[    **] A start job is running for LSB: Raise network interf...38s / no limit)

В конце концов, он перестает поднимать сетевой интерфейс и продолжает загрузку.

Вопрос: Как я могу изменить используемый тайм-аут systemctl, чтобы через 15 секунд перестала пытаться поднять сетевой интерфейс?

Дополнительная информация: источником проблемы является использование USB-ключа Wi-Fi на этой машине. Иногда ключ есть, иногда нет. Когда ключ не подключен, я ожидаю, что сетевой интерфейс не будет поднят, и я просто не хочу ждать слишком долго.

Ответы:


9

У меня была аналогичная проблема , и чесать голову по поводу отсутствия результатов Google (после того, как в конечном итоге на этой странице несколько раз), так что я решил просто прочитать о том , как systemdработает здесь .

В конце концов я понял, что networkingэто на самом деле сценарий инициализации SysV ( /etc/init.d/networking), который преобразуется в systemdслужбу во время выполнения ( /run/systemd/generator.late/networking.service), поэтому вы не можете просто изменить существующий сценарий.

Вместо этого вы должны переопределить его с помощью файла, например /etc/systemd/system/networking.service.d/reduce-timeout.conf, в вашем случае, содержащего:

[Service]
TimeoutStartSec=15

7

В системе под управлением Debian Jessie я смог добавить следующий код в файл, расположенный по адресу /lib/systemd/system/networking.service.d/network-pre.conf

[Service]
TimeoutStartSec=15

Это изменило «без ограничений» до ограничения в 15 секунд, заставляя систему загружаться намного быстрее, если сеть отключена.

Создание файла в /etc/systemd/system/networking.service.d/не оказало никакого влияния на эту систему, поэтому я отредактировал существующий файл в /lib/systemd/system/networking.service.d/. Если этот каталог пуст, создание нового файла .conf с кодом выше должно работать.

Не уверен, почему это отличается или это даже правильный способ настроить такую ​​вещь.


это решение работало для меня тоже. Принятый не сделал.
Мориц

AFAIK /lib/systemd/...предназначен для оригинальных сценариев и /etc/systemd/...для локального переопределения, поэтому я не уверен, почему он не работает для вас. Я тоже на Джесси.
DuBistKomisch

/lib/systemd/system/networking.serviceсодержится в стрейч тайм-аут 5 минут!
Филипп Гачу

5

У меня была похожая проблема, и оказалось, что моя система пыталась подключиться к Wi-Fi. Мое решение заключалось в изменении этой строки в / etc / network / interfaces:

auto wlan0

чтобы:

allow-hotplug wlan0

это хорошо сработало для моей платы Asus P5Q с четырьмя сетевыми картами (трудно понять, какой из четырех назначен как eth0). Я изменился auto eth0на allow-hotplug eth0\ n allow-hotplug eth1\ n allow-hotplug eth2\ nallow-hotplug eth3
Cauterite

1

Это проблема в сетевых скриптах Debian - они, очевидно, ждут появления всех интерфейсов и не имеют понятия «динамически появляющиеся» интерфейсы (как это systemd-networkdделает).

У вас есть два решения. Первое решение - уменьшить время ожидания конфигурации. Однако, как видно из вывода, который вы опубликовали ( ...38s / no limit), systemd не налагает никаких таймаутов на запуск сети. Так что это то, что вам нужно настроить в самих скриптах Debian.

Второе решение - использовать более современные инструменты для настройки вашей сети (например, NetworkManager), которые поддерживают динамически появляющиеся интерфейсы. Обратите внимание, что systemd-networkdздесь это будет бесполезно, поскольку в нем нет встроенной поддержки сетей WLAN.


Спасибо intelfx за ваш ответ. Есть ли какие systemd-либо указания относительно того, как настроить время ожидания в специфичных для Debian сценариях? Любой указатель на какое-то решение будет высоко ценится! (Я потратил много времени, гуглял и эмпирически баловался с вариантами, но пока безуспешно)
Джили

@Jealie: я никогда не использовал Debian или любые его производные, поэтому я не могу вам здесь помочь, извините. Было бы лучше, если бы вы добавили тег «debian» в свой вопрос, но вы отклонили мое изменение, в котором предлагалось именно это изменение ...
intelfx

@Jealle: Ах, хм, тогда я что-то неправильно понял ... извините.
intelfx
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.