Вместо удаления libstdc ++ сначала выясните, вызвана ли эта ошибка неоднозначными символическими ссылками libGL.
См. мой другой ответ, который также помог мне исправить эту проблему https://askubuntu.com/a / 903488/364084
Я собираюсь вставить содержимое здесь:
Если вы используете драйвер nvidia, иногда вы увидите, что libGL.so.1 указывает на двусмысленный libGL, предоставленный как mesa, так и nvidia. Чтобы проверить это, вы можете запустить эту команду
$ sudo ldconfig -p | grep -i gl.so
Результат был примерно таким:
libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so
Теперь мне просто нужно было удалить библиотеку, предоставленную mesa, и все отлично работало .
$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
Обновление 2 Я написал простой простой грязный диспетчер и поместил его в /etc/NetworkManager/dispatcher.d/03vpn:
#!/bin/sh -e
RESOLV_CONF=`readlink /etc/resolv.conf`
ROUTER_IP="nameserver 192.168.3.1"
logger -t DNS-antileak "start"
# disable local router IP in /etc/resolv.conf
if [ "$2" = "vpn-up" ]; then
sed -i "s/$ROUTER_IP/#$ROUTER_IP/g" $RESOLV_CONF
logger -t DNS-antileak "disabled $ROUTER_IP on vpn-up"
fi
if [ "$2" = "vpn-down" ]; then
sed -i "s/#$ROUTER_IP/$ROUTER_IP/g" $RESOLV_CONF
logger -t DNS-antileak "enabled $ROUTER_IP on vpn-down"
fi
logger -t DNS-antileak "end"
exit 0
Он может быть активирован с помощью
sudo chown root:root /etc/NetworkManager/dispatcher.d/03vpn
sudo chmod 755 /etc/NetworkManager/dispatcher.d/03vpn
. Я протестировал его с помощью OpenVPN и PPTP-соединения.
Также я нашел другие тесты утечки DNS: Whoer и WhatLeaks.
Обновление 2 Я написал простой простой грязный диспетчер и поместил его в /etc/NetworkManager/dispatcher.d/03vpn:
#!/bin/sh -e
RESOLV_CONF=`readlink /etc/resolv.conf`
ROUTER_IP="nameserver 192.168.3.1"
logger -t DNS-antileak "start"
# disable local router IP in /etc/resolv.conf
if [ "$2" = "vpn-up" ]; then
sed -i "s/$ROUTER_IP/#$ROUTER_IP/g" $RESOLV_CONF
logger -t DNS-antileak "disabled $ROUTER_IP on vpn-up"
fi
if [ "$2" = "vpn-down" ]; then
sed -i "s/#$ROUTER_IP/$ROUTER_IP/g" $RESOLV_CONF
logger -t DNS-antileak "enabled $ROUTER_IP on vpn-down"
fi
logger -t DNS-antileak "end"
exit 0
Он может быть активирован с помощью
sudo chown root:root /etc/NetworkManager/dispatcher.d/03vpn
sudo chmod 755 /etc/NetworkManager/dispatcher.d/03vpn
. Я протестировал его с помощью OpenVPN и PPTP-соединения.
Также я нашел другие тесты утечки DNS: Whoer и WhatLeaks.
Это хорошо известная ошибка NetworkManager, в частности это # 1211110. Он возвращается к Ubuntu 13.04 до 16.04 и в меньшей степени относится к Ubuntu 16.10.
Кажется, что у меня нет проблемы с утечкой DNS с моей текущей конфигурацией.Тогда подумайте, что вам очень повезло. :) Большинство пользователей (включая меня) испытывали серьезные утечки DNS и пытались использовать разные подходы к их решению.
Вот некоторые подходы, предложенные в отчете об ошибке (обобщенно):
Кажется, что у меня нет проблемы с утечкой DNS с моей текущей конфигурацией.
sudo cp /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper.orig
Добавьте следующие 3 строки в файл. #!/bin/bash
/etc/openvpn/update-resolv-conf $@
/usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper.orig $@
Затем: sudo chmod +x /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper
Предостережение: вам необходимо запустить следующую команду после отключения VPN. sudo script_type=down dev=tun0 /etc/openvpn/update-resolv-conf
Добавьте в файл следующие 3 строки.
8.8.8.8, 8.8.4.4
Таким образом, запрос DNS отправляется через внешний IP-адрес, поэтому он маршрутизируется с использованием VPN. Затем:
Таким образом, запрос DNS отправляется через внешний IP-адрес, поэтому он маршрутизируется с использованием VPN.
Сделайте резервную копию этого файла NetworkManager:
sudo rm -rf /etc/resolv.conf
Добавьте эту строку в раздел [main] раздела /etc/NetworkManager/NetworkManager.conf: dns=dnsmasq
Предостережение: вам необходимо выполнить следующую команду после отключения VPN.
Отредактируйте ваше VPN-соединение (через NM) и настройте статический DNS, например, используя серверы Google:
Это хорошо известная ошибка NetworkManager, в частности это # 1211110. Он возвращается к Ubuntu 13.04 до 16.04 и в меньшей степени относится к Ubuntu 16.10.
Кажется, что у меня нет проблемы с утечкой DNS с моей текущей конфигурацией.Тогда подумайте, что вам очень повезло. :) Большинство пользователей (включая меня) испытывали серьезные утечки DNS и пытались использовать разные подходы к их решению.
Вот некоторые подходы, предложенные в отчете об ошибке (обобщенно):
Кажется, что у меня нет проблемы с утечкой DNS с моей текущей конфигурацией.
sudo cp /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper.orig
Добавьте следующие 3 строки в файл. #!/bin/bash
/etc/openvpn/update-resolv-conf $@
/usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper.orig $@
Затем: sudo chmod +x /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper
Предостережение: вам необходимо запустить следующую команду после отключения VPN. sudo script_type=down dev=tun0 /etc/openvpn/update-resolv-conf
Добавьте в файл следующие 3 строки.
8.8.8.8, 8.8.4.4
Таким образом, запрос DNS отправляется через внешний IP-адрес, поэтому он маршрутизируется с использованием VPN. Затем:
Таким образом, запрос DNS отправляется через внешний IP-адрес, поэтому он маршрутизируется с использованием VPN.
Сделайте резервную копию этого файла NetworkManager:
sudo rm -rf /etc/resolv.conf
Добавьте эту строку в раздел [main] раздела /etc/NetworkManager/NetworkManager.conf: dns=dnsmasq
Предостережение: вам необходимо выполнить следующую команду после отключения VPN.
Отредактируйте ваше VPN-соединение (через NM) и настройте статический DNS, например, используя серверы Google: