Когда я пытаюсь установить что-нибудь 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