При последнем обновлении происходит сбой сетевого менеджера (без подключения к интернету, без апплета)

85

Во время обновления сегодня что-то привело к исчезновению моего менеджера беспроводной сети. Даже не подключается через проводное соединение.

Эта ошибка показывается файлами:

**(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 

Есть ли патч, который я могу скачать через Windows и отправить на мою Ubuntu, или это случай перезагрузки всего? Я попытался запустить две версии назад, но до сих пор нет доступа в Интернет.

Адам Альбанович
источник
(NetworkManager: 2425): GLib-WARNING **: GError, установленный поверх предыдущего GError или неинициализированной памяти. Это указывает на ошибку в чьем-то коде. Вы должны убедиться, что ошибка равна NULL, прежде чем она будет установлена. Сообщение об ошибке перезаписи было следующим: файл ключа не имеет группы «подключение» - это то, с чем я столкнулся, пытаясь перезапустить сетевой менеджер ... вернул десять наборов обновлений в Ubuntu, но все еще
нажимаю
1
Эта проблема произошла только для тех, кто включил proposedрепозиторий. Это была изначально плохая идея.
Pilot6
6
Более того, я скажу, что плохой идеей было продвижение libnl до предлагаемых обновлений, без тестирования там с реальной версией сетевого менеджера ... и включение предлагаемого имеет реальную цель для 2-летней версии lts для Ubuntu для нацеливания * -lts-wily, например, и более чем за 3 месяца до следующего выпуска
lts
Просто для справки в будущем: «последнее» обновление не имеет смысла, когда вы не упоминаете, какую версию Ubuntu вы используете и какую версию Network Manager вы обновили до.
Муру
Я столкнулся с этой проблемой, которая не была устранена в течение достаточно долгого времени. Что я делаю, это sudo ifdown eth0когда отключен и sudo ifup eth0когда подключена новая ссылка :).
Хари KT

Ответы:

124

причина

Это вызвано регрессией, введенной с исправлением ошибки libnl3 # 1511735 .
Результирующий сбой сетевого менеджера был обнаружен в ошибке сетевого менеджера # 1539513 или в ошибке сетевого менеджера # 1539634


Решение

Понизьте пакеты libnl и дождитесь обновления пакета network-manager


Шаг 1

Попробуйте понизить libnl с помощью apt-get, как в ответе @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

Шаг 2

Если на шаге 1 происходит сбой,
поскольку пакеты больше не находятся в вашем кэше и, очевидно, не могут быть загружены менеджером пакетов, вам нужно вручную понизить версию пакетов libnl (загрузка + установка):

Шаг 3

Теперь у вас должна быть возможность (пере) запустить NetworkManager и восстановить сеть:

sudo service network-manager restart

уведомление

Эти ошибки попадают в Ubuntu Trusty 14.04 с предварительно выпущенными обновлениями :trusty-proposed Свойства обновлений программного обеспечения

Где последнее обновление пакетов libnl от версии 3.2.21-1до 3.2.21-1ubuntu1введенной регрессии, вызывающей сбой сетевого менеджера


Вtrusty-proposed
текущей версии обновления для сетевого менеджера пока нет :0.9.8.8-0ubuntu7.2

