• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

wie wird man den alten Kernel los?

Bernie

Newbie
Hallo zusammen,
habe mit smart ein Kernelupdate durchgeführt. Nun erscheint im Grub-Bootmenue ganz unten auch der alte Kernel. Wenn ich in smart den alten Kernel lösche, ist dann auch der Eintrag im Bootmenue weg, oder führt dies zu weiteren Problemen? Der neue Kernel funktioiert tadellos und ich möchte auch den neuen ATI-Treiber zu meinem neuen default-kernel installieren. Dieser soll dann, wenn ich das richtig verstanden habe, automatisch wenn ein neuer Kernel verfügbar ist ebenfals von der ATI-Seite über rpm-md geupdatet werden?
Hat jemand diesbezüglich schon Erfahrungen sammeln können?

Greetz Bernie
 
OP
B

Bernie

Newbie
edit: ich vergas
von Kernel 2.6.16.13-4 default auf 2.6.16.21-0.13 default upgedatet!
 

admine

Ultimate Guru
Bernie schrieb:
Nun erscheint im Grub-Bootmenue ganz unten auch der alte Kernel. Wenn ich in smart den alten Kernel lösche, ist dann auch der Eintrag im Bootmenue weg,
Und selbst wenn der Eintrag noch da ist, dann kannst du den selbst in der /boot/grub/menu.lst löschen.

Hauptsache ist, du bist dir wirklich sicher was du tust, bevor du den "alten" Kernel löscht ;)
 
Wenn du den alten Kernel mit smart entfernst, ist hinterher auch der Bootloader-Eintrag weg.
Aber was zum Henker hat das im Grafikkarten-Forum verloren???
 
Es hat nichts im Grafikkarten-Forum verloren.

Aber trotzdem: Besonders toll ist der Tipp mit der menu.lst nicht. Mach das nicht. Wenn Du das machst, bleibt der olle Kernel trotzdem in der RPM-Datenbank drin und wird Probleme verursachen.

Lösch ihn aus der RPM-Datenbank. Dazu bitte erst mit
Code:
rpm -qa | grep kernel
alle installierten Kernels abfragen und das Ergebnis posten!

Damit smart diesen hochgefährlichen Unsinn in Zukunft nicht mehr macht, bitte auf die allerneueste Version updaten und anschließend mit
Code:
smart config --remove package-flags
alle Multi-Version-Flags löschen.

Achtung: Das bringt nur dann etwas, wenn smart auf die neueste Version aktualisiert ist, sonst kommt der Mist automatisch wieder zurück.
 
Nur mal noch eine Klarstellung zu dieser Frage hier:
Bernie schrieb:
Dieser soll dann, wenn ich das richtig verstanden habe, automatisch wenn ein neuer Kernel verfügbar ist ebenfals von der ATI-Seite über rpm-md geupdatet werden?
Ja, wenn der alte Kernel aus der RPM-Datenbank entfernt wird und nur der neue drin steht, dann wird das so funktionieren.

Wenn nicht, dann kann es passieren, dass smart beim nächsten Kernel-Update wieder den neuesten Kernel zum alten dazuinstalliert, aber nicht den neuesten ATI-Treiber.

=> Autsch. Warum, dürfte klar sein. ;)

Mit einem alten Kernel in der RPM-Datenbank gibt es keine Möglichkeit zu überprüfen, ob alle Abhängigkeiten vom neuesten Kernel erfüllt sind, sondern es kann nur sichergestellt werden, dass sie von irgendeinem Kernel erfüllt sind.

Also beseitige unbedingt den alten Kernel, und zwar nicht nur aus der menu.lst, sondern auch aus der RPM-Datenbank, und bereinige die smart-Konfiguration, damit es nicht wieder passiert.
 
OP
B

Bernie

Newbie
@ traffic

habe gestern Abend das smart-package 42.8 draufgespielt. Dürfte das neueste sein. Werde heute Abend mal meine installierten Kernel posten.

@ Freecoffee & Z-City
Meiner Meinung nach gehört mein Post schon hier her, geht es mir doch um den automatischen Update der ATI-fglrx-treiber, und eben hier um das Problem, welches sich durch die Benutzung von SmartPM ergab.
Hätte sicherlich auch im Smart - APT - YUM - YAST-Forum gepasst!

Aber trotz alledem, danke für die rege Beteiligung und die sehr konkreten Hilfestellungen von traffic! :lol:

Bernie
 
OP
B

Bernie

Newbie
@ traffic

hallo, hier ist der Auszug:

Code:
bvoelke@linux-izrw:~> rpm -qa | grep kernel
kernel-default-2.6.16.21-0.13
kernel-default-2.6.16.13-4
bvoelke@linux-izrw:~>

werde jetzt mit smart den kernel-default-2.6.16.13-4 entfernen und
dann die package-flags ebenfalls-

Bernie
 
OK, dann einfach den alten Kernel deinstallieren
Code:
rpm -e kernel-default-2.6.16.13-4
und folgendermaßen die Multi-Version-Flags löschen:
Code:
smart config --remove package-flags
Anschließend zur Überprüfung nochmal die Ausgabe von
Code:
smart config --show package-flags
posten.
 
