`Ошибка! Не удалось найти файл dkms.conf`

Во время недавнего 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.

Есть идеи?

42
задан 26 January 2018 в 17:37

5 ответов

Это случилось со мной однажды на рабочей станции Red Hat 7.5 с драйвером Nvidia. Я знаю, что это не Ubuntu, но это может кому-то помочь ...

Удалите файлы Nvidia из dkms, а затем переустановите dkms:

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

Затем переустановите драйвер Nvidia

./NVIDIA-installer.bin --dkms
reboot

ВНИМАНИЕ, это сработало для меня, но, возможно, не совсем правильно делать что-то.

0
ответ дан 26 January 2018 в 17:37

Я тоже долго страдал от этой проблемы. Мне нужно переустанавливать драйвер NVIDIA каждый раз после обновления ядра и перезапуска. Недавно я начал изучать эту проблему. На самом деле, моя проблема в том, что есть несколько папок модулей с одинаковым префиксом nvidia- в /usr/src/ и несколько папок с разными номерами версий в /var/lib/dkms/nvidia. После удаления более старых версий обе следующие команды

    dkms status
    dkms autoinstall

сработали.

0
ответ дан 26 January 2018 в 17:37

У меня была эта проблема с 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
0
ответ дан 26 January 2018 в 17:37

Некоторое время я получал это при обновлениях ядра, в результате чего не все мои 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, которую я использовал для диагностики некоторых проблем год назад и просто переименовал. Удаление этого старого хлама заставило проблему исчезнуть.

Если есть нежелательная почта, удалите ее (или переместите из этого каталога) - если там есть пакет, установленный вручную, рассмотрите возможность его обновления или удаления и использования поддерживаемой версии.

0
ответ дан 26 January 2018 в 17:37

Это обычно вызывается модулями /var/lib/dkms, которые не имеют файла dkms.conf в своих подкаталогах-источниках - dkms ожидает этот файл, поэтому сообщит об ошибке, если он отсутствует, а затем может пропустить составление некоторых допустимых модулей.

Чтобы найти модуль-нарушитель, запустите этот короткий скрипт (благодаря Lekensteyn ):

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

, который выведет любые каталоги модулей dkms; Затем вы можете решить, удалять ли пакет, который их создал, или они были установлены или переименованы вручную, перемещать их в другое место или удалять.

0
ответ дан 26 January 2018 в 17:37

Другие вопросы по тегам:

Похожие вопросы: