Ostatnia aktualizacja powoduje awarię menedżera sieci (brak połączenia z Internetem, brak apletu)

85

Podczas aktualizacji dzisiaj coś spowodowało zniknięcie mojego menedżera sieci bezprzewodowej. Nawet nie łączy się przez połączenie przewodowe.

Ten błąd jest wyświetlany przez pliki:

**(nm-applet:2716): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: The name org.freedesktop.NetworkManager was not provided by any .service files 

(nm-applet:2716): nm-applet-WARNING **: Error connecting to ModemManager: Error calling StartServiceByName for org.freedesktop.ModemManager1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Cannot launch daemon, file not found or permissions invalid 

(nm-applet:2716): nm-applet-WARNING **: Could not find ShellVersion property on org.gnome.Shell after 5 tries 

(nm-applet:2716): nm-applet-WARNING **: Failed to register as an agent: (2) The name org.freedesktop.NetworkManager was not provided by any .service files 

Czy istnieje łatka, którą mogę pobrać przez Windows i przesłać na moje Ubuntu, czy może trzeba ponownie załadować wszystko? Próbowałem uruchomić dwie wersje z powrotem, ale nadal nie miałem dostępu do Internetu.

Adam Albanowicz
źródło
(NetworkManager: 2425): OSTRZEŻENIE GLib **: Ustawiono błąd nad górną częścią poprzedniego błędu lub niezainicjowanej pamięci. Oznacza to błąd w czyimś kodzie. Musisz upewnić się, że błąd ma wartość NULL, zanim zostanie ustawiony. Nadpisywanie Komunikat o błędzie: Plik klucza nie ma grupy „łączność” jest to, co napotkały próbuje ponownie uruchomić menedżera sieci ... wrócił dziesięciu zestawów aktualizacji w Ubuntu, ale nadal się ukryć, że ...
Adam Albanowicz
1
Ten problem wystąpił tylko dla tych, którzy włączyli proposedrepozytorium. To był początkowo zły pomysł.
Pilot6
6
Powiem więcej, że złym pomysłem było promowanie libnl do proponowanych aktualizacji, bez testowania go tam z rzeczywistą wersją menedżera sieci ... a włączenie proponowanego ma prawdziwy cel w 2-letniej wersji lts ubuntu do targetowania * -lts-chytry na przykład, a ponadto 3 miesiące przed następnym wydaniem
lts
Dla odniesienia w przyszłości: „ostatnia” aktualizacja nie ma znaczenia, jeśli nie wspominasz, jakiej wersji Ubuntu używasz i do której wersji Network Managera uaktualniłeś.
muru
Napotkałem ten problem, który nie został naprawiony przez dłuższy czas. To, co robię, to sudo ifdown eth0po rozłączeniu i sudo ifup eth0podłączeniu nowego łącza :).
Hari KT

Odpowiedzi:

124

Przyczyna

Jest to spowodowane regresją wprowadzoną z poprawką dla błędu libnl3 # 1511735 . Następująca
awaria menedżera sieci została zgłoszona w błędzie menedżera sieci # 1539513 lub błędzie menedżera sieci # 1539634


Rozwiązanie

Zmniejsz pakiety libnl i poczekaj na aktualizację pakietu menedżera sieci


Krok 1

Spróbuj obniżyć libnl za pomocą apt-get jak w odpowiedzi @Max:

sudo apt-get install libnl-3-200=3.2.21-1 libnl-route-3-200=3.2.21-1 libnl-genl-3-200=3.2.21-1

Krok 2

Jeśli krok 1 nie powiedzie się,
ponieważ pakietów nie ma już w pamięci podręcznej i oczywiście nie można ich pobrać przez menedżera pakietów, musisz ręcznie obniżyć pakiety libnl (pobierz + zainstaluj):

  • Pobierz i skopiuj je do swojego systemu
    [z bootowania live distrib / ratunkowej płyty CD lub z innego komputera + pamięci USB]
    Pobierz linki do amd64 : libnl libnl-genl libnl-route
    Pobierz linki do i386 : libnl libnl-genl libnl-route

  • Wróć do systemu, w którym zapisałeś te .debpliki, zainstaluj je z dpkg:

    sudo dpkg -i libnl-*.deb
    