Обновление network-manager теперь доступно вtrusty-proposed
обновленной версии: 0.9.8.8-0ubuntu7.3
пожалуйста, протестируйте предложенный пакет (# 1539634 комментарий № 11)


Таким образом, до тех пор, пока в вашем диспетчере пакетов не начнется обновление для него, вы должны применить «hold» - как упоминалось в сообщении об ошибке libnl3 № 1511735 № 29 :

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

После того, как trusty-proposedбудет установлено будущее обновление с, вы можете удалить это удержание с помощью:

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

Который затем позволит вам обновить libnl снова

r2rien
источник
1
Если я правильно помню, после установки этих трех libnlпакетов (в версии 3.2.21-1нет 3.2.21-1ubuntu1, мне не нужно было перезагружать машину. Я думаю, что я просто перезапустить sudo /usr/sbin/NetworkManager или что-то в этом роде. Это правильно? В принципе, я спрашиваю, нужна ли перезагрузка или если что-то еще достаточно?
Аарон МакДейд
3
NetworkManger - это сервис (но он может зависеть от вашей ОС / версии). Таким образом, a sudo service network-manager restartдолжно быть достаточно
r2rien
1
Улучшено форматирование. Я также испытываю это, и этот ответ работал для меня.
Laconbass
1
@laconbass благодаря вашему значительно улучшенному форматированию ;-)
r2rien
1
Если эта ошибка затронула вас, нажмите две ссылки об ошибках панели запуска во второй строке и на странице панели запуска нажмите «Да, эта ошибка влияет на вас». Тогда возьми свои гнилые помидоры и присоединяйся к моей линч-мафии для некоторого неверно направленного гнева. Спасибо за этот пост!
guttermonk
10

По состоянию на 2016-05-13 эта ошибка в libnl затрагивает также пользователей, у которых нет надежных предложений , которые почти наверняка будут направлены сюда Google.

Обновления libnlи network-managerпакеты уже выпущены, поэтому я рекомендую предварительное обновление .

Включить сеть вручную

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

sudo ifconfig eth0 up
sudo dhclient eth0

Обновить сетевой менеджер

Когда сеть запущена и работает, выполните обновление либо с помощью Software Updater, либо с помощью терминала apt-get.

Вариант А: средство обновления программного обеспечения

Запустите Software Updater и обновите его как обычно. На момент написания исправления пакеты уже были выпущены.

Вариант B: apt-get

(Непроверенные). Если вы хотите свести к минимуму движущиеся части или не имеете графический интерфейс, вы также можете обновить с терминала:

sudo apt-get update
sudo apt-get install network-manager
Ээро Аалтонен
источник
Огромное спасибо! У меня нет USB-накопителя, но на моем рабочем столе есть проводное соединение ... и это очень полезно.
Кейн
+1. Теперь выпущены обновленные версии этих пакетов, это очень чистое исправление. (Кроме того, подтверждая, что меня поразили этим без включенного «предложенного», и я должен был помнить, как настроить соединения с iwconfig, прежде чем я смог выйти в интернет)
nikobelia
8

Помимо данного решения хочу дать общий совет.

Отключить «предложенный» репозиторий

Это не должно быть включено. Эта «проблема» затрагивала только тех пользователей, которые включили предлагаемый репозиторий и установили сломанный пакет.

Этот репозиторий содержит тестовые пакеты, которые не рекомендуется устанавливать, если вы не хотите тестировать некоторые конкретные пакеты.

введите описание изображения здесь

Держите «предложено», если вы не хотите такого рода сюрпризов.

Вы можете обратиться к этому вопросу для получения дополнительной информации.

Pilot6
источник
3
Не вините пользователей, пожалуйста. На мой взгляд, это ребячество и не продуктивно, так как пользователи могут обвинить разработчиков. Лучшим ответом будет повышение уровня понимания системы, которую они используют, и, следовательно, их знания о том, как справиться с этим типом ошибки регрессии
r2rien
3
Как разработчик, регрессия, представленная исправлением, независимо от уровня его легитимности, является ошибкой. Могу я предложить вам немного расслабиться, ваш тон звучит по-отечески, если не сказать больше. Со своей стороны я перефразировал свой ответ. На вашей стороне, и на вашем уровне, вы могли бы представить некоторые Полезные ссылки, как EnableProposed или PerformingSRUVerification , например
r2rien
2
@ r2rien: Если вы придерживаетесь LTS, даже если есть более свежие версии ОС, вы не очень заинтересованы в использовании «новейшего и самого лучшего» программного обеспечения. Следовательно, сочетание использования LTS и постоянного включения -proposed несовместимо. (Я столкнулся с той же проблемой, но думаю, что должен сам "винить".) Я согласен с Pilot6, что это не ошибка. Суффикс «-proposed» подразумевает, что он предназначен для разработчиков и тестировщиков.
Гуннар Хьялмарссон
2
Я согласен, что это ошибка, но в тестовом пакете. Цель тестирования - найти подобные проблемы. Но если пользователь не хочет внезапно встречать такого рода проблемы, репо следует отключить.
Pilot6
2
Да, большинству пользователей не следует включать доверенные или доверенные обратные порты. Однако по состоянию на 13 мая 2016 года, по-видимому, такая же ошибка появилась для некоторых людей, которые не использовали trusty-backports, что требовало ручного подключения к сети или обновления сетевого менеджера до 0.9.8.8-0ubuntu7.3. См. [ Bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1581535]
Седрик Найт
3

Обновите network-manager 0.9.8.8-0ubuntu7.2и перезагрузите.

Горячий обходной путь: использование сетевых настроек вручную sudo nano /etc/network/interfaces

Рабочий обходной путь!

Понизьте некоторые библиотеки:

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
Максимум
источник
Это не дает ответа вообще.
Эдуардо Кола
Понижение уровня библиотек может привести к сбою других программ - имейте это в виду.
Томас Уорд
Для моей системы (ElementaryOS, Linux 3.19.0-49-generic # 55 ~ 14.04.1-Ubuntu 14.04) обновление прошло успешно, и nm снова заработал.
Макс
1
-1 Хотя это может работать на элементарной ОС, Ubuntu - это другая операционная система, поэтому исправление может быть несовместимым.
Дэвид
3
Этот ответ правильный. У меня это работало с Ubuntu 14.04. Я отдельно скачал более старые версии трех пакетов ( libnl-...) и установил их через dpkg -i. Этим утром моя машина имела именно ту версию (а 3.2.21-1не 3.2.21-1ubuntu1) этих трех пакетов, перечисленных в ответе
Аарон МакДейд
2

У меня была такая же проблема этим утром, и понижение пакетов libnl тоже сработало.

Я перезагружена с помощью загрузочного компакт - диска, скачал libnl-3-200-3.2.21-1_amd64.deb, libnl-genl-3-200_3.2.21-1_amd64.debи libnl-route-3-200_3.2.21-1_amd64.debиз http://archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/ , установил его с помощью dpkg -iи перезагружается.

Сеть вернулась. Возможно, это не окончательное решение, но оно заставило меня начать работу 14.04.

Вот отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1539634 .

Даниэль Янг
источник
1

Я знал, что решение будет быстро, сложная часть была проблема курицы и яйца выхода в Интернет. Одним из способов является использование проводного Ethernet, который действительно легко получить:

Откройте Терминал

sudo dhclient eth0
sudo apt-get update
sudo apt-get upgrade
Дейв Крук
источник
0

Я очень новичок в Ubuntu, и я тоже не техничный человек, у которого очень мало знаний об этих компьютерных языках и прочем.

я столкнулся с аналогичной проблемой с нм

по указанию r2rien я скачал три файла по указанным им ссылкам

(сначала я не мог понять, что это три ссылки, но благодаря его точному использованию английского: слово «файлы» заставило меня снова посмотреть, и я скачал остальные два файла)

тогда я не смог установить его

я не смог понять звездочку в "sudo dpkg -i libnl - *. deb"

сколько раз я пытался установить сначала файлы по отдельности, затем вместе, затем с помощью apt-get; иногда меняются местами = вместо _ как 3-200 = 3.2.21-1 вместо 3-200_3.2.21-1. до сих пор нет результата. искал в сети потом нашел очень простой способ сделать это. путем перетаскивания файла в терминале после "sudo dpkg -i"

затем столкнулся с другой проблемой: обработка триггеров ... что также, когда кто-то дал предложение, просто "введите, а затем имя пользователя и введите", он получил решение. был скептически до сих пор. наконец-то это сработало. спасибо r2rien и друзья.

Dev
источник
Звездочка в 'libnl - *. Deb' является символом подстановки, поэтому эта команда повлияет на все, что начинается с "libnl-" и заканчивается на ".deb". В качестве примечания: в сообществах StackExchange полезно размещать подобные сообщения, которые являются комментариями к решениям других людей, а не самими ответами.
Никобелия