Wie Sie im Changelog für den Linux-Kernel sehen können , gibt es Aktualisierungsnachrichten wie "Bump ABI - Maverick ABI 28".
Laut Ubuntu-Wiki ist ABI so etwas wie eine Brücke zwischen dem Kernel-Space und den anderen Modulen (meine Interpretation).
Fügt ein solches Update zusätzliche Funktionen und / oder Bugfixes hinzu? Sollte ich meinen Kernel auf die nächste Version aktualisieren?
aptitude changelog linux-image-2.6.35-28-generic
Zeigt eine Liste der Änderungen an. Ich bin nicht sicher, warum das Metapaket nicht die Updates derlinux-{image,headers}-*-generic
Pakete enthält; vielleicht gibt es da auchlinux-{image,headers}-*-server
pakete?Die ABI ist die Application Binary Interface (nicht zu verwechseln mit der API, der Application Programming Interface). Der ABI definiert die Größen, die Zeichen und die Reihenfolge der Zahlen, die die Anwendung verwendet.
Um es klar zu machen, hier ein Beispiel: Ich möchte das Alter eines Gebäudes, ausgedrückt in Jahren, codieren. Dazu kann ich ein C verwenden
unsigned char
, einen Typ mit einer Größe von 1 Byte, der Werte von 0 bis 255 codieren kann. Nehmen wir nun an, ich stelle fest, dass 255 eine zu niedrige Grenze ist, weil es Gebäude gibt, die mehr gebaut wurden als vor 255 Jahren. Ich kann dann ein C verwendenunsigned int
, das 4 Byte lang ist und Werte von 0 bis 65535 codieren kann.Wenn ich den Typ von
char
aufint
ändere, habe ich die semantische Bedeutung des Feldes nicht geändert (es war ein in Jahren ausgedrücktes Alter und es ist es immer noch), aber ich habe seine Größe geändert. Jede Software, die mit meiner Anwendung interagiert, muss nicht geändert werden, spricht jedoch eine andere "Sprache".Wenn ein Kernel sein ABI ändert, bedeutet dies, dass er die Sprache geändert hat, die er spricht, aber keine Funktionen hinzugefügt, entfernt oder geändert wurden. Alle Module von Drittanbietern, die mit dem Kernel interagieren müssen, müssen neu kompiliert werden, um diese neue Sprache zu sprechen. Sie müssen jedoch in keiner Weise geändert werden, damit sie ordnungsgemäß funktionieren.
quelle