Die Neuerungen von Linux 4.2

Seite 3: Rekorde, Ausblick auf 4.3, Statistik

Inhaltsverzeichnis

Linux 4.2 ist die erste Version, bei der die Dateien in den Kernel-Quellen mehr als 20 Millionen Zeilen enthalten. Laut dem Analyseprogramm cloc sind 13,5 Millionen davon Code, von denen 97 Prozent in C und 2 Prozent in Assembler geschrieben sind. Zum Vergleich: Das Quellarchiv von Firefox 38 ist mit 19,2 Million Zeilen fast genauso groß, hier sind aber nur 11,2 Millionen Zeilen Code.

Für die neue Linux-Version wurden rund 13.700 Änderungen in das Quellcodeverwaltungssystem eingepflegt (Git-Merges nicht mitgezählt); zudem wuchsen die Kernel-Quellen netto um rund 800.000 Zeilen. Mit beiden Werten bleibt der Kernel jeweils ganz knapp hinter den Rekordhaltern in diesen Bereichen.

Direkt nach der Freigabe der neuen Linux-Version beginnt nun die Phase, in der Linus Torvalds das Gros der Änderungen für die nächste größere Überarbeitung des Linux-Kernels annimmt; dieses "Merge Window" beendet er typischerweise nach zwei Wochen mit der Veröffentlichung einer ersten Vorabversion.

In dieser Phase wollen die Entwickler den Ext3-Dateisystemcode aus dem Kernel entfernen. Ext3-Dateisysteme sollen stattdessen mit dem aus Ext3 hervorgegangenen Ext4-Dateisystemcode angesprochen werden. Das erleichtert die Wartung des Kernels; bei vielen modernen Distributionen ist der Ext4-Code ohnehin schon länger für Ext2- und Ext3-Dateisysteme zuständig.

In 4.3 einziehen soll ein Dateisystem-Client für das Orange File System – ein aus dem Parallel Virtual File System (PVFS) hervorgegangenes verteiltes Dateisystem, das speziell für große Cluster mit vielen parallelen Zugriffen entwickelt wurde.

Derzeit deutet indes nichts darauf hin, dass der Interprozess-Kommunikationsdienst Kdbus in 4.3 einfließt. Dessen Programmierer hatten ihn erstmals zur Aufnahme in Linux 4.1 eingereicht. Einige Kernel-Entwickler wiesen dabei auf Design-Schwächen hin und sprachen sich gegen eine Integration aus. Die Kdbus-Entwickler haben einige der Schwächen zwischenzeitlich ausgeräumt und arbeiten an weiteren Verbesserungen; sie haben in den letzten Monaten aber noch nicht wieder um eine Begutachtung von Kdbus als Ganzes oder um eine Aufnahme in den offiziellen Kernel ersucht.

Im Entwicklungszweig Linux-Next, wo die Änderungen für die nächste größere Überarbeitung des Kernels aufeinander abgestimmt wurden, liegen derweil rund 9500 weitere Änderungen zur Aufnahme in Linux 4.3 bereit. Diese Version dürfte Anfang November erscheinen, sofern Torvalds und seine Mitstreiter im gewohnten Tempo arbeiten. Ein Artikel wie dieser wird dann wieder einen Überblick über die wichtigsten Neuerungen liefern.

Linux-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne Doku)²
Entwick-
lungs-
zeitraum
Anzahl
Commits³
Diffstat⁴
3.16

47433

18879129
(17527507)
56 Tage 13830 9807 files changed,
 513830 insertions(+),
 267276 deletions(-)
3.17 47503 18864388
(17484200)
63 Tage 13331 10605 files changed,
 651466 insertions(+),
 666200 deletions(-)
3.18 47986

18994096
(17586160)
63 Tage 12361 9303 files changed,
 485509 insertions(+),
 355800 deletions(-)
3.19 48440 19130604
(17692109)
63 Tage 13652 10739 files changed,
483355 insertions(+),
346843 deletions(-)
4.0 48957
19312370
(17847304)
63 Tage
11306
9489 files changed,
 508686insertions(+),
 326917 deletions(-)
4.1

49457 19512485
(18004436)
70 Tage 12965 10094 files changed,
 453375 insertions(+),
 253259 deletions(-)
4.2 50795 20311717
(18755735)
70 Tage 14750 10926 files changed,
 1079245 insertions(+),
 280008 deletions(-)
¹ git ls-tree -r --name-only HEAD | wc -l
² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l))"
³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l
⁴ git diff --shortstat vx.(y-1)..vx.(y)
Mehr Infos

Linux herunterladen

Die neue Linux-Version steht über Kernel.org zum Download bereit. Den Kernel-Quellcode gibt es in Tar-Archiven, die mit Gzip und Xz komprimiert wurden. Die folgenden Befehle zeigen am Beispiel von Linux 4.0, wie Sie die Quellen herunterladen, entpacken und auf Unversehrtheit prüfen:

[thl@thl tmp]$ export linux_version=4.0
[thl@thl tmp]$ wget --quiet \
http://www.kernel.org/pub/linux/kernel/v4.x/linux-${linux_version}.tar.sign \
http://www.kernel.org/pub/linux/kernel/v4.x/linux-${linux_version}.tar.xz
[thl@thl tmp]$ xz -d linux-${linux_version}.tar.xz
[thl@thl tmp]$ gpg --verify linux-${linux_version}.tar.sign
gpg: Unterschrift vom Mo 13 Apr 2015 00:40:31 CEST mittels RSA-Schlüssel ID 00411886
gpg: Korrekte Unterschrift von "Linus Torvalds <torvalds@linux-foundation.org>"
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck = ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886

Einige Hinweise zur Installation eines neuen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert", der das Konfigurieren und Übersetzen eines Kernels mit Hilfe des Make-Targets "localmodconfig" beschreibt.

(thl) (thl)