«Ожидание конфигурации сети», добавление от 3 до 5 минут к времени загрузки

37

При запуске я получаю следующую информацию: от 3 до 5 минут, а обычно около 1 минуты:

Waiting network configuration
Booting system without full network configuration

После поиска я обнаружил, что я должен изменить / etc / networks / interface . Я закомментировал там все, но проблема остается:

# auto lo
# iface lo inet loopback

# auto eth0
# iface eth0 inet dhcp
# address 192.168.0.2
# netmask 255.255.255.0
# gateway 192.168.0.1
# broadcast 192.168.0.255

Как вы можете сделать запуск Ubuntu 11.10 быстрее?

Лео Леопольд Герц 준영
источник
5
Я не понимаю это поведение. Я не хочу менять свой интерфейсный файл каждый раз, когда я иду домой. Есть ситуации, когда у меня просто нет сети ИЛИ я использую wicd ПОСЛЕ входа в систему. Для меня как владельца ноутбука это означает ожидание 2 бессмысленных минут. Дважды каждый день. Кроме того: я настроил все интерфейсы как статические. Ни за что.
2
@jrg Это не проблема кода, это проблема разработки. Могу ли я сообщить об этой проблеме ошибку?
Лео Леопольд Герц 준영
1
Да, ты можешь. Просто отметьте, что это ошибка дизайна. :)
JRG
@jrg Каким должен быть статус ошибки? - Я выбрал xorg в качестве пакета, так как нужно было что-то выбрать. Я присвоил ему статус «недействительный», поскольку это не совсем так. - Речь идет о дизайне. Могут ли люди теперь понять, что статус ошибки не отклоняется, а только для пакета xorg?
Лео Леопольд Герц 준영
2
Используйте allow-hotplugвместо autoфайла / etc / network / interfaces, например, allow-hotplug enp0s25затем iface enp0s25 inet dhcp. Это говорит серверу не ждать, пока интерфейс загорится с ответом dhcp.
Захари Скотт

Ответы:

38

Во-первых, это новое поведение, описанное в примечаниях к выпуску 11.10, которое я на самом деле разработал вместе со Скоттом Мозером, чтобы повысить надежность загрузки сервера.

Комментирование loбудет означать, что у вас нет возможности локальной сети, что сломает некоторые программы, когда они попытаются использовать сеть. Это также приведет к тому, что ваша система никогда не загрузится, потому что это очень важно. Итак, оставьте эти две строки:

auto lo
iface lo inet loopback

Эти биты eth0означают, что ваша машина настроена на ожидание динамического адреса, который будет назначен ей, прежде чем сеть будет считаться UP . В pre-upstartверсиях Ubuntu (8.10 и более ранних) система ожидала этого до 60 секунд, прежде чем продолжить загрузку. Когда это upstartбыло добавлено, это условие больше не ожидалось, потому что сетевые интерфейсы, которые не всегда ожидали подключить, лучше управляются чем-то вроде network-manager.

Итак, если у вас есть сервер, вы, вероятно, захотите дождаться динамического адреса, иначе система загрузится без доступа всех своих сетей (что происходит, если для получения адреса требуется более 2 минут). Если у вас есть ноутбук, к которому вы не всегда рассчитываете подключиться eth0, настройте его eth0в диспетчере сети и удалите только те линии /etc/network/interfaces, которые должны избавить вас от задержки загрузки.

Имейте в виду, есть известная ошибка с, VMwareи dbusэто также вызывает это сообщение.

SpamapS
источник
1
Маси, звучит так, будто тебе нужно задать другой вопрос.
SpamapS
3
Извините, я новичок и до сих пор не понимаю, почему система должна ждать около 2-4 дополнительных минут для IP. И главный вопрос: «Мне нужен этот. Если у меня есть ноутбук, и я всегда использую проводные и беспроводные сетевые подключения?»
itun
2
@SpamapS и Скотт Мозер. Пожалуйста, верни это обратно. Вы наносите вред пользователям рабочего стола. Я понимаю вашу точку зрения, что вы экономите время на программировании, но, пожалуйста, учтите, если 100 миллионов пользователей теряют каждый день по 2 минуты из-за таких изменений. Это огромная стоимость! Пожалуйста, ветка Ubuntu Server полностью отличается от Ubuntu Desktop.
Лео Леопольд Герц 준영
5
голосуя за это для осознания, НО, как обычный пользователь рабочего стола, я ОЧЕНЬ несчастен, что для этого нет опции быстрой загрузки. Определенно воспринимается как деградация с 10.04 до 12.04 обновления. Эта проблема усугубляется тем фактом, что сетевой менеджер не может напрямую управлять настройками, такими как дуплекс и autoneg, что приводит к необходимости достичь этого через / etc / network / interfaces
prusswan
2
@SpamapS: Хотя я рад, что вы обдумали добавление опции «без ожидания», нужно подумать о том, почему Canonical так последовательно терпит неудачу в QA (пользователь за последние 6 лет, и я сталкиваюсь с регрессиями showtopper в каждом выпуске, который должен иметь помешал каждый релиз). Кроме того, сервер и минимальные компакт-диски широко используются для установки на рабочем столе, поскольку у графического установщика часто возникают проблемы и / или проще запустить минимальный компакт-диск на неисправных носителях. Определенно небезопасно предполагать, что, поскольку пользователь использует альтернативный или минимальный компакт-диск, он должен устанавливать сервер.
Джозеф Гарвин
8

