起動時にnetwork-managerが起動しないのはなぜですか?


10

これは、2か月前に10.04から12.04にアップグレードしたときに起こり始めたと思います。

再起動するたびに、network-managerが起動しません。手動で実行する必要がありますがsudo start network-manager、すべて正常に動作します。

私がすでに試したこと(修正を試みるたびに再起動):

  • すべての/etc/rc*.d/*network-managerリンクが意図したとおりに存在することを確認した。
  • network-managerのupstart構成ファイルにが記載されてlocal-filesystemsおり、私のfstabには接続されていないUSB HDDへの参照があったため、その行をfstabからコメントアウトしました。
  • sudo dpkg-reconfigure network-manager その後 sudo apt-get install --reinstall network-manager
  • Syslogでヒントを探しましたが、飛び出したものは何も見つかりませんでした。

私は変更したとは思わない/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

「start on」セクションでは、upstartがnetwork-managerを開始する前に、どのイベントを発行する必要があるかを知ることができます。

この場合、それは:

  • ローカルファイルシステム
  • dbus
  • 静的ネットワークアップ

最初の2つは、デスクトップから起動した場合、すでに2つ出力されています。

static-network-upはによって/etc/network/if-up.d/upstart script発行されます。決定的には、「auto」として設定されているすべてのインターフェイスが起動していない限り、イベントは発行されません/etc/network/interfaces

私の場合/etc/network/interfaces、DHCPを使用するように構成されたeth0の残りのエントリがありましたが、eth0にイーサネットが接続されていなかったため、DHCPは成功しませんでした。

upstartにイベントを発行するように指示し、これを使用して、欠落しているstatic-network-upイベントであるかどうかを確認できます。

  • コンピューターを再起動し、ネットワークマネージャーを起動しない
  • man initctl(sudoで排出コマンドを実行する必要があるため、man initctl最初にインターネットに投稿されたコマンドを確認するために実行しても問題ありません)
  • sudo initctl emit static-network-up(しばらくしてからこれをCtrl+ する必要があるかもしれませんC
  • initctl status network-manager (開始したかどうかを確認するため)

これで問題のチェックが解決した場合は、/etc/network/interfaces以下以外のすべてをコメント化します。

オートロー
iface lo inetループバック

その後、再起動すると、期待どおりにnetwork-managerが起動します。


lo完全に未設定のWIFIであっても、そのファイルに何か他のものがあるために起動しないことを決定するNetworkManagerの愚かな馬鹿げた動作です!
Forbesmyester 2015年

私のために働いた、かなり魔法の:P
boh

5

Arch Linuxでは、次のコマンドを実行する必要NetworkManagerがあり、自動的に起動します。

systemctl enable NetworkManager

これにより、NetworkManager起動時にを実行できます。これは私が理解していることです。


おかげで、これは私の問題を解決しました。再起動前にアップデート+クラッシュ後に失敗していました。ミント19.1
Toni Homedes i Saun

4

同じ問題がありましたが、提案された解決策(他のフォーラムからのいくつかを含む)は役に立ちませんでした。

とにかく、ゴードンの返事を読んだ後、私は単にそのand static-network-up行をから削除しました/etc/init/network-manager.conf。機能した。


ここでの問題は、static-network-upを起動する必要があることですが、そうではありません。「ネットワーク設定を待っています」という起動メッセージが表示されますか?
アンディ14年

@Andy、彼が無線を使っているなら、彼には静的インターフェースがありません。彼がauth eth0自分のインターフェースにいる場合、それは数分待って失敗し、イベントを起動することはありません。
セリン

auto eth0ってことかしら?数分待っている間に「ネットワーク設定を待っています」と表示されるので、私は尋ねました。
アンディ

2

古いディスクを再利用しながらthinkpadを切り替えた後も同じ問題が発生しました。それでも古い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)によって読み取られ、カーネルによってイベントが実行されるときに使用されます。udevのデーモンはこのディレクトリを監視する ことはinotifyそうで、これらのファイルへの変更は自動的に拾われ、この理由のために、彼らはファイルではなくシンボリックリンクでなければなりません Debianでの場合のように別の場所に。

さらに:

このディレクトリに、必要な名前、シンボリックリンク、権限などを割り当てる独自のルールを記述します。オーバーライドするルールよりも大きい数を選択すると、自分のルールが使用されます。

@epek answerで説明されているように、ファイルをコピーして貼り付けないでください。ファイル名の先頭に、より大きな整数を持つ別のファイルを追加してください。例えば

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

0

ubuntu 14.04の場合、home-hit "startup applications" hit add name-networks cmd-sudo service network-manager restart commant--[ips、dns、gatewayなどの有効なネットワーク設定のみが機能します]


0

簡単な回避策は、コンピュータを起動するたびにNetworkManagerを起動するために/etc/rc.localを編集することです。これは根本的な問題を実際に解決するわけではありませんが、私にとっては機能的でシンプルなものになりました。

まず、次のコマンドを実行します。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.