Como dizer ao yum que um pacote está instalado quando ele pensa que não é?

3

Eu apaguei acidentalmente todos os meus dados RPM (removi /var/lib/rpm/* em vez de /var/lib/rpm/__* ) e, em seguida, executei rpm --rebuilddb . Agora, quando tento executar yum update , obtenho:

Could not parse metalink https://mirrors.fedoraproject.org
/metalink?repo=fedora-$releasever&arch=i386 error was
No repomd file
Error: File /var/cache/yum/i386/$releasever/fedora/metalink.xml does 
not exist

Descobri que nem tenho mais a pasta /var/cache/yum/i386 após a operação anterior. Eu baixei o Fedora-release RPM do Fedora 18 e instalei localmente e reconstruí meu cache do yum (foi isso que eu fiz?):

rpm -Uvh --replacefiles --replacepkgs /$MYPATH_TO_Fedorareles/fedorarelease-18-0.8.noarch.rpm

Isso fez um novo rpmdb onde apenas um pacote está instalado: fedora-release . Como o yum acha que é o único pacote instalado, se eu tentar instalar qualquer coisa, ele solucionará as dependências e as filas de muitos pacotes para instalação que eu já instalei.

Como faço para você saber de todos os pacotes que já estão instalados? Eu não quero reinstalar nada e não quero baixar 500MB de RPMs.

    
por fedvasu 09.10.2012 / 23:43

1 resposta

3

Infelizmente, você terá que preencher novamente o rpmdb e só poderá fazer isso se tiver os RPMs em si. Você pode passar --justdb para rpm ao executar um pacote install / update / erase, mas precisará do pacote atual disponível.

    
por 11.10.2012 / 00:46

Tags