Odpowiedzi:
Zdecydowałem się na podejście CLI i Alt + Ctrl + F2, więc jesteś WOLNY, aby to zrobić, gdy jesteś zalogowany do GUI - Okej, napiszę ogólne kroki, więc możesz swobodnie stosować dowolne podejście.
Edytuj /etc/network/interfaces
:
sudo nano /etc/network/interfaces
Jeśli piszesz to z LXTerminal podczas logowania do GUI, to:
gksudo leafpad /etc/network/interfaces
Usuń wszystko, co tam napisano i po prostu to zachowaj:
auto lo
iface lo inet loopback
Bardzo dobrym pomysłem jest przechowywanie kopii zapasowej pliku „interfejsów” na wszelki wypadek, dlatego pamiętaj o zapisaniu pliku „interfaces.bak”, zanim cokolwiek zrobisz
Ctrl+ Ojeśli używasz nano i Ctrl+ S(Plik> Zapisz), jeśli używasz leafpad.
Ctrl+ Xjeśli używasz nano i Ctrl+ Q(Plik> Wyjdź), jeśli używasz leafpada.
Restart.
Gotowy.
auto lo
; Druga linia toiface lo inet loopback
network-manager
zainstalowaniu. Jest instalowany na komputerowej wersji Ubuntu, ale nie na wersji serwerowej. Jeśli nie masz network-manager
zainstalowanego i to zrobisz, żaden z interfejsów nie będzie działał
W każdej napotkanej przeze mnie sytuacji jest to problem w / etc / network / interfaces
Nie powinieneś usuwać wszystkiego, jak sugerowano we wcześniejszym poście, ale raczej sprawdzać, czy nie występują typowe problemy.
W moim przypadku było to określenie parametru bramy dla dodatkowego IPS Ethernet. Musisz tylko zdefiniować bramę dla głównego interfejsu dla każdej karty.
Rozumiem przez to, że twój plik wygląda następująco:
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
Drugi parametr bramy spowoduje, że Ubuntu zawiesi się przez ponad 60 sekund podczas rozruchu, wystarczy zdefiniować bramę dla pierwszej sekcji eth0, musisz zdefiniować bramę dla dodatkowych kart nic, IE eth1, wlan0 itp., Ale NIE dla dodatkowe IPS przypisane do tej samej nici. Wcześniejsza wersja Ubuntu nie miała z tym żadnych problemów, ale Ubuntu 12.04 tego nie lubi ... Bądź miły, jeśli można to po prostu zignorować.
Jestem pewien, że w tym pliku występują inne „problemy”, które mogą to powodować, dlatego należy sprawdzić plik i upewnić się, że nie ma literówek itp.
To też może pomóc: http://tech.pedersen-live.com/2012/05/disable-waiting-for-network-configuration-messages-on-ubuntu-boot/
Zasadniczo edytujesz ten /etc/init/failsafe.conf
plik i wyłączasz (komentujesz) sleep
polecenia, które faktycznie wstrzymują system. Oprócz wykonania zadania, przynajmniej w moim przypadku nie było żadnego błędu w konfiguracji sieci, więc wszystko poszło dobrze.
Nawiasem mówiąc, twoje rozwiązanie pozwala jedynie skonfigurować interfejs pętli zwrotnej, na co nie było mnie stać w mojej konfiguracji (musiałem ręcznie skonfigurować interfejsy i mosty).
failsafe.conf
to przesada
Prawdziwym (!) Rozwiązaniem tego problemu jest następująca komenda:
sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces
W /etc/network/interfaces
tym zmienia się wszystkie interfejsy (oprócz lo
) od auto
do allow-hotplug
. W ten sposób boot nie będzie już czekał na pierwsze interfejsy.
Ostrzeżenie: po tej zmianie interfejs trwale podłączony może pozostać wyłączony po rozruchu, dopóki nie
systemd
otrzyma rzeczywistego zdarzenia wtyczki. Zobacz uwagi poniżej.
Przykład przed (spójrz na auto eth0
):
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Przykład po (spójrz na allow-hotplug eth0
):
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Uwagi:
Jeśli montujesz udziały sieciowe /etc/fstab
, używaj interfejsu do udziałów sieciowych , auto
a nie allow-hotplug
interfejsu. W przeciwnym razie podczas uruchamiania mogą się zdarzyć dziwne rzeczy, ponieważ sieć musi być dostępna przed podłączeniem udziału sieciowego. allow-hotplug
nie zapewnia tego.
Jeśli interfejsy są w auto
trybie, wyrażasz: „Te interfejsy są kluczowe dla rozruchu, więc musimy poczekać, aż pojawią się przed uruchomieniem”. Dlatego jeśli się nie pojawią, Ubuntu opóźnia rozruch z zabezpieczeniem przed awarią, czekając na ich pojawienie się do 120 sekund. I to jest właściwe.
W przeciwieństwie do interfejsów, które mają allow-hotplug
informować Ubuntu, że są opcjonalne. Dlatego nie są niezbędne do rozruchu.
Ubuntu rejestruje, które interfejsy są dostępne w czasie instalacji i zakłada, że są one ważne dla późniejszej pracy. Jest to konserwatywny wybór, na wypadek, gdyby interfejs był później potrzebny, ponieważ niektóre Usługi się z nim wiążą, ponieważ takie usługi nie uruchamiają się, jeśli przegapią interfejs.
Istnieje również ustawienie jądra, które pozwala procesom łączyć się z nieistniejącymi adresami IP, więc zawsze możesz użyć, allow-hotplug
jeśli chcesz, bez szkody dla stabilności procesu rozruchu. Jest to jednak zupełnie inna historia.
Uwagi (aktualizacja 2018-01-04):
Po mojej stronie allow-auto
robi to samo auto
, więc nie pomaga (próbowałem z br0
).
Po uaktualnieniu jednego z moich systemów do Debian Stretch i przejściu na SystemD, rozruch stał się nieznośnie opóźniony w oczekiwaniu na pojawienie się interfejsu (trwale podłączonego na zewnątrz) br0
. Jednak z allow-hotplug
interfejsem br0
pozostał po uruchomieniu . Być może jest to spowodowane tym, że SystemD nie otrzymuje żadnego rzeczywistego lub syntetycznego zdarzenia wtyczki na takim interfejsie. Nie kopać głębiej w to, jak jakiś niejasnych crontab
wpisu @reboot /sbin/ifup br0
do root
stacjonarnej to dla mnie. (To działa, ale prawdopodobnie jest coś, czego lepiej nie polecać innym. Chciałbym usłyszeć, czy ktoś ma lepszy pomysł).
((Tekst kończy się tutaj, reszta służy rozrywce))
A oto historia snów inspirowana tym:
Niektórzy rolnicy zaczęli szaleć. Ich uprawy wyschły! Sprawdzili więc, dlaczego w rowie irygacyjnym nie ma wystarczającej ilości wody. W bliższej odległości natychmiast zauważyli winowajcę. Tama! Cholerna tama podniosła całą wodę!
Od tego momentu stało się jasne, co robić. „Wysadzić tamę!” krzyczeli i zaczęli zbierać dynamit. Potem wszyscy ruszyli prosto w kierunku tamy.
Mały syn jednego z rolników zapytał ojca o to, co się dzieje. Powiedział swojemu synowi: „W rowie nie ma wystarczającej ilości wody, więc wysadzamy tamę!” Potem natychmiast wyszedł, by pójść za stadem.
„Ale”, mały próbował krzyczeć za ojcem: „Ale jest zawór! Po prostu otwórz zawór!” Niestety jego głos był zbyt łagodny, a nogi zbyt krótkie, więc ta wiadomość nie dotarła do nikogo.
Chłopiec usiadł i płakał. Pół godziny później usłyszał odległy „Bum”, który zniszczył jego ulubione plagi na tamie, gdzie również znajdował się zawór.
Co stało się później?
Powódź zmiotła wszystkie cenne plony. Bank zabrał farmę ojca chłopca. Jego ojciec nie był w stanie zapłacić za dobrą szkołę. Tak więc chłopiec wstąpił do wojska, aby uzyskać wyższe wykształcenie. Tam dowiedział się wszystkiego o fizyce materiałów wybuchowych i teraz próbuje wynaleźć tamę odporną na wybuch.
Co ta historia ma z tym wspólnego?
Ustawienie interfejsu, w którym żyje /etc/network/interfaces
, jest wysadzane w powietrze ze zdjętym snem w razie awarii, a nawet jeśli ktoś zobaczy zamknięty zawór ( auto
), nikt nie wypowiada, że można go również otworzyć!
Dodaj a #
w /etc/init/failsafe.conf
pliku przed wszystkimi wierszami zawierającymi sleep <n>
. Takie postępowanie pomogłoby szybko uruchomić komputer.
Doprowadziłoby to do szybszego rozruchu i nie rozwiązałoby żadnych problemów z /etc/network/interfaces
plikiem. Naprawianie problemów z /etc/network/interfaces
plikiem nie jest celem /etc/init/failsafe.conf
pliku.
Są sytuacje, w których chcesz , aby interfejs sieciowy nie działał (np. Masz laptopa, który tylko przez pewien czas jest podłączony tylko interfejs eth0 (połączenie przewodowe)). Nie chcę czekać 2 dodatkowe minuty na uruchomienie laptopa, ponieważ nie mam podłączonego połączenia przewodowego.
Miałem podobny problem. Po uruchomieniu ifconfig -a
stwierdziłem, że jedynymi urządzeniami sieciowymi na moim komputerze były p4p1
i lo
. Nie było eth0
.
Więc edytowany /etc/network/interfaces
, zastępując wszystkie wystąpienia eth0
z p4p1
. Zawartość pliku to teraz:
auto lo
iface lo inet loopback
auto p4p1
iface p4p1 inet dhcp
Po ponownym uruchomieniu sieć działała dobrze.
Jeśli to ważne, korzystałem z wersji Ubuntu 12.04.5 Server.
auto p4p1
go, allow-hotplug p4p1
a komputer szybko się uruchomi, jeśli Ethernet nie działa. Zależy to jednak od konfiguracji. Na przykład, jeśli jest to stacja robocza lub serwer z udziałami sieciowymi ( NFS
lub Samba
), zdecydowanie chcesz poczekać na dostępność sieci przed kontynuowaniem, więc allow-hotplug
byłby to zły wybór.
ifconfig -a
odkryłem, że interfejsy były naprawdę eth4
a eth5
.
auto lo iface lo inet loopback
nie działa