La historia de fondo es que los controladores normales de GPU Intel no hacen las diversas extensiones de OpenGL que mi codificación de hobby y algunos juegos quieren. Así que tengo que instalar xorg-edgers y luego es feliz. Sin embargo, el miércoles pasado hubo una actualización de xorg-edgers, muchos paquetes, y se rompió gravemente; los conductores se bloquean y se llevan toda la computadora con ellos; Se requiere restablecimiento completo.
Entonces, ¿cómo puede degradar: seleccione versiones de paquetes en un PPA que representen un punto en el pasado, ignorando las versiones más nuevas que eso?
sudo ppa-purge ppa:someppa/ppa
Tuve el mismo problema hoy, noté que hace unas 2 semanas instalé actualizaciones en mi sistema y todavía tenía habilitado ubuntu-x-swat ppa que tenía un nuevo controlador nvidia. El viejo estaba bien, el nuevo rompió mi sistema (solo un poco, me tomó un tiempo notarlo).
Así que busqué en /var/log/apt/history.log para encontrar el número de versión anterior del paquete del controlador nvidia que había instalado y luego intenté encontrar el paquete en / var / cache / apt / archives, donde normalmente encuentra todos los paquetes descargados por apt, pero no estaba allí. Y el ppa no mantiene la versión anterior de sus paquetes una vez que son reemplazados por una versión más nueva, por lo que tampoco pude obtenerlo desde allí.
Pero, la diferencia de la versión del paquete anterior a la más reciente se mantiene en el ppa para todas las versiones, y junto con el tarball original y sus parches de Debian es posible revertir todos los cambios de la versión más nueva y obtener las fuentes de la versión anterior.
Describiré brevemente los pasos necesarios:
Vaya a la ppa, busque la versión más reciente del paquete y descargue el tarball original y los parches debian (opcionales), en mi caso, se encontraron en esa página:
El tarball original se llama:
Los parches de Debian que hacen un paquete construible del tarball son:
Extraiga esos en algún lugar preferiblemente en un directorio nuevo y vacío, luego aplique los parches al árbol de origen
No debería obtener ningún fragmento rechazado al parchear.
En la misma página de ppa, encontrará una diferencia de la versión del paquete anterior a la que está viendo, en la sección "Diferencias disponibles".
Para mí eso fue:
Descargue eso, extráigalo y aplíquelo a las fuentes originales parcheadas:
¡Presto! Ahora debería tener el árbol de origen de la versión anterior listo para construir un paquete:
Lo que debería darle un paquete de la versión anterior que se puede instalar con dpkg:
fuente
En el futuro, si está utilizando Synaptic (suponiendo que puede iniciar en X) puede seleccionar entre las versiones disponibles resaltando el paquete que se va a cambiar y luego seleccionando 'forzar versión' en el menú. A partir de ahí, deberías poder degradar.
fuente
[Poster original]
Sin divertirme mucho, escribí un script para calcular la diferencia y ejecutar el comando de restauración; Había alrededor de 100 paquetes involucrados. Lamentablemente, mi downgrade falló ya que muchos paquetes ya no están disponibles :(
fuente
/var/log/apt/history.log
?dpkg
directamente entonces? Synaptic es un front-end deapt-get
.