So kehren Sie von "Testen" zu "Stabil" zurück - Kernel-Downgrade


37

momentan habe ich viel spaß damit apt-get- und das schlimme ist, es war meine eigene schuld. Ich hatte die testingPakete aktiviert /etc/apt/sources.list, um ein bestimmtes Paket zu installieren. Und ich sagte meinem System zu tun apt-get dist-upgrade. Alles hat gut funktioniert, aber jetzt versuche ich, wieder auf den stableneuesten Stand zu kommen - und ich scheitere ...

Wenn ich versuche, das zu tun apt-get dist-upgrade, erhalte ich die folgenden Informationen:

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

Nun, das ist okay, aber wenn ich das versuche, bekomme ich eine Warnung in fetten, freundlichen roten Buchstaben:

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.

Nun, ich folge gerne der Empfehlung. Die richtige Kernelversion für das stableRelease wäre linux-image-3.2.0-4-amd64und es ist bereits installiert. Wahrscheinlich wäre das Downgrade kein Problem, wenn ich unter dem älteren Kernel arbeiten würde? Eigentlich habe ich keine Ahnung, wie man den Kernel aktiviert 3.2.0anstatt 3.10.


5
Ich hasse es, Ihnen das zu erklären, aber Downgrades werden in Debian nicht unterstützt. Sie sind sich nicht sicher, wie viel von Ihrem System jetzt aus Paketen besteht, die getestet wurden (dies kann beispielsweise von apt-show-Versionen erkannt werden), aber wenn es sich um einen wichtigen Teil handelt, können Probleme auftreten. Die Lösung für Ihr unmittelbares Problem scheint einfach zu sein, es sei denn, mir fehlt etwas. Starten Sie einfach 3.2 neu und entfernen Sie dann den neueren Kernel. Dies führt jedoch nicht dazu, dass der Rest Ihres Systems auf magische Weise stabil wird.
Faheem Mitha

Vielen Dank! Soweit ich weiß, gibt es überhaupt nicht so viele Probleme - nur ein paar Pakete ... Gibt es eine Option, um das System anzuweisen, den Kernel 3.2 nach dem Neustart zu verwenden? Ich arbeite an einem VPS (virtuellen Server) und kann erst dann auf eine Schaltfläche klicken, wenn SSH aktiv ist ...
BurninLeo

Sie sagen, Sie können den Kernel beim Booten nicht interaktiv auswählen? Wenn Sie GRUB verwenden, sollten Sie in der Lage sein, die Konfiguration von GRUB aufzurufen und Ihre Standardauswahl für den Kernel zu ändern, von dem aus gebootet werden soll. Die Details hängen davon ab, welche Version von GRUB Sie ausführen.
Faheem Mitha

1
@Wilf Debian versucht nicht automatisch ein Downgrade. Sie könnten apt so konfigurieren, dass es das versucht, aber ich denke nicht, dass das hier helfen würde.
Faheem Mitha

1
Sie verwenden wahrscheinlich GRUB. Posten Sie Ihre Version von GRUB dpkg -l | grep grubin der Frage.
Faheem Mitha

Antworten:


43

Schauen Sie sich das an, es scheint, dass ein Downgrade mit apt-get möglich ist:

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

Essentials (3-stufig):
(Wenn ein Großteil Ihres Systems eine höhere Version aufweist, sollten Sie ein sorgfältiges Downgrade durchführen. Beachten Sie insbesondere Formatänderungen (Daten und persönliche Konfigurationsdateien).

  1. Entfernen Sie alle Verweise auf sid oder unstable in Ihrem, /etc/apt/sources.listindem Sie löschen, ersetzen oder auskommentieren. Stellen sources.listSie sicher, was Sie wollen (ich empfehle Sicherheit und stabile Deb-Quellen). Beispielsweise:

    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 non-free
    deb-src http://cdn.debian.net/debian/ wheezy main contrib non-free

  2. Legen Sie die gewünschte Version fest /etc/apt/preferences(dies führt dazu, dass die bereits heruntergeladenen, aber jetzt unerwünschten Paketinformationen wie gewünscht ignoriert werden).

    Verpackung: *
    Pin: Freigabe a = stabile
    Pin-Priorität: 1001

  3. Zum Schluss müssen wir den apt-Update- und -Upgrade-Prozess ausführen, um alle Pakete zu downgraden.
    * aptwird um Bestätigung bitten

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

Wenn Sie nicht erklären können, was jeder dieser Befehle unabhängig tut, lesen Sie Ihre Manpages! :) Und machen Sie dasselbe zumindest für die Optionen, die Sie in anderen Dienstprogrammen verwenden.

  1. (Wenn Sie Probleme beim Downgrade eines Pakets haben) Löschen Sie es und installieren Sie es erneut

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


2
Ausgezeichnete Antwort, danke! Der Kern davon ist Schritt 2.
Chris Harrington

Die /etc/issueund andere Dateien werden nicht heruntergestuft. Wie kann man das beheben?
Mvorisek

3
  • Starten Sie die Maschine neu.
  • Wählen Sie im erweiterten Debian-Menü unter Grub einen anderen Kernel als den, den Sie entfernen möchten.
  • Wenn Sie unter Debian arbeiten, haben Sie ein Metapaket für den Kernel installiert.

    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
    
  • Löschen Sie einfach das Metapaket ( linux-image-amd64) und installieren Sie es erneut.

    Dann hätten Sie:

    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
    
  • Starten Sie neu.


Info:

linux-image-amd64ist ein Metapaket. Es könnte auf einen stabilen Kernel oder einen Back-Port-Kernel (4.9.25-1 ~ bpo8 + 1) verweisen, je nachdem, wie Sie ihn installieren:

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

oder

apt-get install linux-image-amd64
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.