Ich wollte von 14.04 auf die 14.04.2-Punktversion aktualisieren. Folgendes habe ich gemacht:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade -y
Dann wollte ich auf den Kernel 3.16 aktualisieren, da dies mit dem obigen Befehl nicht möglich war. Also habe ich Folgendes gemacht:
sudo apt-get install linux-generic-lts-utopic xserver-xorg-lts-utopic libegl1-mesa-drivers-lts-utopic xserver-xorg-video-all-lts-utopic xserver-xorg-input-all-lts-utopic
sudo apt-get install linux-signed-generic-lts-utopic
Wenn ich das jetzt tue:
uname -a
Ich bekomme
Linux Y500 3.16.0-33-generic #44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release | grep VERSION= I get
VERSION="14.04.2 LTS, Trusty Tahr"
Und wenn ich das tue, lsb_release -a
bekomme ich
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
Ich weiß das uname -a
und lsb_release -a
beide beziehen sich auf unterschiedliche Informationen, aber warum wird
cat /etc/os-release | grep VERSION=
eine unterschiedliche Version angezeigt?
Antwort1
Kurz zusammengefasst:Diese Reihe von HWE-Kerneln kam tatsächlich vor der Zwischenversion 14.04.2 heraus.
Die eigentliche Frage ist hier, warum die uname -v
Ausgabe unter Ubuntu#44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015
14.04.2? Das heißt, warum erhält ein 14.04.2-SystemHWEKernel, deren Build-Nummern mit 14.04.1 gekennzeichnet sind?
Aus diesem Grund läuft Ihre Frage auf diesen speziellen Punkt hinaus:
lsb_release -a
und stimmen zu; beide sagen, dass Sie 14.04.2 haben (was auch zutrifft). Daher besteht die einzige offensichtliche Diskrepanz zwischen den Informationen über Ihren Kernel und den Informationen in beiden und über Ihr System als Ganzes.cat /etc/os-release | grep VERSION=
uname
/etc/lsb-release
/etc/os-release
- Sie haben ausgeführt
uname -a
, nichtuname -v
. Aberuname -a
druckt alle verfügbaren Informationen, die jemals von ausgegeben wurdenuname
(es ist gleichbedeutend mituname -snrvmpio
, wenn-i
und-o
bekannt sind). Die Ausgabe, an der Sie interessiert sind, beschränkt sich auf das Feld, das verwirrenderweise „die Kernelversion“ genannt wird inman uname
. - Obwohl es manchmal als „Kernel-Version“ bezeichnet wird, ist es eigentlich besser, es als Build-Nummer zu betrachten – oder als Build-Bezeichner, wenn Sie nicht-numerische Zeichenfolgen nicht gerne als „Nummern“ bezeichnen. Die Ausgabe von
uname -v
Änderungen, um Benutzern zu ermöglichenzu unterscheidenKernel, die als separate Releases in einer Reihe erstellt wurden, selbst wenn sie vom gleichen zugrunde liegenden „Kernel-Release“ (uname -r
) stammen.
Der erste Schritt zum Verständnis, warum Ihre „Kernel-Version“ 14.04.1 und nicht 14.04.2 enthält, besteht darin, festzustellen, dass die meisten Kernel-Versionszeichenfolgen, einschließlich der nachgelagerten Ubuntu-Kernel, nicht enthaltenbeliebigVersionsinformationen über das gesamte Betriebssystem. Auf meinem 15.04-System beispielsweise:
ek@Io:~$ uname -v
#12-Ubuntu SMP Fri Apr 3 04:03:26 UTC 2015
Dies ist die häufigere Situation. Das erste Wort ( #12-Ubuntu
) zeigt an, dass dies der zwölfte Downstream-Build von Ubuntu dieses bestimmten Kernels ist - oder jedenfalls der zwölfte in einer Reihe von Builds, die vollständig aus Kerneln mit demselben bestehen können, aber nicht müssen uname -r
.
Ein HWE-Kernel in Ubuntu enthält Zahlen, die auf eine bestimmte Version von Ubuntu hinweisen, da er von einer späteren Ubuntu-Version zurückportiert wurde und leicht zu unterscheiden sein sollte vonDasUbuntu-Versions-Builds. Zur Unterscheidung von HWE-Builds von Linux 3.16, die überlinux-generic-lts-utopisch fürVertrauenswürdigvon denen, die durchlinux-generisch fürUtopisch, die Trusty-Builds enthalten 14.04.1 in der Kernel-Versionszeichenfolge.
Warum nicht 14.04.2 statt 14.04.1? (Immerhin ist dieVersionshinweise zu 14.04.2sagen "Diese Zwischenversion enthält einen aktualisierten Kernel und X-Stack..." DieVersionshinweise zu 14.04.1sag so etwas nicht.)
Der Grund ist, dasslinux-generic-lts-utopisch --und das erste der Pakete esals Abhängigkeiten einbezogenum tatsächlich einen 3.16-Kernel zu installieren - wurde für Trusty veröffentlicht und ist darauf installierbarzwischendie Punktversionen 14.04.1 und 14.04.2.
Um dies zu überprüfen, besuchen SieUbuntu auf LaunchpadUndSuche nach dem linux-generic-lts-utopic
Paket, Aufschlussreichlinux-meta-lts-utopic
als zugrunde liegendes Quellpaket. Klicken Sie dann auf„Vollständige Veröffentlichungsinformationen anzeigen“oder„Vollständiges Änderungsprotokoll anzeigen“verrät die Geschichte des Pakets.
Insbesondere,in der Verlagsgeschichte, Notiz:
- Liste aller EinträgeVertrauenswürdigals Ziel, es bezieht sich also auf Ihr System. Wir suchen nicht nach Paketen für die falsche Ubuntu-Version.
- Die ersten Pakete, die als stabil gelten, d.h. an Benutzer ausgerollt werden,AktualisierungoderSicherheitTaschen (und nicht nur dievorgeschlagenTasche) beginnen mit3.16.0.25.19An11.12.2014 01:25:33 UTC.
Das heißt, linux-meta-lts-utopic
kam für Trusty am 11. Dezember 2014 heraus, waszehn Wochen vorDie14.04.2 Zwischenveröffentlichung am 20. Februar 2015. Als diese Kernel herauskamen, wurden sie für 14.04.1-Systeme und nicht für 14.04.2-Systeme erstellt und getestet. Ihre Builds wurden daher mit dem Muster nummeriert (und sollten dies aus Konsistenzgründen wahrscheinlich auch bleiben) .#N~14.04.1-Ubuntu
Antwort2
Mitchdas ist im Grunde die gleiche Frage, die ich dir gestellt habeHiervorher :) Ich habe auch versucht, es herauszufinden.
Ich habe gegoogelt und verschiedene Foren besucht, darunter auch offizielle Ubuntu-Quellen, und als Fazit kam ich zu folgendem Ergebnis:
Ubuntu 14.04.2 wird mit dem Standard-Utopic-Kernel ausgeliefert und hat die Version 3.16.0.30 (stabil). So apt-cache policy
bekomme ich den Kernel:
Installed: 3.16.0-30.40~14.04.1
linux-headers-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
linux-image-extra-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
Und was ich gemacht habe, war, Ubuntu mit dem offiziellen Image von ubuntu.com herunterzuladen und neu zu installieren. Als ich versuchte, es auf die gleiche Weise zu aktualisieren wie Sie, bekam ich denselben Kernel wie Sie jetzt. Ich denke, das liegt daran, dass der neueste Utopic-Kernel installiert wird, aber nicht der stabile für Trusty Tahr, denn ich bekomme immer noch die Kernelversion 3.16.0.30.