私が使用しているコンピュータには4つのネットワークインタフェースがあり、そのうちの1つだけが現在使用されています(残りの3つはまったく接続されていません)。現在のマシンが再起動すると、インターフェイス2〜4をロードしようとすると数分遅れます。マシンが頻繁に再起動されるため、これはかなり面倒です。
dmesgを実行すると、次のようになります。
[15] IPv6 ADDRCONF(NETDEV_UP): eth1: link is not ready
[57] IPv6 ADDRCONF(NETDEV_UP): eth2: link is not ready
[98] IPv6 ADDRCONF(NETDEV_UP): eth3: link is not ready
[140] ...
これらのインターフェイスが使用されず、時間がかかることを考慮すると、起動中に単に無効にしたいのですが、これらのインターフェイスで無駄な時間を減らすための他のオプションも開いています。
確認してみると、/etc/sysctrl.conf
IPv6が無効になっているためIPv6を試すことができないようです。
ネットワークスクリプトディレクトリのインターフェイス名とONBOOT=no
。
また、すべてのインターフェースを見てみましたが、/sys/class/net/ethX/device/power/control
すべて「on」が含まれていました。だから、次のことを試してみました。
echo off > /sys/class/net/ethX/device/power/control
しかし、私はそれを理解し、write error: Invalid argument
エコーはon
素晴らしい作品です。このファイルを変更する方法についての言及は見つかりませんが、インターフェイスを完全にオフにするのは少し極端なようです。
ネットワーク管理者がインストールされておらず、可能であればそれを維持することをお勧めします(問題についてより多くのパッケージを投げるよりも設定を好む)。
これについては説明しませんが、この問題に直面する可能性がある他の人のためにdmesg
これらの長い待ち時間が報告されているという事実は、カーネルがこれらのインターフェースをアクティブにしようとしていることを示しています。したがって、カーネルパラメータは追求できる手段であってもカーネルバグであってもよい。 Linux 自体を構成しても問題が解決しない場合があり、grub
カーネル自体を構成または変更することもできます。
修正する
私が投稿した独自の答えは実際にテストする機会がありましたが、成功しませんでした。しかし、私が試したことを投稿します。
dmesg
カーネルが何かをしているというメッセージを見て、カーネルパラメータのドキュメントを見ました。https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
インターフェイスにIPv6を設定するオプションがあることがわかりました。https://www.kernel.org/doc/Documentation/networking/ipv6.txt。
このページでは、次のカーネルオプションについて簡単に説明します。
disable=[01]
0はIPv6モジュールをロードし(デフォルト)、1はIPv6モジュールをロードしません。
autoconf=[01]
0はすべてのインターフェイスでIPv6自動設定を無効にし、1はすべてのインターフェイスで自動設定を有効にします(デフォルト)
disable_ipv6=[01]
0はすべてのインターフェイスでIPv6を有効にし(デフォルト)、1はすべてのインターフェイスでIPv6を無効にします。
しかし、これらのオプションのどれも問題を解決しません。
答え1
/etc/rc.localに次の行を追加できます。
ip link set dev "eth1" down
ip link set dev "eth2" down
ip link set dev "eth3" down
あまりにも基本的または静的なソリューションではない場合...
答え2
私は同じ迷惑な問題に遭遇し、専門家ではありませんが、設定ファイルを検索しながら、実際の最新バージョンのDevuanで解決策を見つけました。
- ファイルの編集
/etc/init.d/networking
- 次の行があります。
に設定するCONFIGURE_INTERFACES=
no
答え3
NetworkManagerなしでRHELまたは関連ディストリビューションから起動時に特定のネットワークインターフェイスが起動しないように選択的に無効にするには、無効にしたいインターフェイスに対応する/etc/sysconfig/network-scripts/ifcfg-<interface>
ファイルを編集して行ONBOOT="yes"
をONBOOT="no"
。