yum não consegue mais detectar / acessar o repositório

2

O Yum estava funcionando bem até que eu tentei instalar o google chrome e usei o comando --add-repo com o qual eu adicionei o repositório do chrome.

Desde então, sempre que eu faço um sudo yum install , o yum só pesquisou no repositório do chrome.

Então eu removi o arquivo repo do cromo. Mas, mesmo depois de reiniciar o sistema, o yum não está acessando nenhum repositório.

Um sudo yum search gtk+ apresentou resultados para o gtk +, mas a tentativa de instalá-lo com sudo yum install gtk2.x86_64 não funcionou. Deu a saída:

Loaded plugins: langpacks
Nothing to do

Como posso consertar isso? Estou usando o Fedora 20, versão de 64 bits.

ls -l /etc/yum.repos.d mostra a seguinte saída:

-rw-r--r--. 1 root root 183 Jan 26 19:03 adobe-linux-x86_64.repo
-rw-r--r--. 1 root root 0 Feb 2 09:34 fedora.repo
-rw-r--r--. 1 root root 0 Feb 2 09:34 fedora-updates.repo
-rw-r--r--. 1 root root 0 Feb 2 09:34 fedora-updates-testing.repo
-rw-r--r--. 1 root root 75 Jan 26 11:52 jenkins.repo
-rw-r--r--. 1 root root 76 Jan 26 11:51 jenkins.repo.rpmnew
-rw-r--r--. 1 root root 1241 Mar 14 2013 rpmfusion-free-rawhide.repo
-rw-r--r--. 1 root root 1172 Jan 26 19:04 rpmfusion-free.repo
-rw-r--r--. 1 root root 1170 Jan 26 19:03 rpmfusion-free-updates.repo
-rw-r--r--. 1 root root 1230 Jun 29 2013 rpmfusion-free-updates-testing.repo

    
por Nav 03.02.2014 / 08:53

3 respostas

2

Não tenho certeza de quem lhe disse para usar a opção --add-repo , mas esse quase nunca é o modo "correto" de adicionar novos repositórios. Em vez disso, você deve usar um arquivo .rpm para o repositório que está tentando instalar e usar rpm -ivh somerepo.rpm para instalar o arquivo .repo dos repositórios no diretório /etc/yum.repo.d/ e as chaves RPM visíveis quando você executar o comando rpm -qa gpg-pubkey* .

$ rpm -qa gpg-pubkey*
gpg-pubkey-e06f8c93-51760257
gpg-pubkey-98ab5139-4bf2d0b0
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-fb4b18e6-50b96bfd
...

Você também pode criar um arquivo de repositório manualmente para o Chrome usando uma dessas duas amostras descritas nesta postagem do blog ifthenelse: Ativar o repositório do Google YUM .

32 bits

[google-chrome]
name=google-chrome - 32-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

64 bits

[google-chrome]
name=google-chrome - 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Isso teria poupado a dor que você está sentindo agora. Mas voltando a resolver isso agora.

Diagnosticando com RPM

Você pode usar o RPM para determinar quais RPMs foram impactados, eu me concentraria nos RPMs relacionados à instalação do .repo , e também nos pacotes relacionados ao yum , já que suspeito que você tenha /etc/yum.conf arquivo ou o nível inferior .repo arquivos estão com defeito aqui.

Você pode verificar a consistência dos arquivos comparando a soma de verificação mantida no banco de dados RPM da seguinte forma:

