Назад | Перейти на главную страницу

Как исправить ошибку yum install not valid Release на Centos 5

Когда я пытаюсь установить что-нибудь yum, я получаю:

-bash-3.2# yum install strace
Loading "fastestmirror" plugin
Determining fastest mirrors
 * dag: apt.sw.be
 * lxlabsupdate: download.lxlabs.com
 * rpmforge: fr2.rpmfind.net
 * lxlabslxupdate: download.lxlabs.com
YumRepo Warning: not using ftp, http[s], or file for repos, skipping - 5.2 is not a valid release or hasnt been released yet
removing mirrorlist with no valid mirrors: //var/cache/yum/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

В /etc/yum.repos.d у меня есть файлы:

CentOS-Base.repo         CentOS-Media.repo  mirrors-rpmforge
CentOS-Base.repo.rpmnew  lxlabs.repo        rpmforge.repo

CentOS-Base.repo:

# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=5.2&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=5.2&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful

[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=5.2&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep$
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[dag]
name=Dag RPM Repository for Centos
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=5.2&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
enabled=1

Как это исправить?

+ Изменить ?release=5.2 к ?release=5 в ваших файлах .repo.

Добавьте полный номер версии выпуска (например, «5») в файл «/ etc / yum / vars / releasever». Скорее всего, вам также потребуется создать каталог / etc / yum / vars /. Это избавляет от необходимости напрямую редактировать любые файлы репо, а ваше настроенное значение сохраняется при обновлении пакетов и ОС; просто не забудьте изменить значение соответствующим образом (при обновлении до новой версии ОС и т. д.).

URL-адрес в mirrorlist свойство в вашем файле CentOS-Base.repo из /etc/yum.repos.d/ определено неправильно. Номер версии выпуска жестко запрограммирован как 5.2 вместо того 5. Вместо того, чтобы жестко кодировать номер версии, я бы рекомендовал использовать в URL-адресе переменные, предоставленные системой, как показано в ваших записях baseurl.

Таким образом, вы хотите что-то подобное для каждой записи (сохраните существующий repo= стоимость):

mirrorlist =http://mirrorlist.centos.org/?release=5.2&arch=$ basearch & repo = os