¿Cómo evitar la aptitud para reparar paquetes rotos?

¿Cómo evitar la aptitud para reparar paquetes rotos?

Estoy usando una versión de rubygems necesaria para ejecutar una de las aplicaciones de mi servidor instalada de esta manera:

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

Cada vez que lo use, aptitude desea volver a la versión anterior de rubygems (almacenada en los repositorios).

¿Cómo puedo decirle a aptitude que ignore este problema?

Me gustaría una solución de línea de comando ya que estoy usando un servidor (Ubutun 10.04), por lo que esto no es un duplicado de:Dile a aptitude que ignore el paquete roto

Respuesta1

Simplemente instale la versión de gemas requerida fuera de apt. esto es en realidadmejortambién, porque estará en /usr/local/bin(lo que instalaste) en lugar de /usr/binlo que se supone que es para la distribución (lo que está integrado en el repositorio desde el que estás descargando). En este caso, la distribución obviamente intenta rechazar su versión de gems.

Además, las cosas instaladas con su versión de Ruby Gems probablemente estarán en un directorio diferente, más arriba en elruta de inclusiónMe gusta /usr/local/shareen lugar de /usr/lib. Esto significa que cuando instales cosas, /usr/local/bin/gemirá a un lugar especial que no interferirá con las cosas que /usr/bin/gemse instalan.

Respuesta2

Mantengo paquetes usando aptitude hold <package>. No estoy seguro de si también funciona para evitar reversiones, pero vale la pena intentarlo.

También puedes usar dpkg: echo “<package> hold” | dpkg --set-selections

Referencia

Respuesta3

Si yo fuera usted, recompilaría (modificaría) el paquete para que no rompa las dependencias.

Porque no creo que haya una forma aceptable de decirle a dpkg/apt que esté contento con las dependencias no satisfechas/rotas... ya que para eso fueron creados básicamente.

Respuesta4

Puedes usarequivspara crear paquetes ficticios que proporcionen los paquetes faltantes.

Por supuesto, esto sólo funciona si no hay conflictos entre los paquetes instalados.

información relacionada