Como evitar o aptitude para reparar pacotes quebrados?

2

Estou usando uma versão dos rubygems necessários para executar um dos aplicativos do meu servidor instalado desta maneira:

dpkg --install /tmp/rubygems1.8_1.3.7-2_all.deb

A cada uso, o aptitude deseja reverter para a versão antiga do rubygems (armazenada nos repositórios.

Como posso dizer ao aptitude para ignorar este problema?

Eu gostaria de uma solução de linha de comando, já que estou usando um servidor (Ubutun 10.04), portanto, isso não é uma duplicata de: Diga ao aptitude para ignorar o pacote quebrado

    
por AsTeR 01.02.2012 / 15:15

4 respostas

1

Basta instalar a versão das gemas necessárias fora do apt. Isso também é melhor , porque estará em /usr/local/bin (coisa que você instalou) em vez de /usr/bin , que deveria ser para a distribuição (coisas construídas no repositório que você está baixando de). Neste caso, a distribuição está obviamente tentando rejeitar sua versão de gemas.

Além disso, as coisas instaladas com a sua versão do Ruby Gems provavelmente estarão em um diretório diferente, mais acima no include-path como /usr/local/share em vez de /usr/lib . Isso significa que, quando você instala as coisas com /usr/local/bin/gem , ele acessa um local especial que não interfere nas coisas que /usr/bin/gem instala.

    
por 07.02.2012 / 22:41
0

Eu mantenho os pacotes usando aptitude hold <package> . Não tenho certeza se funciona também para evitar reversões, mas vale a pena tentar.

Você também pode usar o dpkg: echo “<package> hold” | dpkg --set-selections

Referência

    
por 05.02.2012 / 20:13
0

Se eu fosse você, recompilaria (modificaria) o pacote para não quebrar as dependências.

Porque eu não acho que haja uma maneira aceitável de dizer ao dpkg / apt para ficar feliz com dependências não satisfeitas / quebradas ... já que é basicamente para isso que elas foram criadas.

    
por 06.02.2012 / 17:41
0

Você pode usar equivs para criar pacotes fictícios que fornecem os pacotes que faltam.

Claro, isso só funciona, se não houver conflitos entre os pacotes instalados.

    
por 10.02.2012 / 14:30