53 votes

`Erreur ! Impossible de localiser le fichier dkms.conf`

Lors d'une récente apt-get dist-upgrade de 12.10, j'ai reçu l'erreur suivante :

Setting up linux-headers-3.5.0-19-generic (3.5.0-19.30) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.5.0-19-generic /boot/vmlinuz-3.5.0-19-generic
Error! Could not locate dkms.conf file.
File:  does not exist.

Des idées ?

40voto

David Fraser Points 1437

Cela est généralement dû à des modules dans /var/lib/dkms qui n'ont pas de dkms.conf dans leurs sous-répertoires sources - dkms attend ce fichier, il signalera donc une erreur s'il est manquant, et pourra alors ne pas compiler certains modules valides.

Pour trouver le module incriminé, exécutez ce court script (merci à Lekensteyn ):

for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done

Vous pouvez alors décider de désinstaller le paquet qui les a créés ou, s'ils ont été installés ou renommés manuellement, de les déplacer ou de les supprimer.

35voto

Greg Points 1263

Cela fait un moment que j'obtiens cela lors des mises à jour du noyau, ce qui a pour conséquence que mes dkms sont mis à jour lors des mises à jour du noyau.

Tout d'abord, j'ai pu contourner le problème en reconfigurant tous les paquets qui utilisaient la fonction dkms pour les forcer à être recompilés pour le noyau actuel - par exemple, ce sont mes pilotes vidéo AMD qui ont échoué (paquet == fglrx ):

sudo dpkg-reconfigure fglrx

Cela permettrait au moins de configurer les pilotes pour la version actuelle.

Finalement, j'ai trouvé ce bogue, qui comprend quelques étapes à suivre pour établir un diagnostic : https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915

dkms status
ls -R /var/lib/dkms

En fait, il s'agit de rechercher tout ce qui est surprenant ou inattendu, par exemple les paquets que vous avez désinstallés ou les logiciels que vous avez installés manuellement sur une version antérieure d'Ubuntu et qui pourraient ne pas fonctionner avec la nouvelle version. Vérifiez en particulier l'horodatage des répertoires, qui peut vous indiquer que des paquets particulièrement anciens peuvent provenir de paquets installés manuellement.

ls -l /var/lib/dkms

Dans mon cas, j'avais une ancienne version de l'application fglrx que j'avais utilisé pour diagnostiquer certains problèmes il y a un an et que j'avais simplement renommé. La suppression de ces vieilleries a fait disparaître le problème.

S'il y a des déchets, supprimez-les (ou déplacez-les hors de ce répertoire) - s'il y a un paquet installé manuellement, envisagez de le mettre à jour ou de le désinstaller et d'utiliser la version maintenue.

16voto

Ian Ohr Points 161

J'ai eu ce problème avec VirtualBox provenant du ppa d'Oracle, plutôt qu'avec celui fourni avec 12.04 LTS :

Error! Could not locate dkms.conf file.
File:  does not exist.

J'ai copié le contenu de /var/lib/dkms dans un autre répertoire comme sauvegarde, puis j'ai supprimé le répertoire vboxhost dans /var/lib/dkms ;

mkdir ~/backup_dkms
cp -r /var/lib/dkms/* ~/backup_dkms 
rm -rf /var/lib/dkms/vboxhost

J'ai ensuite reconfiguré le paquet virtualbox comme suit :

sudo dpkg-reconfigure virtualbox-4.2

et il y est parvenu :

   * Trying to register the VirtualBox kernel modules using DKMS

13voto

antiquity Points 141

J'ai également souffert de ce problème pendant longtemps. Je dois réinstaller le pilote NVIDIA à chaque fois après la mise à jour du noyau et le redémarrage. Récemment, j'ai commencé à me pencher sur ce problème. En fait, mon problème est qu'il y a plusieurs dossiers de modules avec le même préfixe nvidia- sous /usr/src/ et plusieurs dossiers avec des numéros de version différents sous /var/lib/dkms/nvidia . Après avoir supprimé les anciennes versions, les deux commandes suivantes

    dkms status
    dkms autoinstall

a travaillé.

-1voto

Jake Points 1

Cela m'est arrivé une fois sur une station de travail Red Hat 7.5 avec un pilote Nvidia. Je sais que ce n'est pas Ubuntu mais cela peut aider quelqu'un...

Supprimez les fichiers Nvidia de dkms, puis réinstallez dkms :

rm -rf /var/lib/dkms/nvidia
yum reinstall dkms

Réinstallez ensuite le pilote Nvidia

./NVIDIA-installer.bin --dkms
reboot

ATTENTION, cela a fonctionné pour moi, mais ce n'est peut-être pas la bonne façon de procéder.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X