Krok 3

Teraz powinieneś być w stanie (ponownie) uruchomić NetworkManager i przywrócić sieć:

sudo service network-manager restart

Ogłoszenie

Te błędy trafiają do Ubuntu Trusty 14.04 dzięki wydanym aktualizacjom :trusty-proposed Właściwości aktualizacji oprogramowania

Gdzie ostatnia aktualizacja pakietów libnl z wersji 3.2.21-1do 3.2.21-1ubuntu1wprowadzenia regresji powodującej awarię menedżera sieci


Wtrusty-proposed
bieżącej wersji nie ma jeszcze żadnej aktualizacji menedżera sieci :0.9.8.8-0ubuntu7.2

Aktualizacja menedżera sieci jest teraz dostępna wtrusty-proposed
zaktualizowanej wersji: 0.9.8.8-0ubuntu7.3
proszę przetestować proponowany pakiet (nr 1539634 komentarz nr 11)


Dlatego do czasu uruchomienia aktualizacji w menedżerze pakietów powinieneś zastosować „wstrzymanie” - jak wspomniano w błędzie libnl3 # 1511735 komentarz nr 29 :

sudo apt-mark hold libnl-3-200 libnl-genl-3-200 libnl-route-3-200

Po zainstalowaniu przyszłej aktualizacji z trusty-proposedmożesz usunąć tę blokadę za pomocą:

sudo apt-mark unhold libnl-3-200 libnl-genl-3-200 libnl-route-3-200

Który wtedy pozwoli ci ponownie zaktualizować libnl