OP
B

Bernie

Newbie
...so, jetzt wirds irgendwie spannend!

ohne Worte
Code:
linux-izrw:/home/bvoelke # rpm -e kernel-default-2.6.16.13-4
error: Failed dependencies:
        kernel(fs) = 1562a54678b1506f is needed by (installed) novfs-kmp-default-1.2.0_2.6.16.13_4-10.i586
        kernel(kernel) = 3e632392437173c4 is needed by (installed) novfs-kmp-default-1.2.0_2.6.16.13_4-10.i586
        kernel(mm) = 3d6b445a058e7d3f is needed by (installed) novfs-kmp-default-1.2.0_2.6.16.13_4-10.i586
linux-izrw:/home/bvoelke #
heißt das, dass ich diese Pakete erst auf den neueren Kernel updaten muß, um dann den "alten" mit erfüllten Abhängigkeiten deinstallieren zu können? :roll:
 
Genau das heißt es, und genau deswegen ist dieser MultiKernel-Kram hochgefährlicher Unsinn: Es bleiben Leichen zurück und der Benutzer hat keine Chance, sie zu erkennen.

Allerdings hast Du Glück: novfs ist ein Modul, das Du garantiert nicht brauchst, also putz es einfach mit weg und gut ist.
Code:
rpm -e kernel-default-2.6.16.13-4 novfs-kmp-default-1.2.0_2.6.16.13_4-10
smart config --remove package-flags
smart config --show package-flags
 
OP
B

Bernie

Newbie
so, jetzt denke ich, dass die Geschichte gut ausgeht!

Code:
linux-izrw:/home/bvoelke # rpm -e kernel-default-2.6.16.13-4
linux-izrw:/home/bvoelke # smart config --remove package-flags

linux-izrw:/home/bvoelke # smart config --show package-flgs
WARNUNG!: Option 'package-flgs' nicht gefunden.

linux-izrw:/home/bvoelke # smart config --show package-flags
{'multi-version': {'kernel-source': [(None, None)], 'java': [(None, None)]}}

linux-izrw:/home/bvoelke #

Was meinst Du, traffic?

Oder soll ich das novfs-Modul ( habe ich upgedatet) trotzdem platt machen?
 
So ist es wunderbar.
Bernie schrieb:
Oder soll ich das novfs-Modul ( habe ich upgedatet) trotzdem platt machen?
Ja oder nein, such Dir was aus...

Wichtig ist nur, dass die alte Version weg ist. Ob Du stattdessen eine neuere Version oder gar keine hast, ist ziemlich wurscht (Du wirst novfs nie brauchen, es beißt aber auch nicht, wenn es da ist, solange die installierte Version die neueste ist).
 

Gimpel

Guru
Bernie schrieb:
@ Freecoffee & Z-City
Meiner Meinung nach gehört mein Post schon hier her, geht es mir doch um den automatischen Update der ATI-fglrx-treiber, und eben hier um das Problem, welches sich durch die Benutzung von SmartPM ergab.
Hätte sicherlich auch im Smart - APT - YUM - YAST-Forum gepasst!

^^ sehe ich auch so. Hier gehts eher um die Bedienung von rpm und dem smart-zeugs, als um den kernel.. der funktioniert ja offensichtlich, und die graka ist ja auch nicht das problem.

Vielleicht kommt ja mal jemand hier dahinter dass "Update und Installation mi YaST" dem Titel nach überflüssig ist und sogesehen mit zu smart/apt/yum gehört. Ich würde das umbenennen in "Basisinstallation" o.Ä.

moved from kernel-hacking to smart/apt/yum etc
 
OP
B

Bernie

Newbie
So, dann werde ich demnächst noch mal versuchen, den neuen ATI-Treiber zu installieren.
Hatte nämlich nicht funktioiert!

Vielen Dank für die äusserst effektive Hilfe, im Speziellen an traffic!

Greetz
Bernie :wink:
 

ubo_2001

Newbie
Hallo zusammen,
ich hänge mich an diesen Thread dran, weil
ich das gleiche Problem, wie Bernie habe.
Der einzige Unterschied, ich habe eine NVidia
Grafikkarte, deren Treiber ich über Smart updaten wollte.
Im Bootmenue taucht jetzt auch der zusätzliche
title Vorheriger Kernel -- SUSE LINUX 10.1 auf.
Nur mit diesem Eintrag kann ich mein Suse 10.1 bis zum
Runlevel 5 durchstarten. Wähle ich den anderen Eintrag
aus komme ich nur bis zum Runlevel 3.

Ein fan@linux:~> rpm -qa | grep kernel ergibt folgende Ausgabe:

kernel-source-2.6.16.21-0.13
kernel-source-2.6.16.13-4
kernel-default-2.6.16.21-0.13
kernel-default-2.6.16.13-4

