Чому мережевий менеджер не запускається під час завантаження?


10

Я думаю, що це почалося через пару місяців тому, коли я перейшов з 10.04 до 12.04.

Щоразу, коли я перезавантажуюсь, мережевий менеджер не запускається. Доводиться вручну бігати sudo start network-manager, і тоді все працює добре.

Що я вже спробував (перезавантаження після кожної спроби виправлення):

  • Перевірено, що всі посилання /etc/rc*.d/*network-manager існують як слід.
  • Оскільки згадується файл конфігурації upstart менеджера мережі local-filesystems, а мій fstab мав посилання на жорсткий диск USB, який не підключений, я прокоментував цей рядок із fstab.
  • sudo dpkg-reconfigure network-manager і потім sudo apt-get install --reinstall network-manager
  • Подивився в системі підказки, не побачив нічого, що вискочило.

Я не думаю, що я змінив /etc/init/network-manager.conf, але ось це для довідки:

# network-manager - network connection manager
#
# The Network Manager daemon manages the system's network connections,
# automatically switching between the best available.

description "network connection manager"

start on (local-filesystems
      and started dbus
      and static-network-up)
stop on stopping dbus

expect fork
respawn

script
    # set $LANG so that messages appearing on the GUI will be translated. See LP: 875017
    if [ -r /etc/default/locale ]; then
        . /etc/default/locale
        export LANG LANGUAGE LC_MESSAGES LC_ALL
    fi

    exec NetworkManager
end script

Відповіді:


15

Розділ "Почати на" дає вам змогу дізнатися, які події потрібно випромінювати перед запуском мережевого менеджера.

У цьому випадку це:

  • локальні-файлові системи
  • dbus
  • статична мережа

Коефіцієнти - перші два вже випущені, якщо ви завантажилися на робочий стіл.

static-network-up випромінюється тим /etc/network/if-up.d/upstart script, що важливо, подія не випромінюється, якщо не буде запущено кожен інтерфейс, налаштований як "auto" /etc/network/interfaces.

У моєму випадку у мене залишився запис для eth0, в /etc/network/interfacesякому було налаштовано використовувати DHCP, але оскільки не було підключеної до et0net-мережі мережі, DHCP ніколи не може досягти успіху.

Ви можете сказати на початку, щоб випромінювати події, і можете використовувати це, щоб перевірити, чи немає цієї події статичної мережі.

  • Перезавантажте комп'ютер і не запускайте мережевий менеджер
  • man initctl(вам потрібно запустити команду emit за допомогою sudo, щоб не шкода бігти, man initctlщоб перевірити команди, розміщені в Інтернеті спочатку)
  • sudo initctl emit static-network-up(можливо, вам знадобиться через деякий час Ctrlпозначити Cце + )
  • initctl status network-manager (щоб перевірити, чи все почалося)

Якщо це вирішує вашу проблему /etc/network/interfaces, прокоментуйте все, крім:

авто ло
iface lo inet loopback

Потім перезавантажте і, сподіваємось, мережевий менеджер почнеться, як очікувалося.


Ви мертві прямо, це дурна ідіотична поведінка від NetworkManager, яка вирішує не запускати, оскільки щось інше, ніж loє у цьому файлі, навіть якщо це залишає WIFI повністю не налаштованим!
Forbesmyester

працював для мене, досить магічно: П
бог

5

У моєму Arch Linux мені потрібно було виконати наступну команду і тепер NetworkManagerавтоматично запускається:

systemctl enable NetworkManager

Це дозволяє NetworkManagerзапустити запуск при запуску. Це я розумію.


Дякую, це вирішило мою проблему. Помилка після оновлення + збій перед перезавантаженням. Монетний двір 19.1
Тоні Хомедес і Саун

4

Була така ж проблема, але жодне із запропонованих рішень (включаючи деякі з інших форумів) не допомогло.

У всякому разі, прочитавши відповідь Гордона , я просто видалив and static-network-upрядок із /etc/init/network-manager.conf. Це спрацювало.


Я думаю, що тут проблема полягає в тому, що статичну мережу слід звільнити, але це не так. Чи бачите ви завантажувальне повідомлення "чекає конфігурації мережі"?
Енді

@Andy, Якщо він бездротовий, у нього немає статичного інтерфейсу. Якщо у нього є auth eth0інтерфейси, воно зачекатиме кілька хвилин, вийде з ладу і ніколи не почне подія.
Серін

Я думаю, ти маєш на увазі auto eth0? Очікуючи кілька хвилин, воно скаже «чекаю конфігурації мережі», тому я запитав.
Енді

2

У мене була така ж проблема після перемикання моніторної панелі під час повторного використання старого диска. Він досі пам’ятав старі MAC-адреси. Мені довелося видалити їх вручну в /etc/udev/rules.d/70-persistent-net.rules, який вирішив проблему.


0

Те саме тут 12.04 - я зробив:

sudo -s
mv /etc/udev/rules.d/70-persistent-net.rules ~/
touch /etc/udev/rules.d/70-persistent-net.rules
reboot

Виправлено!

Ви також можете вручну відредагувати цей файл та виправити адреси mac ...


0

Від READMEна /etc/udev/rules.d:

Файли в цьому каталозі читаються udev (7) і використовуються, коли події виконуються ядром. Демон демон утримує цей каталог з ініціативою, щоб зміни до цих файлів автоматично підбиралися , тому вони повинні бути файлами, а не посиланнями на інше місце, як у випадку з Debian.

далі:

Напишіть у цей каталог власні правила, які присвоюють ім’я, символьні посилання, дозволи тощо. Виберіть число, що перевищує правила, які ви хочете переотримати, і ваше буде використано.

тому, будь ласка, не робіть , як описано у відповіді @epek , копіювати / вставляти файли, а просто додайте туди ще один файл із більшим цілим числом на початку у назві файлу. Наприклад, наприклад

// Ubuntu core:
70-persistent-net.rules
// Custom overrides and/or additions:
80-persistent-net.rules

0

для ubuntu 14.04 потрапили домашні хіти "запуску програм", додайте імена мереж cmd-sudo послуги, мережевий менеджер, перезавантажте комманту -


0

Простий спосіб вирішити - редагувати /etc/rc.local , щоб завантажувати NetworkManager кожного разу при завантаженні комп'ютера. Це насправді не вирішує корінну проблему, але вона зробила речі функціональними та простими для мене.

Спочатку виконайте цю команду:

sudo vim /etc/rc.local

Потім вміст повинен виглядати приблизно так:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#Sleeping a little might be necessary to let it catch up the boot. 
#However, for me, this sleep was a useless overhead.
#sleep 3 
service network-manager restart

exit 0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.