Не удается выполнить “yum install” на машине Oracle Linux 7

Вопрос или проблема

Я получаю следующую ошибку:

Loaded plugins: langpacks, ulninfo
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/repodata/repomd.xml: 
[Errno 14] curl#6 - "Could not resolve host: yum.oracle.com; Unknown error"
Trying other mirror.

failure: repodata/repomd.xml from ol7_latest: [Errno 256] No more mirrors to try.
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/repodata/repomd.xml: 
[Errno 14] curl#6 - "Could not resolve host: yum.oracle.com; Unknown error"

Не совсем понимаю, что это значит. Может кто-нибудь дать подсказки?

Эта ошибка означает то, что говорится в самом сообщении — Could not resolve host: yum.oracle.com. Ваша машина не может ‘увидеть’ yum.oracle.com, потому что она не может найти DNS-запись для этого хоста. Попробуйте host -v yum.oracle.com, чтобы получить более детальную информацию об ошибке.

Этот вопрос уже довольно стар, но для тех, кто ищет решение, проблема в том, что машина не может преобразовать Полные Имя Домена (такие как yum.oracle.com) в IP-адреса.

Для решения этой проблемы необходимо добавить хотя бы один DNS-сервер в файл /etc/resolve.conf. Можно использовать либо 208.67.222.222, 208.67.220.220 (DNS-серверы OpenDNS), 8.8.8.8, 8.8.4.4 (DNS-серверы Google), либо указанные вашим интернет-провайдером DNS-серверы.

Я столкнулся с этой ошибкой при установке vagrant box с Oracle Database из https://github.com/oracle/vagrant-projects. Чтобы обойти эту проблему, я сделал следующее.
Войти в vagrant box:

vagrant ssh

Перейти под root:

sudo su -

Добавить nameserver 8.8.8.8 в /etc/resolve.conf.

echo nameserver 8.8.8.8 >> /etc/resolv.conf

Из директории vagrant box выполнить provisioning vm:

vagrant provision

перезапустите docker service, это решило проблему для меня

service restart docker

Ответ или решение

Когда вы сталкиваетесь с ошибкой, связанной с невозможностью выполнения команды yum install на машине с Oracle Linux 7, это может быть довольно неприятной ситуацией, особенно в случае, если вам срочно нужно установить или обновить пакеты. Ошибка, которую вы описываете, выглядит следующим образом:

Loaded plugins: langpacks, ulninfo
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/repodata/repomd.xml: 
[Errno 14] curl#6 - "Could not resolve host: yum.oracle.com; Unknown error"
Trying other mirror.

failure: repodata/repomd.xml from ol7_latest: [Errno 256] No more mirrors to try.
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/repodata/repomd.xml: 
[Errno 14] curl#6 - "Could not resolve host: yum.oracle.com; Unknown error"

Теория

Эта ошибка очевидно указывает на то, что ваша машина не может разрешить доменное имя yum.oracle.com в IP-адрес. Обычно это указывает на проблемы с настройками DNS (Domain Name System) на вашей машине.

DNS работает как своего рода «адресная книга» интернета, переводя читаемые человеком доменные имена в числовые IP-адреса, которые могут быть использованы для установления соединения. Если ваш компьютер не может разрешить доменное имя, он не сможет связаться с удаленным сервером для загрузки необходимых файлов.

Ошибка [Errno 14] curl#6 - "Could not resolve host" означает, что ни один из указанных DNS-серверов не может предоставить IP-адрес для доменного имени yum.oracle.com. Это может быть связано с несколькими причинами, включая неисправные DNS-серверы, отсутствие их конфигурации или сетевые проблемы.

Пример

Рассмотрим ситуацию: вы работаете со средой Vagrant и пытаетесь установить пакеты через yum внутри виртуальной машины (VM). Вы видите аналогичную ошибку и хотите ее устранить.

  1. Войдите в виртуальную машину с помощью команды:

    vagrant ssh
  2. Переключитесь на пользователя root:

    sudo su -
  3. Отредактируйте файл конфигурации DNS /etc/resolv.conf, добавив в него надежные DNS-серверы. Один из способов сделать это — использовать DNS-серверы Google:

    echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
    echo 'nameserver 8.8.4.4' >> /etc/resolv.conf

В этом примере мы добавили DNS-серверы Google (8.8.8.8 и 8.8.4.4), которые часто используются для разрешения подобных проблем, благодаря своему высокому уровню доступности и надежности.

Применение

Теперь, когда у вас есть представление о том, как исправить проблему, вы можете применить этот процесс в своей текущей ситуации. Также существуют и другие действия, которые помогут устранить ошибку:

  1. Проверка сетевых подключений: Убедитесь, что интернет-соединение на вашей машине стабильно и не прерывается. Это можно сделать, попытавшись выполнить пинг до других внешних DNS-серверов, таких как:

    ping 1.1.1.1
  2. Обновление конфигурации сети: Если прописывание новых DNS-серверов не помогает, попробуйте перезагрузить сетевые службы:

    systemctl restart network

    Это позволит применить все изменения конфигурации сети и установить свежие DNS-соединения.

  3. Репозиторий YUM: Проверьте, что репозитории YUM, перечисленные в ваших конфигурационных файлах (например, в /etc/yum.repos.d/), актуальны и правильно настроены. Иногда зеркальные репозитории могут быть временно недоступны или изменены.

  4. Кэширование DNS: Если проблема с DNS продолжается, возможно, вам следует очистить кэш DNS. Это можно сделать командой:

    systemctl restart nscd
  5. Прокси-серверы: Если ваша машина использует прокси для выхода в интернет, убедитесь, что прокси правильно сконфигурирован и доступ к внешним ресурсам не блокируется политиками сети или межсетевыми экранами.

  6. Логирование: Изучите журналы ошибок для сети и служб DNS, которые можно найти в /var/log/, чтобы выявить больше деталей о причинах возникновения ошибок.

Следуя этим рекомендациям, вы значительно увеличите свои шансы на успешное обновление или установку пакетов на машине с Oracle Linux 7. Правильная диагностика и настройка DNS помогут поддерживать надежное соединение с необходимыми сетевыми ресурсами.

Оцените материал
Добавить комментарий

Капча загружается...