Jetzt komme ich ins Schleudern, denn den Kernel *21-0.13
hatte ich schon vorher drauf. Also ist downgradet worden?
Und der NVidia-Treiber ist trotzdem installiert worden.

Kann ich den 13-4 Kernel nach traffic mit:
rpm -e kernel-default-2.6.16.13-4
und
smart config --remove package-flags
deinstallieren?

Grüße ubo_2001

Suse 10.1 KDE 3.54
 

Kintobi

Newbie
Moin, auch wenn der Thread sich in eine etwas andere Richtung bewegt, würde ich gerne etwas zu dem etwas alterem Post von traffic fragen:

traffic schrieb:
Genau das heißt es, und genau deswegen ist dieser MultiKernel-Kram hochgefährlicher Unsinn: Es bleiben Leichen zurück und der Benutzer hat keine Chance, sie zu erkennen.

Ist es nicht so, dass die Module für den entsprechenden Kernel sowieso in einem nach dem Kernel benannten Verzeichnis leigen. Deshalb ist es doch eigentlich egal, ob noch alte Module installiert sind, oder?

traffic schrieb:
Allerdings hast Du Glück: novfs ist ein Modul, das Du garantiert nicht brauchst, also putz es einfach mit weg und gut ist.
Code:
rpm -e kernel-default-2.6.16.13-4 novfs-kmp-default-1.2.0_2.6.16.13_4-10

Die Inkonsistenz scheint mir eher durch die Manuelle Paketdeinstallation entstanden zu sein. Offensichtlich hat rpm die Abhängigkeiten nicht richtig geprüft und deshalb nicht gleich die Module zusammen mit dem Kernel rausgeworfen(so wie du es jetzt per Hand vorgeschlagen hast). Ich vermute dass das nicht passiert wäre, wenn man den alten Kernel z.B. mit smartpm rausgeworfen hätte. Aber das ist nur eine Vermutung. Kann das jemand bestätigen?

traffic schrieb:
Code:
smart config --remove package-flags
smart config --show package-flags

Ich war sehr überrascht, als smart nach
Code:
smart update
smart upgrade
ohne nachfragen einen neuen Kernel installiert hat. Von debian bin ich einfach anderes gewohnt. Da wird 3x nachgefragt und der alte Kernel bleibt als Bootoption erhalten (falls der neue nicht korrekt läuft). Das finde ich auch eigentlich schöner. Vor allem hat smart dem laufendem Kernel die Module unter dem Hintern weggelöscht. Das finde ich schon etwas bedenklich.
Aber jetzt zu meiner Frage: Wenn man das Kernelupdate über Yast machen möchte und smart sich da raushalten soll, müsste man dann nicht
Code:
smart flag --set lock kernel-default
die flags so setzen?

Kann jemand mit Sicherheit sagen welche Pakete zum Kernelupdate gehören, und welche nicht?
 
- Mit der Verbindung zwischen Kernelversion und Modulen ist das etwas komplizierter. Die Module sind nicht genau einer bestimmten Kernelversion zugeordnet, sondern über Abhängigkeiten, die von der Kernelversion unabhängig sind, mit dem Kernel verbunden. Ob ein Modul zu einem bestimmten Kernel passt, bestimmt nicht die Versionsnummer, sondern die tatsächliche ABI.

- Die Module in den *-kmp-*-Paketen sind nicht in einem nach dem Kernel benannten Verzeichnis. Eigentlich sind sie in überhaupt keinem Verzeichnis, sondern sie werden bei der Installation in ein nach dem Kernel benanntes Verzeichnis verschoben/verlinkt, zu dem sie passen.

- Es ist nicht egal, ob noch alte Kernels oder alte Module installiert sind. Es ist sogar kontraproduktiv, wenn sie installiert sind, weil sie fälschlicherweise Abhängigkeiten erfüllen können. Es kann zum Beispiel passieren, dass ein neuer Kernel reinkommt, aber kein passender Grafiktreiber. Dann installiert smart den neuen Kernel, obwohl der alte Grafiktreiber damit nicht laufen kann, weil der alte Kernel immer noch in der RPM-Datenbank rumschwirrt und die Abhängigkeiten auf dem Papier erfüllt, obwohl sie für den aktuellen Kernel tatsächlich nicht erfüllt sind. Das richtige Verhalten in diesem Fall wäre, dass das Kernel-Update solange zurückgehalten wird, bis ein passender Grafiktreiber verfügbar ist.

- smart löscht dem laufenden Kernel überhaupt keine Module unter dem Hintern weg, sondern zeigt die Transaktion an und führt sie nur nach Bestätigung aus. Es ist tatsächlich eine besondere Eigenart von smart, Pakete auch zu löschen, wenn dies zum Update eines anderen Pakets erforderlich ist; wenn Du es lieber hast, dass das Kernel-Update stattdessen zurückgehalten wird, dann verwende für Kernel-Updates YaST.

- Für smart ist der Kernel ein Paket wie jedes andere auch, es gibt keine Sonderbehandlung für den Kernel. Wenn man smart auf Debian benutzt, ist es genau dasselbe.
 
Oben