Was genau ist eine generische Version von Ubuntu? Wie unterscheidet es sich von anderen Versionen?

8
root@heena:/usr/src# ls
linux-headers-3.8.0-29  linux-headers-3.8.0-29-generic

ebenfalls:

root@heena:/# uname -a

Linux heena 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux

Frage 1: Warum habe ich diese beiden Linux-Ordner in / usr?

Frage 2: Was bedeutet die generische Version? Es scheint, dass meine Version generisch ist.

user2799508
quelle

Antworten:

7

Es gibt verschiedene Varianten des Kernels, aber es -genericist sehr wahrscheinlich, was Sie wollen.

Die speziellen Versionen sind:

  • linux-image-server: optimiert, um auf viele Anfragen zu reagieren, anstatt die Echtzeitinteraktion mit einem Benutzer zu handhaben. EDIT : Dies scheint eingestellt worden zu sein und zeigt nur auf -generic.
  • linux-image-virtual: Ich denke, dies beinhaltet meistens nur das Entfernen von Hardwaretreibern, die in einer virtuellen Maschine wahrscheinlich nicht vorkommen, um Platz zu sparen.
  • linux-image-lowlatency: Ich denke, dies ist beispielsweise für die Audiobearbeitung gedacht, bei der eine geringe Latenz wichtig ist (siehe Warum einen Kernel mit niedriger Latenz anstelle eines generischen Kernels oder eines Kernels in Echtzeit auswählen? ).

In Bezug auf die Ordner in /usr/srcsind alle diese verschiedenen Kernel bis auf einige Optionen sehr ähnlich, so dass die meisten Header im unspezifischen gespeichert werden /usr/src/linux-headers-x.y.z. Der spezifische Ordner /usr/src/linux-headers-x.y.z-generic(oder -server, -lowlatency) usw. besteht überwiegend aus Links zu /usr/src/linux-headers-x.y.z, sowie alle Dateien (zB .config) veränderten im Vergleich zu der nicht-spezifischen Version (zur Vermeidung von Doppelarbeit, wenn Sie mehrere Varianten von der gleichen Kernel - Version installiert haben).

Chronitis
quelle
Ich dachte, src steht für Quellcode. Sind diese Dateien nicht der vollständige Quellcode des Linux? oder sind sie nur Header? Wo wird dann der Quellcode gespeichert?
user2799508
Der vollständige Quellcode befindet sich in einem anderen Paket ( linux-source-x.y.z), während linux-headers-x.y.zdie Header-Dateien bereitgestellt werden , die zum Kompilieren neuer Module für den Kernel erforderlich sind (z. B. der proprietäre NVIDIA-Treiber), jedoch kein vollständiger neuer Kernel. Warum dieses Leben in /usr/srceher als /usr/include(die normale Position für Header - Dateien) Ich bin nicht ganz sicher - ich vermute , es liegt daran , dass Dateien in /usr/includezu Build - Programme, die ausgeführt werden unter Linux, während die Kernel - Header für den Bau neuer Teile von Linux sind.
Chronitis
3

Warum habe ich diese beiden Linux-Ordner in / usr?

Dies sind die Header-Dateien für die Kernel, die Sie auf Ihrem System haben. Beide können durch entfernt werden apt-get(nicht manuell). (wahrscheinlich sudo apt-get purge linux-image-3.8.0-29)

Was genau ist eine generische Version von Ubuntu? Wie unterscheidet es sich von anderen Versionen?

"generisch" bedeutet den Kernel für die allgemeine Verwendung. Dies ist der Kernel, der für Desktop-Installationen verwendet wird. Vor 12.04 hatten wir neben "generic" auch eine "generic-pae" -, "server" - und "virtual" -Version, aber diese Unterscheidung wurde entfernt. Heutzutage haben wir "omap" (Kernel für TI OMAP3 und OMAP4) und "highbank" (Kernel für Calxeda Highbank).

Im Allgemeinen besteht der Unterschied in optimalen Einstellungen für diese bestimmte Hardware. Hier ist eine Liste für mehrere Ubuntu-Versionen .

Rinzwind
quelle