Como instalo os repositórios CentOS padrão?

20

Eu tenho uma situação em que os arquivos de repositório de estoque que deveriam existir em /etc/yum.repos.d/(como centos-base.repo) não estão presentes. Eu preciso instalá-los. Tenho certeza de que isso é simples, mas depois de horas de pesquisa, parece que não estou pesquisando corretamente no Google.

Basicamente, eu tenho um servidor com repositórios personalizados que são inúteis para mim. Eu preciso de epel, e epel precisa centos-base.repo. Também preciso do repositório do postgres.

Jim
fonte
11
ou u pode instalar o OS em uma máquina virtual e depois copiar o arquivo padrão localizado no diretório yum.repos.d
OmiPenguin

Respostas:

16

Crie um arquivo chamado Centos-Base.repo no seguinte diretório /etc/yum.repos.d

vi /etc/yum.repos.d/Centos-Base.repo

Coloque as seguintes informações dentro do arquivo:

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

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=
$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=2

Salve e corra.

yum clean all 

Então corra.

yum repolist

Se você estiver copiando isso para a massa vi, verifique as quebras de linha. Eu tive que corrigir algumas edições que aconteceram durante a copiar e colar.

midnightsteel
fonte
5
Em vez de colar em um editor como vi ou vim, basta usar cat> filename e pressione ctrl-d após colar. Além disso, o vim possui um modo projetado para receber dados da área de transferência, que desativará a formatação automática, etc. Basta usar ": set paste" antes de entrar no modo de inserção. Mas ainda prefiro o método gato, é mais simples.
Watcom
2
Por que isso possui arquivos GPG para CEntOS-5, por exemplo, gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-5?
Nathan Basanese
3
Não funciona no CentOS-7
Alex Jolig
Para o FYI da posteridade que agora chega a essa pergunta: esses URLs não são mais válidos para o CentOS 5. Você pode usar isso em vez disso: archive.kernel.org/centos-vault/5.7 (ajustando sua versão, é claro). Encontrei esse URL na parte inferior desta página: vault.centos.org/centos
Todd Walton
10

Você pode reinstalar manualmente o centos-release-rpm usando:

rpm -ivh --replacepkgs --replacefiles centos-release*.rpm
Nils
fonte
3
Isso funcionou, mas precisava de modificação. A primeira etapa é verificar se o pacote centos-release está instalado, digitando rpm -q centos-release. Se não estiver instalado, a parte --replacepkgs --replacefiles do comando deve ser omitida. No meu caso, a coisa toda havia sido desinstalada, então eu usei: rpm -Uvh centos-release. *. Rpm
Jim
@ Jim, que deve ter sido uma remoção brutal desse rpm - sem verificação de dependência. Eu verifiquei com yum remove centos-release- que normalmente deve desinstalar todo o sistema.
Nils
3

Para mim, o problema foi resolvido limpando todos os repositórios e adicionando novos daqui, considerando minha versão do CentOS:

# yum clean all

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# rpm -Uvh http://dl.atrpms.net/all/atrpms-repo-7-7.el7.x86_64.rpm

# rpm -Uvh http://repo.webtatic.com/yum/el7/webtatic-release.rpm
Alex Jolig
fonte
O primeiro URL não é mais válido. Não verifiquei os outros.
theMayer