Во время недавнего apt-get dist-upgrade из 12.10 я получил следующую ошибку:
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.
Любые идеи?
Обычно это вызвано модулями в /var/lib/dkms, которые не имеют файла dkms.conf в своих исходных подкаталогах - dkms ожидает этот файл, поэтому сообщит об ошибке, если он отсутствует, а затем может пропустить компиляция некоторых допустимых модулей.
Чтобы найти модуль-нарушитель, запустите этот короткий скрипт (благодаря Lekensteyn):
for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done
Это выведет любые каталоги модулей dkms; вы можете решить, следует ли удалить пакет, который их создал, или если они были вручную установлены или переименованы, чтобы переместить их в другое место или удалить их.
У меня была эта проблема с VirtualBox из ppa Oracle, а не с пакетом 12.04 LTS:
Error! Could not locate dkms.conf file.
File: does not exist.
Я скопировал содержимое / var / lib / dkms в другой каталог в качестве резервной копии , затем удалил каталог vboxhost в / var / lib / dkms;
mkdir ~/backup_dkms
cp -r /var/lib/dkms/* ~/backup_dkms
rm -rf /var/lib/dkms/vboxhost
Затем я переконфигурировал пакет виртуального пакета следующим образом:
sudo dpkg-reconfigure virtualbox-4.2
, и ему это удалось:
* Trying to register the VirtualBox kernel modules using DKMS
Я тоже долгое время страдала от этой проблемы. Мне нужно переустанавливать драйвер NVIDIA каждый раз после обновления и перезагрузки ядра. Недавно я начал изучать эту проблему. На самом деле, моя проблема заключается в том, что в папке /usr/src/ и нескольких папках с разными номерами версий в разделе /var/lib/dkms/nvidia имеется несколько папок модулей с тем же префиксом nvidia-. После удаления более старых версий работала следующая команда
dkms status
dkms autoinstall
.