Если вы переместили свою ОС с одного компьютера на другой, можно предположить, что udev создал конфигурацию, содержащую mac-адрес вашего старого сетевого устройства, который отличается от mac-адреса сетевого устройства от вашей новой системы.

Попробуйте удалить следующий файл, затем перезагрузите систему и посмотрите, решит ли это проблему:

/etc/udev/rules.d/70-persistent-net.rules
dachande
источник
dachange, спасибо за то, что я выбрал правильный путь для решения другой проблемы! я получал таймаут сброса на моем устройстве wlan0 rlt8185 при выполнении ip link set wlan0 up. Посмотрел файл 70-persistent-net.rules и прокомментировал строку, которая добавила мое беспроводное устройство, перезагрузилось и теперь оно работает!
6

Вы смешиваете 2 несовместимых способа присвоения адреса сетевому интерфейсу.

iface eth0 inet dhcp

говорит «отправьте пакет DHCPDISCOVER в физическую локальную сеть, дождитесь пакета DHCPOFFER от физически локального сервера DHCP и получите от него IP-адрес (см. http://www.rfc-editor.org/rfc/rfc1531. txt ), в то время как остальные строки присваивают значения интерфейсу «вручную». Важно, чтобы один из них правильно использовал метод назначения IP-адресов. Если в вашей локальной сети есть DHCP-сервер, вы должны его использовать. удалите строки "адрес", "маска сети", "шлюз" и "широковещание".

Если вы не подключены к «администрируемой» локальной сети (и не имеете DHCP-сервера) и хотите назначить параметры IP-адреса вручную, измените первую строку на:

iface eth0 inet static

и сохраните строки «адрес», «маска сети», «шлюз» и «широковещание». См. Http://www.rfc-editor.org/rfc/rfc5735.txt для получения подробной информации о том, какие IP-адреса доступны для использования. Параметры у вас выглядят хорошо для меня.

Читать

man 5 interfaces

просто комментировать все не лучший путь к счастью.

waltinator
источник
Спасибо за ваш ответ! - Почему моя Ubuntu работает с пустыми / etc / network / interfaces ? - Как вы видите, что он не работает нормально или эффективно?
Лео Леопольд Герц
Итак, последняя строка гласит: отправьте статический пакет в физическую локальную сеть, дождитесь статического пакета из физической локальной сети и получите из него IP-адрес.
Лео Леопольд Герц 준영
Я знаю [code] iface eth0 inet статический адрес 192.168.0.2 сетевая маска 255.255.255.0 шлюз 192.168.0.1 широковещательный 192.168.0.255 [/ code], в моем / etc / network / interfaces, и проблема все еще сохраняется: загрузка много.
Лео Леопольд Герц
Нет. В строке с «static» написано «Получить IP-адрес из следующих строк», сетевые пакеты не отправляются.
вальтинатор
1
Я думаю, что понял. Поскольку ваша мобильная широкополосная сеть не настроена, когда последовательность загрузки делает это ifconfig -aво время запуска, вы получаете тайм-аут.
вальтинатор
5

Похоже для меня, лучшее решение для этой проблемы было найдено на этом сайте Linux

По сути, по-прежнему вызывать /etc/init/failsafe.conf, но комментировать два спящих вызова, которые вызвали задержку. Я действительно не понимаю, почему они были добавлены, так как моя сеть настроена нормально без необходимости задержки.

Тед
источник
3

я использую

eth0 inet dhcp

Я не вижу смысла ждать, когда нет ссылки (отсутствует кабель). Нет способа, которым dhcp может получить адрес, если нет носителя. Это ошибка

вах
источник
1
Я использую тот же код, но мне все равно приходится каждый раз ждать настройки сети.
Мэтью Уилсон
2

У меня недавно была такая же проблема. Я попытался зайти и закомментировать время ожидания в /etc/init/failsafe.confфайле и в итоге система просто пыталась загрузиться. Я исправил эту ошибку, загрузившись в безопасном режиме и перейдя в корневую оболочку и выполнив следующие действия, чтобы у меня были права доступа rw:

mount -o remount,rw / 

Затем я выполнил следующую команду, которая вызвала файл, чтобы я мог отредактировать его обратно в исходное состояние:

sudo nano /etc/init/failsafe.conf 

Сохраните и выйдите, затем перезагрузите систему.

clrn0979
источник
Подскажите, пожалуйста, что вы редактировали в файле failsafe.conf. Вы закомментировали спящие звонки? Я пытался это несколько лет назад безуспешно.
Лео Леопольд Герц 준영
2
Абсолютно. После того, как вы находитесь в тексте failsafe.conf, вы просто ищете спящие вызовы. Я поставил обратно на 5, 40 и 59 соответственно. Однако я не смог закомментировать засыпающие вызовы, так как это привело к непрерывной загрузке системы.
clrn0979
2

Используйте allow-hotplugвместо autoв /etc/network/interfacesфайле, например, allow-hotplug enp0s25затем iface enp0s25 inet dhcp. Это говорит серверу не ждать, пока интерфейс загорится с ответом dhcp. - Комментарий доктора Зима.

Лео Леопольд Герц 준영
источник
1
Если бы я мог проголосовать за этот ответ дважды, я бы! Спасибо :)
Оле Хенрик Скогстрём