Хотя у меня никогда не было проблем с другими моими x86 _64 ПК, работающими под управлением Arch Linux, до сих пор это часто происходит с Arch Linux ARM при запуске NetworkManager.
Проблема в том, что вы подключены к Wi-Fi, но не можете проверить связь или использовать Интернет, но вы можете получить доступ ко всем компьютерам в локальной сети и даже использовать программное обеспечение для удаленного доступа к рабочему столу.
Существует высокая вероятность того, что что-то пошло не так, когда ваш ping или ваш браузер пытается разрешить хост. Я могу придумать 3 решения:
Я считаю, что это проблема тысяч систем Raspberry Pi, работающих под управлением Archlinux ARM и использующих NetworkManger.
В моем случае /etc/resolv.conf был неработающей символической ссылкой на ../run/systemd/resolve/stub-resolv.conf
.
NetworkManager не может заполнить символическую ссылку, а файл /etc/resolv.conf пуст. Мы должны:
# rm /etc/resolv.conf
/etc/NetworkManager/conf.d/dns.conf
с содержимым:[main]
dns=none
main.systemd-resolved=false
sudo systemctl restart NetworkManager
Это должно решить проблему, если не следовать Решению 2.
Если описанное выше не помогло вам решить проблему, вы можете временно заполнить файл /etc/resolv.conf:
sudo systemctl restart systemd-resolved && sudo systemctl stop systemd-resolved
Причина, по которой это работает, заключается в том, что, возможно, что-то не так с файлом /etc/resolv.conf
. Приведенная выше команда должна перезаписать содержимое, но опять же, вы должны посмотреть, что вызывает проблему.
Если вы не можете вернуть свой /etc/resolv.conf
,просто создайте новый/etc/resolv.conf
(удалите, если существует пустой старый или символическая ссылка )и вставьте код:
search domain.name
nameserver 8.8.8.8
nameserver 1.1.1.1
nameserver 1.0.0.1
Обратите внимание, что в первой строке вы также можете использовать IP-адрес вашего маршрутизатора, например(nameserver 192.168.43.1
в моем случае ), что сделает доступными для проверки связи другие системы в той же сети. Не очень хорошая идея генерировать resolv таким образом, но у меня были плохие времена с автоматически сгенерированным NetworkManager -resolv. Systemd -resolvd также генерирует неправильные файлы даже на моем ПК.
Немного странно, здесь я использую основной DNS Google и основной DNS Cloudflare, вы можете использовать 8.8.8.8 с 8.8.4.4 или 1.1.1.1 с 1.0.0.1.
Хотя этот шаг работает, вы можете запретить NetworkManager перезаписывать файл при его перезапуске:
Добавить эту запись в/etc/NetworkManager/NetworkManager.conf
[main]
dns=none
systemd-resolved=false
Они работали для моих установок на Raspberry Pi 3 модели B. Надеюсь, это сработает и для вас.
Как обычно, мне нужно включить обязательное предупреждение :Использование наивных инструментов для разбора текста для разбора [XH]TML — плохая идея. Он очень часто дает сбои, неустойчив к любым изменениям ввода и, скорее всего, незаметно сделает что-то, что сломает ваш документ. Вместо этого вы должны всегда пытаться использовать специальный анализатор XML.
Тем не менее, если следующие предположения верны, вы можете использовать приведенное ниже решение:
<meta
и только этих тегов требуется />
. >
внутри тега. На самом деле я недостаточно хорошо знаю спецификации XML, чтобы знать, может ли это произойти, возможно, в рамках name=
? Если вышесказанное верно, попробуйте:
$ sed -E 's|(<meta [^>]*[^/])>|\1/>|' file.xml
<meta name=Originator content="text/html; charset=iso-8859-6/>
<meta name=ProgId content=Word.Documen/>
<meta name=Generator content="Microsoft Word 15"/>