Linux

Fix: Cannot find a valid baseurl for repo: base

Если вы используете дистрибутив Linux, в котором используется менеджер пакетов yum, то вскоре после завершения установки операционной системы вы можете увидеть ошибку Cannot find a valid baseurl for repo: base. Чаще всего эта ошибка связана с дистрибутивами Fedora, Red Hat и CentOS Linux, но вы также можете получить ее при попытке обновить yum на совместимых версиях SUSE. Обычно вы получаете ошибку только при попытке обновления, но, к счастью, есть довольно простой способ ее обойти.

Способ 1: Принуждение yum к поиску baseurl

Это сообщение об ошибке указывает на то, что по какой-либо причине система Yellowdog Updater, Modified (yum) не может получить доступ к базе, которую она использует для поиска информации о пакетах. Чтобы воспроизвести сообщение об ошибке, выполните команду sudo yum update или просто обновление yum если вы являетесь пользователем root. Если на этот раз сообщение обновится, значит, ошибка была вызвана просто сбоем в сети, и вам не нужно ничего делать.

С другой стороны, вы можете обнаружить, что вы’воспроизвели сообщение об ошибке. Первым делом убедитесь, что вы подключены к сети. Убедитесь, что у вас нет перебоев с Интернетом, которые являются наиболее распространенной причиной этой ошибки. Если вы находитесь в Интернете и все еще не можете найти правильный baseurl, попробуйте ping mirrorlist.centos.org и посмотрите, что произойдет. Нажмите Ctrl+C, чтобы завершить процесс пингования, и посмотрите, какие результаты вы получили. Если вы используете Red Hat или Fedora, то, возможно, вам стоит подставить URL зеркального списка, о котором сообщила ошибка, вместо URL CentOS, который мы использовали.

Если вы не можете пропинговать серверы, то, возможно, вам придется подождать, так как они могут испытывать временный перебой в работе. В противном случае, если у вас проблемы с сетью, попробуйте путь показано на изображении и переключите строку ONBOOT= на «да» или «нет». Возможно, вы захотите попробовать оба варианта. Как только вы установите это, запустите sudo dhclient если вы не работаете через ssh, а затем попробуйте обновить yum снова. Если вам все еще не удается заставить менеджер пакетов обновляться, попробуйте отредактировать этот файл еще раз.

Вы найдете опцию под названием NM_CONTROLLED, для которой следует установить значение no. Если вы это сделаете, то убедитесь, что ONBOOT= также установлен в значение no. Когда вы установите опции на no, убедитесь, что вы’ набираете слова только в нижнем регистре, поскольку некоторые версии CentOS и Fedora действительно могут иметь некоторую чувствительность к регистру в этом отношении.

После того, как вы закончили редактирование файла, убедитесь, что у вас есть Ethernet-кабель подключитесь к первому сетевому интерфейсу на машине и попробуйте выполнить команду ifdown eth0; ifup eth0 чтобы перезагрузить сеть. Пользователи CentOS 7, как в нашем примере, могут не найти этот файл, потому что он был изменен. Если это так, то попробуйте поискать то, что показано на изображении ниже, или что-то другое, напоминающее этот шаблон. Разработчики CentOS’ решили внести некоторые изменения, когда в последний раз переделывали код минимальной установки, и в результате изменили название некоторых сетевых интерфейсов.

Если все выглядит хорошо, попробуйте обновить yum еще раз и проверьте, работает ли это.

Метод 2: Отмена комментариев к baseurl

В некоторых редких ситуациях эта ошибка может быть вызвана не сетевыми проблемами. Если вы’ уверены, что подключились, но все еще не можете заставить что-то работать, откройте файл как показано на рисунке ниже в качестве суперпользователя root с помощью вашего любимого текстового редактора. И снова, если вы используете не CentOS, как мы, то вам нужно просто изменить имя, чтобы найти нужный файл.

Вы должны увидеть строку, которая гласит:

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

Убедитесь, что эта строка не начинается с флага комментария, например с символа #. Если это так, то удалите ее, а затем сохраните файл. Попробуйте обновить еще раз. Это должно было заставить систему в этот раз обновиться правильно, чего она не сможет сделать, если не сможет найти эту строку, потому что она была скрыта флагом комментария.

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