`Fehler! Die Datei dkms.conf konnte nicht gefunden werden

42

Während eines letzten apt-get dist-upgradevon 12.10 habe ich den folgenden Fehler erhalten:

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.

Irgendwelche Ideen?

Andrew Tomazos
quelle
Ich weiß, dass dies eine schlechte Antwort ist, aber ich habe immer diesen Fehler und die Dinge funktionieren gut. Ich denke, verwendet dkmsnur Standardeinstellungen.
MiJyn

Antworten:

28

Ich habe das für eine Weile bei Kernel-Upgrades erhalten, mit dem Ergebnis, dass nicht alle meine dkmsTreiber bei Kernel-Upgrades aktualisiert werden.

Erstens konnte ich das Problem umgehen, indem ich alle Pakete neu konfigurierte, die dkmsdazu führten, dass sie für den aktuellen Kernel neu kompiliert wurden - z. B. waren es meine AMD-Grafiktreiber, die fehlschlugen (package == fglrx):

sudo dpkg-reconfigure fglrx

Damit wären zumindest die Treiber für die aktuelle Version konfiguriert.

Schließlich habe ich diesen Fehler gefunden, der einige Schritte zur Diagnose enthält: https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915

dkms status
ls -R /var/lib/dkms

Im Grunde suchen sie nach Überraschungen oder Unerwarteten - z. B. nach Paketen, die Sie deinstalliert haben - oder nach Software, die Sie manuell auf einer früheren Ubuntu-Version installiert haben und die möglicherweise nicht mit der neueren Version funktioniert. Überprüfen Sie insbesondere den Datumsstempel in den Verzeichnissen, die möglicherweise auf besonders alte Pakete hinweisen, die von manuell installierten Paketen stammen.

ls -l /var/lib/dkms

In meinem Fall hatte ich eine alte Version der fglrxInstallation, mit der ich vor einem Jahr einige Probleme diagnostiziert und sie einfach umbenannt hatte. Das Löschen dieser alten Kruft ließ das Problem verschwinden.

Wenn es Junk gibt, löschen Sie es (oder verschieben Sie es aus diesem Verzeichnis). Wenn dort ein manuell installiertes Paket vorhanden ist, sollten Sie es aktualisieren oder deinstallieren und die verwaltete Version verwenden.

Greg
quelle
Vielen Dank dafür, das Problem, das ich hatte, war mit dem nvidia-340Fahrer ...
ionreflex
1
Ich hatte das gleiche Problem mitanbox
Aaron Cofield
28

Dies wird normalerweise von Modulen verursacht /var/lib/dkms, die keine dkms.confDatei in ihren Quell-Unterverzeichnissen haben. dkmsErwartet diese Datei und meldet einen Fehler, wenn sie fehlt. Möglicherweise wird dann die Kompilierung einiger gültiger Module verpasst.

Führen Sie dieses kurze Skript aus (danke an Lekensteyn ), um das fehlerhafte Modul zu finden :

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

Dadurch werden alle dkms-Modulverzeichnisse ausgegeben. Sie können dann entscheiden, ob Sie das Paket deinstallieren möchten, das sie erstellt hat, oder ob sie manuell installiert oder umbenannt wurden, um sie an einen anderen Ort zu verschieben oder zu entfernen.

David Fraser
quelle
3
Perfekt. Die anderen Antworten können auf bestimmte Instanzen zutreffen, aber dies hat sehr schnell gezeigt, wo das Problem lag (und es war wirklich kein Problem, da bestimmte Software alte Installationen in ein /var/lib/dkms/*.old-Verzeichnis kopierte).
Auspex
Wenn nvidia der Täter ist, z. B. /var/lib/dkms/nvidia/396.24/sourcedie Ausgabe, prüfen Sie, ob bereits neuere Versionen vorhanden sind, /var/lib/dkms/nvidiaund entfernen Sie die betreffende.
Flatron
14

Ich hatte dieses Problem mit VirtualBox von Oracle's ppa, anstatt dem mit 12.04 LTS:

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

Ich habe den Inhalt von / var / lib / dkms als Backup in ein anderes Verzeichnis kopiert und dann das vboxhost-Verzeichnis in / var / lib / dkms entfernt.

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

Ich habe dann das virtualbox-Paket folgendermaßen umkonfiguriert:

sudo dpkg-reconfigure virtualbox-4.2

und es ist gelungen, dies zu tun:

   * Trying to register the VirtualBox kernel modules using DKMS
Ian Ohr
quelle
1
Habe gerade sudo dpkg-reconfigure virtualbox-4.2den Job gemacht. Vielen Dank
Sergey
11

Ich habe auch lange unter diesem Problem gelitten. Ich muss den NVIDIA-Treiber nach jedem Kernel-Update neu installieren und neu starten. Vor kurzem habe ich begonnen, dieses Problem zu untersuchen. Eigentlich besteht mein Problem darin, dass es mehrere Modulordner mit dem gleichen Präfix nvidia-unter /usr/src/und mehrere Ordner mit unterschiedlichen Versionsnummern unter gibt /var/lib/dkms/nvidia. Nach dem Entfernen der älteren Versionen folgen beide Befehle

    dkms status
    dkms autoinstall

hat funktioniert.

Antike
quelle
Es funktioniert für mich, aber ich musste apt-get install --reinstall dkmsund dkms autoinstallnach der Verwendung Ihrer Methode ... und dann die NVIDIA-Treiber installieren ...
Milor123
nur diese lösung half - stellen sie sicher, dass sie mit sudo laufen
Aryeh Beitz
0

Dies passierte mir einmal auf einer Red Hat 7.5 Workstation mit einem Nvidia-Treiber. Ich weiß, es ist kein Ubuntu, aber das kann jemandem helfen ...

Entfernen Sie die Nvidia-Dateien von dkms und installieren Sie dkms neu:

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

Installieren Sie dann den Nvidia-Treiber neu

./NVIDIA-installer.bin --dkms
reboot

ACHTUNG, das hat bei mir funktioniert, ist aber möglicherweise nicht die richtige Vorgehensweise.

Jake
quelle
Und es hat bei RedHat funktioniert, nicht bei Ubuntu !!!
Soren A