J'essaie d'installer le lecteur VMWare dans Fedora 19. Je rencontre le problème que plusieurs utilisateurs ont rencontré lorsque le lecteur VMware ne trouve pas les en-têtes du noyau. J'ai installé le kernel-headers
et kernel-devel
packages via yum
et le fichier qui apparaît dans /usr/src/kernels
est:
3.12.8-200.fc19.x86_64
Cependant, quand je fais uname -r
ma version du noyau Fedora est:
3.9.5-301.fc19.x86_64
qui est une version différente. Cela semble signifier que lorsque je pointe le lecteur VMware sur le chemin des noyaux, j'obtiens cette erreur:
C header files matching your running kernel were not found.
Refer to your distribution's documentation for installation instructions.
Comment puis-je installer le noyau correct et où dois-je pointer VMware si ce n'est pas /usr/src/kernels/<my-kernel>
?
Vous pouvez installer les fichiers d'en-tête de noyau corrects comme ceci:
$ Sudo yum install "kernel-devel-uname-r == $(uname -r)"
Cette commande installera toujours la bonne 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
Ou vous pouvez les rechercher comme ceci:
$ 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
Cependant, j'ai également remarqué ce problème lorsque des versions spécifiques d'en-têtes ne sont pas présentes dans les référentiels. Vous devrez peut-être accéder à Koji pour trouver une version particulière d'une version.
Cette page comprend tous les actifs de cette version particulière du noyau.
Votre problème pourrait être "synchronisation de distribution". L'exécution de cette commande a résolu mon problème.
yum distro-sync
Synchronise l'ensemble de packages installé avec les derniers packages disponibles, cela se fait soit par obsolescence, soit par mise à niveau ou déclassement selon le cas. ( http://man7.org/linux/man-pages/man8/yum.8.html )
Vous pouvez installer une version spécifique d'un package en spécifiant la version avec le nom du package avec yum
. Par exemple, pour installer les fichiers de développement du noyau pour le noyau spécifique que vous exécutez, tapez
yum install kernel-devel-3.9.5-301.fc19
Vous pouvez exécuter une commande similaire pour obtenir le bon kernel-headers
paquet.
Cela m'arrive aussi parfois, d'installer VMBoxAdditions après une mise à jour du système.
Je dois supprimer kernel-devs:
yum remove kernel-devel
puis réinstallez-le:
yum install kernel-devel
Et alors comme par magie, cela fonctionne.
Je rencontre la même chose après la mise à jour du noyau et la réponse de Jim m'a beaucoup aidé. Pour activer le repo [elrepo-kerne], allez dans /etc/yum.repos.d/elrepo.repo
fichier et définir enabled=1
(plutôt que enabled=0
) pour [elrepo-kernel], puis faites la mise à jour informée par la réponse de slm. Après cela, inversez le enabled=0
, afin que le miam n'interagisse pas avec ce dépôt. Juste pour souligner, la commande yum repolist all
vous montrera tous les repos activés et désactivés.
Au cas où cela aiderait ceux qui voient cela ...
J'ai eu un problème où il se plaignait
failed dependency not found: kernel-devel-uname-r
comme indiqué dans la question. Fonctionnement
rpm -q kernel-devel
l'a montré installé et --provides
a montré les informations appropriées, mais akmodsbuild
n'a toujours pas pu les trouver.
Solution:
rpm --rebuilddb
Après cela akmods
correctement reconstruit tous les pilotes, nvidia
, virtualbox
, etc.