apt-get upgrade
を実行し、Ubuntu Serverのインストールを再起動した後、コンピューターにネットワーク接続がないことに気付きました。
ifconfig
をチェックしました
~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:7376 errors:0 dropped:0 overruns:0 frame:0
TX packets:7376 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1424 (1.4 KB) TX bytes:1424 (1.4 KB)
インターフェイス「em1」がありませんでした:/
そこでifconfig em1 up
でインターフェイスを起動し、dhclient em1
でIPアドレスを取得しようとしましたが、このエラーに遭遇しました。
~$ dhclient em1
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
~$ dhclient
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
誰が何が間違っているのか考えていますか?多くの人がdhclientをブロックするSELinuxに問題があるように見えましたが、setenforce 0
でさえこの問題が発生します。
以前にdhclientを使用してこのコンピューターのインターフェースを手動で立ち上げたので、何が突然変わったのか(そして起動時にインターフェースの自動セットアップを停止するために何が変わったのか)わかりません。
[〜#〜] edit [〜#〜]:ネットワークアダプターは正常で、ip/route/nameserversを手動で設定するとすべてが機能します。
isc-dhcp-client
とisc-dhcp-common
を再インストールしても問題は解決せず、libc6
を再インストールすることもできませんでした
EDIT2:gertvdijkの提案を試しました。私の/etc/network/interfaces
は:
auto lo
iface lo inet loopback
allow-hotplug em1
iface em1 inet dhcp
Sudo ifup em1
を試しましたが、同じエラーが表示されます:(
~$ Sudo ifup em1
dhclient: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Permission denied
Failed to bring up em1.
問題はAppArmourに関連していたことが判明しました。 apparmor_status
は、プロファイルsbin.dhclient
がロードされていたため、実行中:
~$ Sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/
~$ Sudo /etc/init.d/apparmor reload
問題を解決しました。次に、gertvdijkが示唆したように、インターフェイスを表示できます。
(そのプロファイルが表示された理由/時期がわからない-直前に実行したアップグレードと関係があると思われる)
Dhclientを使用して、このコンピューターのインターフェイスを手動で起動しました
システムによって管理されなくなったため、コマンドラインからDHCP要求を行うことはお勧めできません。代わりに、/etc/network/interfaces
インターフェースを構成するには:
auto eth0
iface eth0 inet dhcp
次に、構成を再読み込みします。
Sudo ifup eth0
置換eth0
もちろん、システム上のインターフェース名。
詳細については、 インターフェイスのマンページ を参照してください。
確認する
ifconfig -a
起動していないが、システムで使用可能なインターフェースの場合。
[...] Permission denied
これは、dhclient
をroot/Sudoとして実行していないためです。コマンドの前にSudo
を追加するだけです。