Вопрос или проблема
Я получаю следующие ошибки при попытке выполнить apt-get update
и установить необходимый пакет на свой экземпляр WSL 2 Ubuntu 20.04:
<редактировано>:~$ sudo apt-get update && sudo apt-get upgrade
Err:1 http://archive.ubuntu.com/ubuntu focal InRelease
Временная ошибка разрешения 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Временная ошибка разрешения 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Временная ошибка разрешения 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Временная ошибка разрешения 'archive.ubuntu.com'
Чтение списков пакетов... Готово
W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/focal/InRelease Временная ошибка разрешения 'archive.ubuntu.com'
W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Временная ошибка разрешения 'archive.ubuntu.com'
W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Временная ошибка разрешения 'archive.ubuntu.com'
W: Не удалось получить http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Временная ошибка разрешения 'security.ubuntu.com'
W: Некоторые индексные файлы не удалось загрузить. Они были проигнорированы или использовались старые версии.
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Расчет обновлений... Готово
0 обновлено, 0 вновь установлено, 0 удалено и 0 не обновлено.
<редактировано>:~$ sudo apt install unzip
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
zip
Следующие НОВЫЕ пакеты будут установлены:
unzip
0 обновлено, 1 вновь установлено, 0 удалено и 0 не обновлено.
Необходимо получить 169 кБ архивов.
После этой операции будет использовано 593 кБ дополнительного дискового пространства.
Err:1 http://archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1
Временная ошибка разрешения 'archive.ubuntu.com'
E: Не удалось получить http://archive.ubuntu.com/ubuntu/pool/main/u/unzip/unzip_6.0-25ubuntu1_amd64.deb Временная ошибка разрешения 'archive.ubuntu.com'
E: Не удалось получить некоторые архивы, возможно, выполните apt-get update или попробуйте с --fix-missing?
Есть ли что-то, что я могу сделать, чтобы это заработало?
Проблема заключается в том, что система не могла связаться с DNS-сервером, который мог бы разрешить доменные имена. Вот некоторые решения…
Временно вы можете отредактировать файл /etc/resolv.conf
с DNS-сервером, который вы хотите использовать. Например, добавьте строку nameserver 8.8.8.8
, сохраните файл и попробуйте снова.
Для постоянной конфигурации DNS вам, возможно, стоит отредактировать файл /etc/systemd/resolved.conf
. Раскомментируйте строки DNS
и FallbackDNS
, убрав знак #
.
Теперь добавьте предпочитаемые вами DNS-серверы. Строка FallbackDNS
в любом случае является необязательной.
DNS=8.8.8.8
FallbackDNS=8.8.4.4
Сохраните файл и выйдите. Также вам может понадобиться очистить кэшированные запросы. Используйте команду systemd-resolve --flush-caches
или resolvectl flush-caches
Теперь DNS должен работать нормально.
Ответ или решение
Как исправить проблемы с разрешением DNS в Ubuntu 20.04 для WSL 2
Если вы столкнулись с проблемами обновления и установки пакетов в вашем экземпляре Ubuntu 20.04 на WSL 2, скорее всего, причина в том, что система не может обратиться к DNS-серверу для разрешения имен доменов. Ваша ошибка включает сообщения о "временной ошибке разрешения" таких доменов, как archive.ubuntu.com
и security.ubuntu.com
. Вот подробные шаги, которые помогут вам исправить эту проблему.
Шаги по устранению проблемы
1. Проверка конфигурации сети
Первое, что следует сделать, — убедиться, что ваша сеть работает корректно. Попробуйте выполнить команду ping
для проверки доступа к Интернету:
ping google.com
Если вы видите сообщение об ошибке, возможно, проблема связана с самим подключением к сети.
2. Редактирование конфигурации DNS
Временное решение
Для временного решения проблемы вы можете вручную изменить файл /etc/resolv.conf
, указав DNS-сервер, который вы хотите использовать. Например, можно использовать публичный DNS-сервер от Google:
sudo nano /etc/resolv.conf
Добавьте следующую строку:
nameserver 8.8.8.8
Сохраните изменения и закройте редактор. Попробуйте снова запустить команду sudo apt-get update
и проверьте, исчезли ли ошибки.
Постоянное решение
Для более устойчивого решения следует редактировать файл конфигурации resolved.conf
, чтобы изменения сохранились и после перезагрузки. Используйте следующую процедуру:
- Откройте файл конфигурации:
sudo nano /etc/systemd/resolved.conf
- Найдите строки, начинающиеся с
#DNS=
и#FallbackDNS=
, и удалите символ#
, чтобы раскомментировать их. Затем настройте их так:
DNS=8.8.8.8
FallbackDNS=8.8.4.4
- Сохраните файл и выйдите из редактора.
3. Очистка кэша DNS
После внесения изменений вам, возможно, потребуется очистить кэш DNS, чтобы убедиться, что система использует новые параметры. Для этого выполните одну из следующих команд:
sudo systemd-resolve --flush-caches
или
sudo resolvectl flush-caches
4. Перезагрузка службы
После внесения всех изменений рекомендуется перезапустить службу разрешения имен:
sudo systemctl restart systemd-resolved
5. Повторная проверка
Теперь попробуйте снова выполнить команду для обновления пакетов:
sudo apt-get update && sudo apt-get upgrade
Заключение
Следуя вышеуказанным шагам, вы сможете решить проблемы с разрешением имен в Ubuntu 20.04 на WSL 2. Если после выполнения всех процедур проблема сохраняется, это может указывать на более серьезные сетевые проблемы, которые требуют дальнейшей диагностики.
Эти рекомендации помогут вам обеспечить бесперебойное соединение и доступ к необходимым пакетам и обновлениям в вашем окружении WSL.