Erro: o tipo de dados solicitado primário não está disponível


8

Pelo erro, não consigo instalar nenhum pacote. E também não consigo atualizar para a versão mais recente. Não sei o que fazer agora. Qualquer ajuda muito apreciada.

Erro: o tipo de dados solicitado primário não está disponível

Informações do SO

  • Sistema operacional: Fedora 18
  • Arquitetura: X86_64

Na internet, tentei os seguintes comandos para reconstruir o repositório. Mas ainda estou recebendo o mesmo erro.

Comandos executados

# yum clean all
# rpm rebuilddb
# yum grouplist or yum list

Mais informações

A seguir estão meus arquivos Repo:

adobe-linux-x86_64.repo
epel.repo
fedora.repo
fedora-updates.repo
fedora-updates-testing.repo
livna.repo
mysql-community.repo
mysql-community-source.repo
pgdg-92-fedora.repo
rpmfusion-free-rawhide.repo
rpmfusion-free.repo
rpmfusion-free-updates.repo
rpmfusion-free-updates-testing.repo
rpmfusion-nonfree-rawhide.repo
rpmfusion-nonfree.repo
rpmfusion-nonfree-updates.repo
rpmfusion-nonfree-updates-testing.repo

Respostas:


12

Limpe o cache

Para iniciantes, eu limpava minha área de cache.

$ sudo yum clean all

Testando cada repositório

Se isso não resolver o problema, tentarei desabilitar cada repositório 1 de cada vez e executar novamente o yum listcomando para ver se isso resolve o problema.

Você pode fazer isso via linha de comando temporariamente, mas primeiro você precisa obter os nomes reais dos repositórios, os nomes dos arquivos não são necessariamente a mesma coisa.

Aqui estou usando o Fedora 19, por exemplo:

$ yum repolist | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
repo id                                       repo name                   status
fedora/19/x86_64                              Fedora 19 - x86_64          36,253
fedora-debuginfo/19/x86_64                    Fedora 19 - x86_64 - Debug   6,635
google-chrome                                 google-chrome                    3
rpm-sphere                                    RPM Sphere                   7,679
rpmfusion-free/19/x86_64                      RPM Fusion for Fedora 19 -     462
rpmfusion-free-debuginfo/19/x86_64            RPM Fusion for Fedora 19 -     157
rpmfusion-free-updates/19/x86_64              RPM Fusion for Fedora 19 -     414
rpmfusion-free-updates-debuginfo/19/x86_64    RPM Fusion for Fedora 19 -     149
rpmfusion-nonfree/19/x86_64                   RPM Fusion for Fedora 19 -     219
rpmfusion-nonfree-debuginfo/19/x86_64         RPM Fusion for Fedora 19 -      62
rpmfusion-nonfree-updates/19/x86_64           RPM Fusion for Fedora 19 -     497
rpmfusion-nonfree-updates-debuginfo/19/x86_64 RPM Fusion for Fedora 19 -     170
*updates/19/x86_64                            Fedora 19 - x86_64 - Update 17,597
*updates-debuginfo/19/x86_64                  Fedora 19 - x86_64 - Update  2,241
virtualbox/19/x86_64                          Fedora 19 - x86_64 - Virtua     10
repolist: 72,548

Habilitando um repositório por vez

Para que eu possa ver os nomes dos meus repositórios na primeira coluna. Em seguida, você deseja fazer a lista `yum, na qual desativa tudo e, em seguida, ativa apenas um repositório, para confirmar que está funcionando corretamente.

$ yum --disablerepo=* --enablerepo=google-chrome list available
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
Available Packages
google-chrome-beta.x86_64                                                                               33.0.1750.91-1            

Ao chegar ao repositório que está causando um problema, você deve receber o mesmo erro mencionado em sua postagem.


Obrigado pelas dicas de solução de problemas. Eu segui as instruções. E termine com os seguintes fatos interessantes. FATO 1 --- Estou recebendo o mesmo erro com este comando yum repolist | expandir FATO 2 --- Em seguida, verifiquei cada repositório ativando-o individualmente. O epel repo está produzindo o erro sobre o qual estamos falando. E mais um fator interessante é obter outro erro como "Erro ao obter dados do repositório para ------, repositório não encontrado". Esses repositórios são atualizações do fedora, atualizações de fedora, testes, mysql-community-source, mysql-community, pgdg-92-fedora.
ArunRaj

1
@ user2959196 - Você também pode acessar os arquivos .repo e alterar enabled = 1 para enabled = 0 também.
Slm

1
No meu caso, a execução yum --disablerepo=* --enablerepo=repo_name updatede cada repo individual resolveu o problema de qualquer maneira. Eu estava ficando Error: requested datatype filelists not availableantes.
Maxim Mazurok

4

Eu estava com o mesmo erro: problema nas listas de arquivos do tipo de dados solicitado não disponível . Segui o processo @slm acima para restringir qual arquivo .repo estava causando o problema, mas agora qual repositório individual?

Eu mudei enable = 1 em todos os repositórios individuais dentro do arquivo .repo para 0 e depois testei o comando list depois de ativar cada repositório individual. Eventualmente, encontrei o repositório individual causando o problema.

Hospedamos o cache do repositório com o Artifactory ... mas mesmo com repositórios hospedados externamente, se você pode navegar pelos repositórios (como http://mirror.centos.org/centos/7.5.1804/os/x86_64/repodata/ ), você veja o arquivo filelist.xml.gz, esse é o arquivo que está faltando.

Para Artifactory, encontrei: https://www.jfrog.com/confluence/display/RTF/RPM+Repositories

Indexing the File List 
The filelists.xml metadata file of an RPM repository contains a list of all
the files in each package hosted in the repository. When the repository
contains many packages, reindexing this file as a result of interactions
with the YUM client can be resource intensive causing a degradation of
performance. Therefore, from version 5.4, reindexing this file is initially
disabled when an RPM repository is created. To enable indexing
filelists.xml, set the Enable File List Indexing checkbox.

Então, eu fui capaz de navegar para o Admin -> local -> "repo" e marque a caixa para criar a lista de arquivos.

Depois disso, limpei o cache:

$ yum clean all

$ rm -rf /var/cache/yum

e reran

$ yum list iostat

e resolveu meu problema.


0

No meu caso, estava gerando esse erro ao executar o "yum update" devido a um relatório local que eu adicionei manualmente ao /etc/yum.repo.ddiretório.

Criei um arquivo myrepo.repo e, no "baseurl", coloquei duas vezes "http: //", quero dizer:

baseurl = http://http://isblcncldrp0001.scisb.isban.corp:8900/cm/5/

Então, como você pode ver, a baseurl está errada. Eu removi o extra "http: //" e o "yum update" foi executado com êxito.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.