r2rien
źródło
1
Jeśli dobrze pamiętam, po zainstalowaniu tych trzech libnlpakietów (w wersji 3.2.21-1nie, nie 3.2.21-1ubuntu1musiałem restartować komputera. Myślę, że po prostu dokonałem ponownej instalacji sudo /usr/sbin/NetworkManager lub coś takiego. Czy to prawda? Zasadniczo pytam, czy konieczne jest ponowne uruchomienie komputera , a jeśli coś innego jest wystarczające?
Aaron McDaid
3
NetworkManger jest usługą (ale może zależeć od twojego systemu sudo service network-manager restart
operacyjnego
1
Poprawione formatowanie. Ja też tego doświadczam i ta odpowiedź zadziałała dla mnie.
laconbass 30.01.16
1
@laconbass dzięki znacznie poprawionemu formatowaniu ;-)
r2rien 30.01.2016
1
Jeśli ten błąd dotyczy Ciebie, kliknij dwa łącza błędów startera w drugim wierszu, a na stronie startera kliknij „Tak, ten błąd dotyczy Ciebie”. Następnie chwyć zgniłe pomidory i dołącz do mojego linczu, aby wywołać złą orientację. Dzięki za ten post!
guttermonk
10

Począwszy od 2016-05-13 ten libnl bug wpływa również użytkownikom bez wierny-zaproponowała , który prawie na pewno być kierowane tu przez Google.

Zaktualizowano libnli network-managerpakiety zostały już wydane, dlatego polecam aktualizację do przodu .

Włącz sieć ręcznie

Zakładając, że używasz połączenia przewodowego eth0i sieci z włączonym DHCP, skonfiguruj interfejs sieciowy za pomocą terminala:

sudo ifconfig eth0 up
sudo dhclient eth0

Zaktualizuj menedżera sieci

Po włączeniu i uruchomieniu sieci wykonaj aktualizację za pomocą narzędzia Software Updater lub za pomocą terminala apt-get.

Opcja A: Aktualizator oprogramowania

Uruchom narzędzie do aktualizacji oprogramowania i aktualizuj normalnie. W chwili pisania tego tekstu ustalone pakiety zostały już wydane.

Opcja B: apt-get

(nieprzetestowane). Jeśli chcesz zminimalizować ruchome części lub nie masz interfejsu graficznego, możesz także zaktualizować z terminala:

sudo apt-get update
sudo apt-get install network-manager
Eero Aaltonen
źródło
Dzięki wielkie! Nie mam w pobliżu pamięci USB, ale mój komputer stacjonarny ma połączenie przewodowe ... i to jest bardzo pomocne.
Kane
+1. Wydane zostały zaktualizowane wersje tych pakietów, jest to najczystsza poprawka. (Potwierdzam również, że zostałem trafiony bez włączonego „proponowanego” i musiałem zrzędliwie pamiętać, jak skonfigurować połączenia z iwconfig, zanim mogłem przejść do
trybu
8

Oprócz podanego rozwiązania chcę udzielić ogólnej porady.

Wyłącz „proponowane” repozytorium

To nie powinno być włączone. Ten „problem” dotyczył tylko tych użytkowników, którzy włączyli proponowane repozytorium i zainstalowali uszkodzony pakiet.

To repozytorium zawiera pakiety testowe, których nie zaleca się instalować, chyba że chcesz przetestować określone pakiety.

wprowadź opis zdjęcia tutaj

Wyłącz „proponowane”, jeśli nie chcesz tego rodzaju niespodzianek.

Więcej informacji można znaleźć w tym pytaniu .

Pilot 6
źródło
3
Proszę nie obwiniaj użytkowników. Moim zdaniem jest to dziecinne i nieproduktywne, ponieważ użytkownicy mogą obwiniać deweloperów. Lepszą odpowiedzią jest zwiększenie poziomu zrozumienia używanego systemu, a tym samym wiedzy na temat obsługi tego rodzaju błędu regresji
r2rien 31.01.16
3
Jako programista regresja wprowadzona przez poprawkę, niezależnie od jej poziomu legalności - JEST błędem. Czy mógłbym zasugerować, żebyś się trochę rozluźnił, twój ton brzmi paternalistycznie co najmniej. Po mojej stronie odpowiednio przeredagowałem swoją odpowiedź. Po twojej stronie i na twoim poziomie możesz podać kilka użytecznych linków, takich jak na przykład EnableProposed lub PerformingSRUVerification
r2rien
2
@ r2rien: Jeśli trzymasz się LTS, nawet jeśli dostępne są nowsze wersje systemu operacyjnego, nie bardzo lubisz używać „najnowszego i najlepszego” oprogramowania. Dlatego połączenie używania LTS i włączenia opcji na stałe jest niespójne. (Uderzyłem w ten sam problem, ale myślę, że sam muszę „winić”). Zgadzam się z Pilot6, że to nie jest błąd. Sufiks „-proposed” oznacza, że ​​jest on przeznaczony dla programistów i testerów.
Gunnar Hjalmarsson
2
Zgadzam się, że jest to błąd, ale w pakiecie testowym. Celem testowania jest znalezienie tego rodzaju problemów. Ale jeśli użytkownik nie chce „nagle” stawić czoła tego rodzaju problemom, repozytorium powinno zostać wyłączone.
Pilot6
2
Tak, większość użytkowników nie powinna mieć włączonych zaufanych propozycji lub zaufanych backportów. Jednak na dzień 13 maja 2016 r. Najwyraźniej ten sam błąd pojawił się u niektórych osób, które nie korzystały z zaufanych backportów, wymagających ręcznej pracy w sieci lub aktualizacji menedżera sieci do wersji 0.9.8.8-0ubuntu7.3. Zobacz [ bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1581535]
Cedric Knight
3

Zaktualizuj network-manager 0.9.8.8-0ubuntu7.2i uruchom ponownie.

Gorące obejście: używanie ręcznych ustawień sieciowych sudo nano /etc/network/interfaces

Obejście problemu!

Obniż liczbę bibliotek:

sudo apt-get install libnl-3-200=3.2.21-1 libnl-route-3-200=3.2.21-1 libnl-genl-3-200=3.2.21-1
Max
źródło
To wcale nie daje odpowiedzi.
Eduardo Cola
Obniżenie bibliotek może spowodować awarię innych programów - pamiętaj o tym.
Thomas Ward
Dla mojego systemu (ElementaryOS, Linux 3.19.0-49-generic # 55 ~ 14.04.1-Ubuntu 14.04) zmiana wersji zakończyła się powodzeniem i nm znów działa.
Max.
1
-1 Chociaż może to działać w podstawowym systemie operacyjnym, Ubuntu jest innym systemem operacyjnym, więc poprawka może być niezgodna.
David
3
Ta odpowiedź jest poprawna. Działa dla mnie z Ubuntu 14.04. Osobno pobrałem starsze wersje trzech pakietów ( libnl-...) i zainstalowałem je za pośrednictwem dpkg -i. Dziś rano moja maszyna miała dokładnie tę wersję ( 3.2.21-1, nie 3.2.21-1ubuntu1) tych trzech pakietów wymienionych w odpowiedzi
Aaron McDaid
2

Miałem ten sam problem dziś rano i obniżenie poziomu pakietów libnl również zadziałało.

I ponownie uruchomiony za pomocą ratunkową płytę CD, pobrane libnl-3-200-3.2.21-1_amd64.deb, libnl-genl-3-200_3.2.21-1_amd64.deba libnl-route-3-200_3.2.21-1_amd64.debod http://archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/ , zainstalowany przy użyciu dpkg -ii ponownie uruchomiony.

Sieć powróciła. To może nie być ostateczna poprawka, ale na razie pomogło mi 14.04.

Oto raport o błędzie: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1539634 .

Daniel Young
źródło
1

Wiedziałem, że poprawka zostanie szybko rozwiązana, trudną kwestią był problem z kurczakiem i jajkami w Internecie. Jednym ze sposobów jest użycie przewodowej sieci Ethernet, która jest naprawdę bardzo łatwa:

Otwórz terminal

sudo dhclient eth0
sudo apt-get update
sudo apt-get upgrade
Dave Crooke
źródło
0

Jestem bardzo nowym początkującym w Ubuntu i to także nietechniczny człowiek, który ma bardzo małe doświadczenie w posługiwaniu się językami komputerowymi.

napotkałem podobny problem z nm

zgodnie z instrukcją r2rien pobrałem trzy pliki z podanych przez niego linków

(po pierwsze nie mogłem zrozumieć, że są to trzy linki, ale dzięki jego precyzyjnemu użyciu angielskiego: słowo „pliki” sprawiło, że znów podniosłem wzrok, a pozostałe dwa pliki pobrałem)

wtedy nie mogłem go zainstalować

nie mogłem zrozumieć gwiazdki w „sudo dpkg -i libnl - *. deb”

ile razy próbowałem instalować najpierw pliki osobno, potem razem, potem przez apt-get; czasami zamiana = zamiast _ jak 3-200 = 3.2.21-1 zamiast 3-200_3.2.21-1. wciąż nie ma rezultatu. przeszukałem sieć, a potem znalazłem bardzo prosty sposób na zrobienie tego. przeciągając plik do terminala po „sudo dpkg -i”

następnie napotkał inny problem: wyzwalacze przetwarzania ... to również, gdy ktoś dał sugestię po prostu „enter, a następnie nazwa użytkownika i enter” rozwiązał problem. wciąż był sceptyczny. w końcu zadziałało. dzięki r2rien i przyjaciele.

Dev
źródło
Gwiazdka w „libnl - *. Deb” jest symbolem wieloznacznym, więc polecenie wpłynie na wszystko, co zaczyna się od „libnl-”, a kończy na „.deb”. Na marginesie: w społecznościach StackExchange dobrze jest umieszczać w komentarzach takie komentarze, które są komentarzami do rozwiązań innych ludzi, a nie jako odpowiedzi same w sobie.
nikobelia,