Comment revenir de "test" à "stable" - Downgrade du noyau

37

en ce moment, je m'amuse beaucoup apt-get- et le problème, c'est que c'était de ma faute. J'avais activé les testingpaquets /etc/apt/sources.listpour installer un certain paquet. Et j'ai dit à mon système de le faire apt-get dist-upgrade. Tout a bien fonctionné, mais maintenant j'essaie de revenir à la stablemise à jour - et j'échoue ...

En essayant de faire le apt-get dist-upgrade, je reçois les informations suivantes:

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

Bon, ça va, mais quand j'essaie de faire ça, je reçois un avertissement en lettres rouges amicales et audacieuses:

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.

Eh bien, j'aime suivre les recommandations. La version correcte du noyau pour la stableversion serait linux-image-3.2.0-4-amd64et elle est déjà installée. Le déclassement ne poserait probablement pas de problème si je travaillais avec l’ancien noyau? En fait, je ne sais pas comment activer le noyau à la 3.2.0place de 3.10.

BurninLeo
la source
5
Je n'aime pas vous en parler, mais les rétrogradations ne sont pas prises en charge dans Debian. Vous ne précisez pas à quel point votre système est constitué de paquets provenant des tests (ceci peut être découvert, par exemple, par apt-show-versions), mais si c'est une partie importante, vous pouvez avoir des problèmes. La solution à votre problème immédiat semble simple, à moins que quelque chose ne me manque. Redémarrez simplement en 3.2 et supprimez le nouveau noyau. Cependant, cela ne rendra pas le reste de votre système stable comme par magie.
Faheem Mitha
Merci! Pour autant que je sache, il n'y a pas tellement de problèmes, juste quelques paquets ... Existe-t-il une option pour dire au système d'utiliser le noyau 3.2 après le redémarrage? Je travaille sur un VPS (serveur virtuel) et je ne pourrai cliquer sur aucun bouton avant que SSH ne soit opérationnel ...
BurninLeo
Vous dites que vous ne pouvez pas sélectionner le noyau de manière interactive au démarrage? Si vous utilisez GRUB, vous devriez pouvoir accéder à la configuration de grub et changer votre choix de noyau par défaut pour démarrer. Les détails dépendent de la version de GRUB que vous utilisez.
Faheem Mitha
1
@Wilf Debian ne tentera pas automatiquement de rétrograder. Vous pouvez configurer apt pour essayer de faire cela, mais je ne pense pas que cela aiderait ici.
Faheem Mitha
1
Vous utilisez probablement GRUB. Postez votre version de GRUB, dpkg -l | grep grubdans la question.
Faheem Mitha

Réponses:

43

Regardez cela, cela semble indiquer qu'une rétrogradation est possible en utilisant apt-get:

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

Essentiels (en 3 étapes):
(Si la majeure partie de votre système est d'une version supérieure, vous voudrez procéder à une mise à niveau inférieure avec prudence. Voir en particulier les changements de format (fichiers de configuration et fichiers de configuration personnels)

  1. Supprimez toutes les références à sid ou unstable dans votre /etc/apt/sources.listen supprimant, remplaçant ou en commentant. Assurez-vous d' sources.listavoir ce que vous voulez (je recommande la sécurité et des sources deb stables). Par exemple:

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

    deb http://cdn.debian.net/debian/ Wheezy contrib principale non-libre
    deb-src http://cdn.debian.net/debian/ Wheezy contrib principale non-libre

  2. Épinglez la version que vous souhaitez insérer /etc/apt/preferences(les informations sur le paquet déjà téléchargées, mais désormais indésirables, seront alors ignorées).

    Paquet: *
    Pin: relâchez a = stable
    Pin-Priority: 1001

  3. Enfin, nous devons exécuter le processus apt de mise à jour et de mise à niveau pour la mise à niveau inférieure de tous les paquets.
    * aptdemandera une confirmation

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

Si vous ne pouvez pas expliquer ce que chacune de ces commandes fait indépendamment, lisez vos pages de manuel! :) Et faites de même pour au moins les options que vous utilisez dans d'autres utilitaires.

  1. (Si vous rencontrez des problèmes lors de la mise à niveau d’un package) Purgez-le, puis réinstallez-le.

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

Bill West
la source
2
Excellente réponse, merci! Le cœur de l'opération est l'étape 2.
Chris Harrington
Les /etc/issueautres fichiers ne sont pas rétrogradés. Comment le résoudre?
Mvorisek
3
  • Redémarrez la machine.
  • Dans le menu avancé de Debian sur Grub, choisissez un noyau différent de celui que vous souhaitez supprimer.
  • Si vous êtes sur Debian, vous aurez un méta-paquet pour le noyau installé.

    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
    
  • Il suffit de purger le méta package ( linux-image-amd64) et de le réinstaller.

    Alors vous auriez:

    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
    
  • Redémarrer.


Info:

linux-image-amd64est un méta-paquet. Il peut pointer vers un noyau stable ou sur un noyau back-porté (4.9.25-1 ~ bpo8 + 1) en fonction de la manière dont vous l'installez:

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

ou

apt-get install linux-image-amd64
Gayan Weerakutti
la source