2016-05-25 10 views
0

今日、私は私のマシンにubuntu 16.04をインストールします。 システムを起動すると、DHCPサーバーからIPアドレスを取得できません。 ネットワークインターフェイスの名前がeth0からenp2s0に変更されました。 私は、実行コマンドの後にIPアドレスを取得:システムのネットワークサービスが動作しませんか?

$ sudo ethtool -s enp2s0 autoneg off speed 100 

は、私は(/etc/rc.localの)のinitスクリプトでこのコマンドを追加しようが、私はシステムを再起動した後、それは動作しません。

私のマシンがブートされるとき、私はいつも上記のコマンドを手動で追加してIPアドレスを取得する必要があります。

誰でもこの問題を解決するのに役立つでしょうか?

ありがとうございます。

$はsudoのcrontab -e

、あなたは再起動時に実行したいというあなたのスクリプトを追加:

答えて

0

Ubuntuを使っているので、コマンドラインを使用して、次のコマンドを実行

よろしく、最後にこれを追加することによって:

@rebootのethtool -s enp2s0 AUTONEGをオフスピード100

は、この情報がお役に立てば幸いです。

0

systemdは、「rc.local」と「crontabs」の両方を「レガシー」とみなします。両方に代わるものがあります。しかし、Ubuntu 16.04は両方の概念をサポートしています。

ネットワークが完全にオンラインになる前にrc.localが実行されているため、コマンドが失敗する可能性があります。

systemdがrc.localファイルをどのように実行しているかを確認するには、/lib/systemd/system/rc.local.serviceをご覧ください。特に、After=network.targetという行に注意してください。

は、このファイルを作成してみてください:

/etc/systemd/systemd/rc.local.service.d/10-wait-for-network.conf

はそれにこれらの行を追加します。

[Unit] 
After=network-online.target 

その後再起動して、それはあなたのために働くかどうかを確認します。

参考文献:

また、将来的にはSO systemd質問のための最高の場所ではありません。代わりにUbuntuの質問のためにhttp://askubuntu.comを検討してください。

また、あなたが見つけた動作の変更は、Ubuntuがでサポートするrc.localをどのようにエミュレートするかというバグと見なされる可能性があります。提案された修正がうまくいけば、rc.localの置換をnetwork-onlineの代わりにnetworkの代わりに変更することがあります。

関連する問題