$ rpm -qfVv /etc/yum.conf /etc/yum.repo.d/*
.........  c /etc/logrotate.d/yum
.........    /etc/yum
.........  c /etc/yum.conf
.........    /etc/yum.repos.d
.........    /etc/yum/fssnap.d
.........    /etc/yum/pluginconf.d
.........    /etc/yum/protected.d
.........    /etc/yum/vars
.........  c /etc/yum/version-groups.conf
.........    /usr/bin/yum
...

Esta saída mostra se algum arquivo associado ao RPM que /etc/yum.conf foi modificado ou está corrompido. Se um arquivo tivesse sido modificado, a saída ficaria assim:

$ touch /etc/yum.conf
$ rpm -qfVv /etc/yum.conf
.........  c /etc/logrotate.d/yum
.........    /etc/yum
.......T.  c /etc/yum.conf
...

Observe o T na coluna de pontos à esquerda. Isso nos diz que o tempo no arquivo é diferente. Veja a página man do rpm para saber mais sobre a opção -V ou --verify .

Each of the 9 characters denotes the result of a comparison of attribute(s) of the file to the value of those attribute(s) recorded in the database. A single "." (period) means the test passed, while a single "?" (question mark) indicates the test could not be performed (e.g. file permissions prevent reading). Otherwise, the (mnemonically emBoldened) character denotes failure of the corresponding --verify test:

   S file Size differs
   M Mode differs (includes permissions and file type)
   5 digest (formerly MD5 sum) differs
   D Device major/minor number mismatch
   L readLink(2) path mismatch
   U User ownership differs
   G Group ownership differs
   T mTime differs
   P caPabilities differ

Você provavelmente precisará baixar novamente o RPM ofensivo e reinstalá-lo usando rpm .

Meus repositórios estão desativados?

Você pode usar este comando para confirmar que a adição do repositório do Chrome YUM não excluiu acidentalmente os outros repositórios do YUM. Este comando fará isso:

$ yum repolist all
captura de tela de saída

Observeacolunaàdireita.Quaisquerrepositóriosqueestãodesativadossãovermelhos,todososqueestãoativadossãoverdes.Verifiquesetodososrepositóriosestãoativados(verde).

Senãoestiverem,vocêpoderápercorrerosarquivos.repoealterarosincorretospara"ENABLED = 1" ou usar yum-config-manager para reativá-los.

$ sudo yum-config-manager --enable <repo name>

Estou preso ... meus arquivos .repo são "hosed" ???

Se você achar que seus arquivos .repo estão ruins. Talvez eles sejam arquivos de tamanho zero agora, então a sua configuração do yum é essencialmente muito complicada. Mas tudo não está perdido. Você pode colocar as coisas em forma usando rpm e yum .

  1. Não posso simplesmente reinstalar os RPMs?

    Sim, você pode, mas qual instalar? Se você não souber quais instalar, poderá deduzir as versões dessa maneira, usando o banco de dados RPM existente. Eu estou no F19, então esses são os pacotes correspondentes para os arquivos fedora*.repo .

    $ rpm -qf /etc/yum.repos.d/fedora* | sort -u
    fedora-release-19-6.noarch
    

    Você está procurando um arquivo .rpm chamado fedora-release-20*.noarch . Aqui está esse arquivo da mídia de instalação do F20:

    $ rpm -Fvh link $ (uname -p) / os / Pacotes / f / fedora-release-20-1.noarch.rpm

    Para os repositórios do RPMFusion, você pode fazer o mesmo:

    $ sudo rpm -qf /etc/yum.repos.d/rpmfusion-* | sort -u
    rpmfusion-free-release-19-1.noarch
    rpmfusion-nonfree-release-19-1.noarch
    

    Você está procurando por .rpm arquivos chamados rpmfusion-free-release-20*.noarch & %código%. Aqui estão os arquivos do site do RPM Fusion:

    $ sudo rpm -Fvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-20.noarch.rpm
    $ sudo rpm -Fvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-20.noarch.rpm
    
  2. Adicionando novamente o repo de lançamento do fedora

    Um método alternativo seria usar o comando rpmfusion-nonfree-release-20*.noarch para adicionar novamente o repositório yum-config-manager .

    $ sudo yum-config-manager --add-repo=http://download.fedoraproject.org/pub/fedora/linux/updates/testing/20/$(uname -p)/
    

    NOTA: Este comando instalará o repositório 32-bit ou 64-bit baseado na arquitetura do seu sistema usando fedora-release .

  3. Reinstalando?

    Outro método para fazer com que as coisas sejam reparadas é usar o uname -p command yum .

    $ sudo yum reinstall fedora-release
    

    OBSERVAÇÃO: Esse método provavelmente reparará outros repositórios, como o reinstall repos, mas requer pelo menos uma instalação parcialmente funcional do fedora-updates repo, por isso é um pouco difícil 22 ". Eu sugeriria executar este comando após ter os itens na etapa 1 & # 2 acima.

Referências

por 04.02.2014 / 02:18
1

Pode ser outra coisa, mas a partir da sua lista de arquivos em seu diretório repo, eu posso ver os três repositórios do fedora sem qualquer conteúdo.

Você poderia verificar isso? Acho que você excluiu o conteúdo fazendo alguma coisa.

-rw-r--r--. 1 root root 0 Feb 2 09:34 fedora.repo

Acabei de verificar o meu no fedora 19 e a tela é assim ...

-rw-r--r--. 1 root root 1180 dic 18 13:22 fedora.repo

Depois disso, você pode fazer uma atualização e instalar os pacotes.

    
por 03.02.2014 / 10:58
1

Para substituir os arquivos /etc/yum.repos.d/ relevantes para o Fedora 20, como root:

cd /root
wget http://mirrors.kernel.org/fedora/releases/20/Fedora/i386/os/Packages/f/fedora-release-20-1.noarch.rpm
rpm -i --force fedora-release-20-1.noarch.rpm

Se isso não corrigir o seu problema, por favor, como comentário, mostre a saída de:

rpm -qf /etc/yum.repos.d/fedora.repo
rpm -qf /etc/yum.repos.d/fedora-updates.repo
rpm -qf /etc/yum.repos.d/fedora-updates-testing.repo
    
por 03.02.2014 / 15:14