Во время недавнего 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.
Есть идеи?
Это случилось со мной однажды на рабочей станции Red Hat 7.5 с драйвером Nvidia. Я знаю, что это не Ubuntu, но это может кому-то помочь ...
Удалите файлы Nvidia из dkms, а затем переустановите dkms:
rm -rf /var/lib/dkms/nvidia
yum reinstall dkms
Затем переустановите драйвер Nvidia
./NVIDIA-installer.bin --dkms
reboot
ВНИМАНИЕ, это сработало для меня, но, возможно, не совсем правильно делать что-то.
Я тоже долго страдал от этой проблемы. Мне нужно переустанавливать драйвер NVIDIA каждый раз после обновления ядра и перезапуска. Недавно я начал изучать эту проблему. На самом деле, моя проблема в том, что есть несколько папок модулей с одинаковым префиксом nvidia-
в /usr/src/
и несколько папок с разными номерами версий в /var/lib/dkms/nvidia
. После удаления более старых версий обе следующие команды
dkms status
dkms autoinstall
сработали.
У меня была эта проблема с VirtualBox из Oracle ppa, а не с пакетом 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
Некоторое время я получал это при обновлениях ядра, в результате чего не все мои dkms
драйверы обновляются при обновлениях ядра.
Во-первых, я смог обойти эту проблему, переконфигурировав любые пакеты, которые использовали dkms
, чтобы заставить их перекомпилироваться для текущего ядра - например, это были мои драйверы видео AMD, которые не сработали (package == fglrx
): [ 119]
sudo dpkg-reconfigure fglrx
Это, по крайней мере, настроит драйверы для текущей версии.
Наконец я обнаружил эту ошибку, которая включает в себя несколько шагов, которые вы можете использовать для диагностики: https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915
[ 111]По сути, они ищут что-то удивительное или неожиданное - например, пакеты, которые вы удалили, - или программное обеспечение, которое вы вручную установили в более ранней версии Ubuntu и может не работать с более новой версией. Особенно проверьте отметку даты в каталогах, которая может показать, что особенно старые пакеты могут быть из пакетов, установленных вручную.
ls -l /var/lib/dkms
В моем случае у меня была старая версия установки fglrx
, которую я использовал для диагностики некоторых проблем год назад и просто переименовал. Удаление этого старого хлама заставило проблему исчезнуть.
Если есть нежелательная почта, удалите ее (или переместите из этого каталога) - если там есть пакет, установленный вручную, рассмотрите возможность его обновления или удаления и использования поддерживаемой версии.
Это обычно вызывается модулями /var/lib/dkms
, которые не имеют файла dkms.conf
в своих подкаталогах-источниках - dkms
ожидает этот файл, поэтому сообщит об ошибке, если он отсутствует, а затем может пропустить составление некоторых допустимых модулей.
Чтобы найти модуль-нарушитель, запустите этот короткий скрипт (благодаря Lekensteyn ):
for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done
, который выведет любые каталоги модулей dkms; Затем вы можете решить, удалять ли пакет, который их создал, или они были установлены или переименованы вручную, перемещать их в другое место или удалять.