После запуска 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 для ручного вызова интерфейса на этом компьютере, поэтому я не уверен, что внезапно изменилось (и что изменилось, чтобы остановить автоматическую настройку интерфейса при запуске).
РЕДАКТИРОВАТЬ : с сетевым адаптером все в порядке, и все работает, когда 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.
Я использовал dhclient для ручного вызова интерфейса на этом компьютере
blockquote>Не рекомендуется делать запрос DHCP из командной строки, так как он не управляется система больше. Вместо этого настройте
/etc/network/interfaces
для настройки вашего интерфейса:auto eth0 iface eth0 inet dhcp
Затем перезагрузите конфигурацию:
sudo ifup eth0
Замените
eth0
на имя интерфейса в вашей системе, конечно. [ 1112]Для получения дополнительной информации см. Справочную страницу интерфейсов .
Проверьте с помощью
ifconfig -a
интерфейсы, не работающие, но доступные в вашей системе.
blockquote>
[...] Permission denied
Вы получили это, потому что вы не запускаете
dhclient
как root / sudo. Просто добавьте команду с помощьюsudo
.
Оказывается, проблема была связана с AppArmour; apparmor_status
показал, что профиль sbin.dhclient
был загружен, поэтому работает:
~$ sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/
~$ sudo /etc/init.d/apparmor reload
Решил проблему. Затем я мог бы вызвать интерфейс, как предложил gertvdijk
(не знаю, почему / когда появился этот профиль - я подозреваю, что он может иметь какое-то отношение к обновлению, которое я выполнил раньше)