Відповіді:
Я вирішив піти на підхід CLI та Alt + Ctrl + F2, щоб ви могли БЕЗКОШТОВНО робити це під час входу в графічний інтерфейс.
Редагувати /etc/network/interfaces
:
sudo nano /etc/network/interfaces
Якщо ви вводите це з LXTerminal під час входу в GUI, виконайте вказані нижче дії.
gksudo leafpad /etc/network/interfaces
Видаліть все, що там написано, і просто збережіть це:
auto lo
iface lo inet loopback
Дуже добре зберегти резервну копію файлу "інтерфейси" про всяк випадок, тому обов'язково збережіть файл "interfaces.bak", перш ніж робити що-небудь
Ctrl+ Oякщо ви використовуєте nano та Ctrl+ S(файл> зберегти), якщо ви використовуєте лист.
Ctrl+ Xякщо ви використовуєте nano і Ctrl+ Q(файл> вийти), якщо ви використовуєте лист.
Перезавантажте.
Зроблено.
auto lo
; 2-й рядокiface lo inet loopback
network-manager
встановили. Він встановлюється на настільній версії Ubuntu, але не на серверній версії. Якщо у вас не network-manager
встановлено, а ви це робите, то жоден з ваших інтерфейсів не працюватиме
У будь-якій ситуації, в якій я зіткнувся, це проблема в / etc / network / інтерфейсах
Вам не доведеться видаляти все, як було запропоновано в попередньому дописі, а навпаки, перевірити на наявність загальних проблем.
У моєму випадку це було визначення параметра шлюзу для додаткової 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
2-й параметр шлюзу призведе до того, що ubuntu зависне на 60+ секунд під час завантаження, вам потрібно лише визначити шлюз для першого розділу eth0, вам потрібно визначити шлюз для будь-яких додаткових карт nic, IE eth1, wlan0 тощо, але НЕ для додатковий IPS, присвоєний одному і тому ж nic. Більш рання версія 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 (дротове з'єднання)). Мені не хочеться чекати дві додаткові хвилини для завантаження мого ноутбука, оскільки у мене немає підключеного дротового з’єднання.
У мене була схожа проблема. Запустивши 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.
auto p4p1
з allow-hotplug p4p1
і ваш комп'ютер також черевики швидко , якщо Ethernet вниз. Однак це залежить від вашої установки. Наприклад, якщо це робоча станція або сервер з мережевими спільними можливостями ( NFS
або Samba
), ви остаточно хочете зачекати, поки мережа стане доступною, перш ніж продовжувати, то allow-hotplug
це буде неправильним вибором.
ifconfig -a
я виявив, що інтерфейси справді eth4
і є eth5
.
auto lo iface lo inet loopback
не працює