Ответы:
Я решил использовать CLI и Alt + Ctrl + F2, чтобы ВЫ БЕСПЛАТНО делали это, когда вы вошли в GUI. Хорошо, я напишу общие шаги, поэтому не стесняйтесь использовать любой подход, который вам нравится.
Редактировать /etc/network/interfaces
:
sudo nano /etc/network/interfaces
Если вы печатаете это из LXTerminal при входе в GUI, тогда:
gksudo leafpad /etc/network/interfaces
Удалите все, что там написано, и просто оставьте это:
auto lo
iface lo inet loopback
Рекомендуется на всякий случай сохранить резервную копию файла "interfaces", поэтому обязательно сохраните файл "interfaces.bak", прежде чем что-либо делать.
Ctrl+ Oесли вы используете nano и Ctrl+ S(Файл> Сохранить), если вы используете leafpad.
Ctrl+ Xесли вы используете nano и Ctrl+ Q(File> Quit), если вы используете leafpad.
Перезагрузка.
Готово.
auto lo
; 2-я строкаiface lo inet loopback
network-manager
установили. Он устанавливается на настольную версию Ubuntu, но не на версию сервера. Если вы не network-manager
установили, и вы делаете это, то ни один из ваших интерфейсов не будет работать
В любой ситуации, с которой я столкнулся, это проблема в / etc / network / interfaces
Вам не нужно удалять все, как предложено в предыдущем посте, а проверять наличие общих проблем.
В моем случае это было определение параметра шлюза для дополнительных IPS Ethernet. Вам нужно только определить шлюз для основного интерфейса для каждой карты.
Под этим я подразумеваю, что ваш файл выглядит так:
auto eth0
iface eth0 inet static
address 10.0.0.5
netmask 255.255.255.0
network 10.0.0.0
gateway 10.0.0.1
auto eth0:0
iface eth0:0 inet static
address 10.0.0.6
netmask 255.255.255.0
network 10.0.0.0
#gateway 10.0.0.1
Второй параметр шлюза заставит Ubuntu зависать на 60+ секунд во время загрузки, вам нужно только определить шлюз для первого раздела eth0, вам НЕОБХОДИМО определить шлюз для любых дополнительных ник карт, IE eth1, wlan0 и т. Д., Но НЕ для дополнительные IPS назначены на тот же ник. В более ранней версии Ubuntu не было проблем с этим, но Ubuntu 12.04 не нравится ... Будьте хороши, если можете просто проигнорировать это.
Я уверен, что есть другие «проблемы» в этом файле, которые могут вызвать это, поэтому вы должны проверить файл и убедиться, что нет опечаток и т. Д.
Это также может помочь: http://tech.pedersen-live.com/2012/05/disable-waiting-for-network-configuration-messages-on-ubuntu-boot/
В основном вы редактируете этот /etc/init/failsafe.conf
файл и отключаете (комментируете) sleep
команды, которые фактически приостанавливают работу системы. Помимо выполнения работы, по крайней мере, в моем случае не было никакой ошибки в конфигурации сети, поэтому все прошло нормально.
Кстати, ваше решение позволяет настраивать только петлевой интерфейс, чего я не мог себе позволить в своей настройке (мне пришлось вручную настраивать интерфейсы и мосты).
failsafe.conf
является излишеством
Реальным (!) Решением этой проблемы является следующая команда:
sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces
При /etc/network/interfaces
этом все интерфейсы (кроме lo
) изменяются с auto
на allow-hotplug
. Таким образом, загрузка больше не ждет, пока интерфейсы появятся первыми.
Предупреждение. После этого изменения постоянно подключенный интерфейс может оставаться недоступным после загрузки, пока не
systemd
получит событие реального подключения. Смотрите примечания ниже.
Пример до (посмотрите на auto eth0
):
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Пример после (посмотрите на allow-hotplug eth0
):
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Примечания:
Если вы подключаете общие сетевые ресурсы /etc/fstab
, используйте, auto
а не allow-hotplug
для интерфейса с общими сетевыми ресурсами. В противном случае вы можете увидеть странные вещи, происходящие в процессе загрузки, потому что сеть должна быть доступна до монтирования общих сетевых ресурсов. allow-hotplug
не гарантирует этого.
Если интерфейсы находятся в auto
режиме, вы говорите: «Эти интерфейсы имеют решающее значение для загрузки, поэтому мы должны дождаться их появления, прежде чем загрузиться ». Следовательно, если они не появляются, Ubuntu задерживает загрузку с помощью отказоустойчивого, ожидая их появления в течение 120 секунд. И это правильно.
В отличие от интерфейсов, которые настроены, чтобы allow-hotplug
сообщить Ubuntu, что они являются необязательными. Следовательно, они не обязательны для загрузки.
Ubuntu записывает, какие интерфейсы доступны во время установки, и предполагает, что они важны для дальнейшей работы. Это консервативный выбор в случае, если впоследствии необходим интерфейс, потому что к нему привязывается какая-то служба, так как такие службы не запускаются, если им не хватает работающего интерфейса.
Также имеется параметр ядра, который позволяет процессам связываться с несуществующими IP-адресами, поэтому вы всегда можете использовать их, allow-hotplug
если хотите, без ущерба для стабильности процесса загрузки. Однако это совсем другая история.
Примечания (обновление 2018-01-04):
На моей стороне, allow-auto
делает так же, как auto
, так что не помогает (пробовал с br0
).
После обновления одной из моих систем до Debian Stretch и переключения на SystemD загрузка стала невыносимо отложенной в ожидании появления интерфейса (постоянно подключенного снаружи) br0
. Однако с allow-hotplug
интерфейсом br0
остался вниз после загрузки . Возможно, это вызвано тем, что SystemD не получает никакого реального или искусственного события подключения к такому интерфейсу. Я не копать глубже в это, как какой - то непонятной crontab
записи @reboot /sbin/ifup br0
для root
фиксированной это для меня. (Это работает, но, вероятно, это то, что лучше не рекомендовать другим. Я хотел бы услышать, если у кого-то есть идея получше.)
((Текст заканчивается здесь, остальное для вашего развлечения))
И вот история перед сном, вдохновленная этим:
Некоторые зерновые фермеры неистовствовали. Их посевы высохли! Поэтому они исследовали, почему в оросительной канаве не было достаточно воды. В ближайшем расстоянии они сразу же обнаружили своего виновника. Плотина! Проклятая плотина подняла всю воду!
С этого момента стало ясно, что делать. "Взрыв плотины!" они закричали и начали собирать свой динамит. Затем они все направились прямо к плотине.
Маленький сын одного из фермеров спросил своего отца о том, что происходит. Он сказал своему сыну: «В канаве недостаточно воды, поэтому мы взрываем плотину!» Затем он немедленно ушел, чтобы следовать за стаей.
«Но», - попытался крикнуть маленький отец своему отцу, - «Но есть клапан! Просто откройте клапан!» К сожалению, его голос был слишком мягким, а ноги были слишком короткими, поэтому это сообщение никому не дошло.
Мальчик сел и заплакал. Через полчаса он услышал отдаленный «Бум», который уничтожил его любимую площадку у плотины, где также находился клапан.
Что произошло дальше?
Потоп уничтожил все драгоценные культуры. Банк забрал ферму отца мальчика. Его отец не смог заплатить за хорошую школу. Так мальчик поступил в армию, чтобы получить высшее образование. Там он узнал все о физике взрывчатых веществ и теперь пытается изобрести взрывобезопасную плотину.
При чем здесь эта история?
Настройка интерфейса, в котором он находится, нарушается при удалении /etc/network/interfaces
режима сна в отказоустойчивом, и даже если кто-то увидит закрытый клапан ( auto
), никто не заметит, что он также может быть открытым!
Добавьте #
в /etc/init/failsafe.conf
файл перед всеми строками, содержащими sleep <n>
. Это поможет быстро загрузиться.
Это приведет к более быстрой загрузке и не устранит проблем с /etc/network/interfaces
файлом. Исправление проблем с /etc/network/interfaces
файлом не является целью /etc/init/failsafe.conf
файла.
Существуют ситуации, когда вы хотите, чтобы сетевой интерфейс не работал (например, у вас был ноутбук, у которого только некоторое время был подключен интерфейс eth0 (проводное соединение)). Я не хочу ждать 2 дополнительных минуты для загрузки моего ноутбука, потому что у меня нет подключенного проводного соединения.
У меня была похожая проблема. При запуске ifconfig -a
я определил, что единственными сетевыми устройствами на моем компьютере были p4p1
и lo
. Был нет eth0
.
Поэтому я редактировал /etc/network/interfaces
, заменяя все экземпляры eth0
с p4p1
. Содержимое файла теперь:
auto lo
iface lo inet loopback
auto p4p1
iface p4p1 inet dhcp
После перезагрузки сеть работала нормально.
Если это имеет значение, я использовал Ubuntu 12.04.5 Server edition.
auto p4p1
на, allow-hotplug p4p1
и ваш компьютер также быстро загружается, если Ethernet не работает. Однако это зависит от вашей настройки. Например, если это рабочая станция или сервер с общими сетевыми ресурсами ( NFS
или Samba
), вы определенно хотите подождать, пока сеть не станет доступной, прежде чем продолжить, поэтому allow-hotplug
будет неправильный выбор.
ifconfig -a
я обнаружил , что интерфейсы были действительно eth4
и eth5
.
auto lo iface lo inet loopback
не работает