Cómo volver de "prueba" a "estable" - rebaja de kernel

37

Actualmente me estoy divirtiendo mucho, apt-gety lo malo es que fue mi culpa. Había habilitado los testingpaquetes /etc/apt/sources.listpara instalar un paquete determinado. Y le dije a mi sistema que lo haga apt-get dist-upgrade. Todo funcionó bien, pero ahora estoy tratando de volver a la stableactualización, y fallo ...

Al intentar hacer apt-get dist-upgrade, obtengo la siguiente información:

The following packages will be REMOVED:
  linux-image-3.10-3-amd64
The following NEW packages will be installed:
  libcgi-fast-perl libfcgi-perl libyaml-syck-perl
The following packages will be DOWNGRADED:
  initramfs-tools libdate-manip-perl munin munin-common

Bueno, está bien, pero cuando trato de hacer esto, recibo una advertencia en negrita y amistosa en letras rojas:

You are running a kernel (version 3.10-3-amd64) and attempting to remove the same version.
...
It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal.

Bueno, me gusta seguir las recomendaciones. La versión correcta del kernel para el stablelanzamiento sería linux-image-3.2.0-4-amd64y ya está instalada. ¿Probablemente la degradación no sería un problema si estuviera trabajando con el kernel anterior? En realidad, no tengo idea de cómo habilitar el núcleo en 3.2.0lugar de 3.10.

BurninLeo
fuente
55
Odio decirte esto, pero las degradaciones no son compatibles con Debian. No es específico acerca de qué parte de su sistema ahora consiste en paquetes de pruebas (esto es reconocible, por ejemplo, por apt-show-version), pero si es una parte importante, puede tener problemas. La solución a su problema inmediato parece simple, a menos que me falte algo. Simplemente reinicie en 3.2 y luego elimine el kernel más nuevo. Sin embargo, esto no hará que el resto de su sistema vuelva mágicamente a estable.
Faheem Mitha
¡Gracias! Por lo que veo, no hay tantos problemas, solo unos pocos paquetes ... ¿Hay alguna opción para decirle al sistema que use el kernel 3.2 después del reinicio? Estoy trabajando en un VPS (servidor virtual) y no podré hacer clic en ningún botón antes de que SSH esté activo ...
BurninLeo
¿Estás diciendo que no puedes seleccionar el núcleo de forma interactiva en el arranque? Si está utilizando GRUB, debería poder ir a la configuración de grub y cambiar su elección predeterminada de kernel para arrancar. Los detalles dependerán de la versión de GRUB que esté ejecutando.
Faheem Mitha
1
@Wilf Debian no intentará automáticamente una rebaja. Puede configurar apt para intentar hacer eso, pero no creo que eso ayude aquí.
Faheem Mitha
1
Probablemente estés usando GRUB. Publique su versión de GRUB, dpkg -l | grep gruben la pregunta.
Faheem Mitha

Respuestas:

43

Mira esto, parece indicar que es posible degradar usando apt-get:

http://ispire.me/downgrade-from-debian-sid-to-stable-from-jessie-to-wheezy/

Essentials (3 pasos):
(Si gran parte de su sistema es de una versión superior, querrá tener cuidado al degradar. Vea especialmente los cambios de formato (datos y archivos de configuración personal)

  1. Elimine todas las referencias a sid o inestables en su /etc/apt/sources.listeliminar, reemplazar o comentar. Asegúrese de sources.listtener lo que desea (recomiendo seguridad y fuentes de Deb estables). Por ejemplo:

    deb http://security.debian.org/ wheezy / updates main
    deb-src http://security.debian.org/ wheezy / updates main

    deb http://cdn.debian.net/debian/ wheezy main contrib no libre
    deb-src http://cdn.debian.net/debian/ wheezy main contrib no libre

  2. Fije la versión que desea /etc/apt/preferences(esto hará que la información del paquete ya descargada pero ahora no deseada se ignore como se desee).

    Paquete: *
    Pin: liberar a = estable
    Prioridad de pin: 1001

  3. Finalmente, tenemos que ejecutar el proceso de actualización y actualización de apt para degradar todos los paquetes.
    * aptpedirá confirmación

    # apt-get update
    # apt-get upgrade
    # apt-get dist-upgrade

Si no puede explicar qué hace cada uno de estos comandos de forma independiente, ¡ lea sus páginas de manual! :) Y haga lo mismo para al menos las opciones que usa en otras utilidades.

  1. (Si tiene problemas para degradar un paquete) Purgue, luego reinstale

    # apt-get purge [your_failing_package]
    # apt-get install [your_failing_package]

Bill West
fuente
2
Excelente respuesta, gracias! El núcleo de esto es el paso 2.
Chris Harrington
Los /etc/issuey otros archivos se mantienen no degradados. ¿Como resolverlo?
Mvorisek
3
  • Reinicia la máquina.
  • Desde el menú avanzado de Debian en Grub, elija un núcleo diferente del que desea eliminar.
  • Si está en Debian, tendría instalado un metapaquete para el núcleo.

    gayan@deb:~$ dpkg -l | grep linux 
    ii  linux-image-amd64                     4.9.25-1~bpo8+1
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    ii  linux-image-4.9.0-0.bpo.3-amd64       4.9.25-1~bpo8+1
    
  • Simplemente purgue el metapaquete ( linux-image-amd64) y vuelva a instalarlo.

    Entonces tendrías:

    gayan@deb:~$ dpkg -l | grep linux
    ii  linux-image-amd64                     3.16.43-2
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    
  • Reiniciar.


Información:

linux-image-amd64Es un meta paquete. Podría apuntar a un kernel estable o uno con puerto posterior (4.9.25-1 ~ bpo8 + 1) dependiendo de cómo lo instale:

apt-get -t jessie-backports install linux-image-amd64

o

apt-get install linux-image-amd64
Gayan Weerakutti
fuente