it-swarm.com.de

yum installiere kernel-devel anders als meine kernel version

Ich versuche, den VMWare-Player in Fedora 19 zu installieren. Ich habe das Problem, dass mehrere Benutzer hatten, bei denen der VMware-Player die Kernel-Header nicht finden kann. Ich habe die Pakete kernel-headers Und kernel-devel Über yum installiert und die Datei, die in /usr/src/kernels Angezeigt wird, lautet:

3.12.8-200.fc19.x86_64

Wenn ich jedoch uname -r Mache, lautet meine Fedora-Kernel-Version:

3.9.5-301.fc19.x86_64

das ist eine andere Version. Dies scheint zu bedeuten, dass beim Anzeigen des VMware-Players auf den Pfad der Kernel folgende Fehlermeldung angezeigt wird:

C header files matching your running kernel were not found.  
Refer to your distribution's documentation for installation instructions.

Wie kann ich den richtigen Kernel installieren und wo soll ich auf VMware zeigen, wenn es nicht /usr/src/kernels/<my-kernel> Ist?

32

Sie können die richtigen Kernel-Header-Dateien wie folgt installieren:

$ Sudo yum install "kernel-devel-uname-r == $(uname -r)"

Beispiel

Dieser Befehl installiert immer die richtige Version.

$ Sudo yum install "kernel-devel-uname-r == $(uname -r)"
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
No package kernel-devel-uname-r == 3.12.6-200.fc19.x86_64 available.
Error: Nothing to do

Oder Sie können wie folgt nach ihnen suchen:

$ yum search "kernel-headers-uname-r == $(uname -r)" --disableexcludes=all
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
Warning: No matches found for: kernel-headers-uname-r == 3.12.6-200.fc19.x86_64
No matches found

Ich habe dieses Problem jedoch auch bemerkt, wenn bestimmte Versionen von Headern nicht in den Repositorys vorhanden sind. Möglicherweise müssen Sie nach Koji greifen, um eine bestimmte Version eines Builds zu finden.

Diese Seite enthält alle Assets für diese bestimmte Version des Kernels.

34
slm

Verteilungssynchronisation

Ihr Problem könnte "Verteilungssynchronisation" sein. Das Ausführen dieses Befehls hat mein Problem gelöst.

yum distro-sync

Synchronisiert das installierte Paketset mit den neuesten verfügbaren Paketen. Dies erfolgt entweder durch Veralten, Aktualisieren oder Herabstufen. ( http://man7.org/linux/man-pages/man8/yum.8.html )

8
redolent

Sie können eine bestimmte Version eines Pakets installieren, indem Sie die Version zusammen mit dem Paketnamen mit yum angeben. Geben Sie beispielsweise ein, um die Kernel-Entwicklungsdateien für den von Ihnen ausgeführten Kernel zu installieren

yum install kernel-devel-3.9.5-301.fc19

Sie können einen ähnlichen Befehl ausführen, um das richtige kernel-headers Paket.

5
drs

Es passiert manchmal auch mir, wenn ich VMBoxAdditions nach einem Systemupdate installiere.

Ich muss entfernen Kernel-Entwickler:

yum remove kernel-devel

und installieren Sie es erneut:

yum install kernel-devel

Und dann magisch funktioniert es.

0
Andrea

Nach dem Update des Kernels stoße ich auf dasselbe und Jims Antwort hat mir sehr geholfen. Um das Repo [elrepo-kerne] zu aktivieren, gehen Sie zu /etc/yum.repos.d/elrepo.repo Datei und setze enabled=1 (eher, als enabled=0) für [elrepo-kernel], dann führen Sie das Update durch, das durch die Antwort von slm informiert wird. Danach kehren Sie zum enabled=0, damit das yum nicht mit diesem repo interagiert. Nur um darauf hinzuweisen, der Befehl yum repolist all zeigt Ihnen alle aktivierten und deaktivierten Repos.

0
João Paulo

Falls dies anderen hilft, die dies sehen ...

Ich hatte ein Problem, über das ich mich beschwerte

failed dependency not found: kernel-devel-uname-r

wie in der Frage angegeben. Laufen

rpm -q kernel-devel

zeigte es installiert und --provides zeigte die richtigen Informationen, aber akmodsbuild konnte sie immer noch nicht finden.

Lösung:

rpm --rebuilddb

Danach hat akmods alle Treiber, nvidia, virtualbox usw. ordnungsgemäß neu erstellt.

0
Dave French