web-dev-qa-db-ja.com

`エラー! dkms.confファイルが見つかりませんでした `

12.10の最近のapt-get dist-upgradeの間に、次のエラーを受け取りました。

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
Andrew Tomazos

私はしばらくカーネルのアップグレードでそれを取得しており、その結果、カーネルのアップグレードですべてのdkmsドライバーが更新されるわけではありません。

最初に、dkmsを使用するパッケージを再構成して現在のカーネル用に強制的に再コンパイルすることにより、問題を回避できました。たとえば、失敗したのはAMDビデオドライバーでした(package == fglrx):

Sudo dpkg-reconfigure fglrx

これにより、少なくとも現在のバージョン用に構成されたドライバーが取得されます。

最後に、このバグを発見しました。これには、診断に使用できるいくつかの手順が含まれています。 https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915

dkms status
ls -R /var/lib/dkms

基本的に彼らがやっているのは、アンインストールしたパッケージなど、意外なまたは予期しないものを探したり、以前のバージョンで手動でインストールしたソフトウェアで新しいバージョンでは動作しない場合があります。特に、古いパッケージが手動でインストールされたパッケージのものである可能性があることを示すディレクトリの日付スタンプを確認してください。

ls -l /var/lib/dkms

私の場合、1年前にいくつかの問題を診断するために使用していたfglrxインストールの古いバージョンがあり、単に名前を変更していました。この古い残骸を削除すると、問題はなくなりました。

ジャンク削除がある場合(またはそのディレクトリから移動する)-手動でインストールされたパッケージがある場合は、更新するか、アンインストールしてメンテナンスバージョンを使用することを検討してください。

28
Greg

これは通常、ソースサブディレクトリ内に/var/lib/dkmsファイルを持たないdkms.confのモジュールが原因です。dkmsこのファイルを予期しているため、欠落している場合はエラーを報告します。いくつかの有効なモジュールのコンパイルをお見逃しなく。

問題のあるモジュールを見つけるには、次の短いスクリプトを実行します( Lekensteyn に感謝):

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

これにより、dkmsモジュールのディレクトリが出力されます。次に、それらを作成したパッケージをアンインストールするか、手動でインストールまたは名前を変更したかを決定して、他の場所に移動するか削除します。

27
David Fraser

12.04 LTSでパッケージ化されたものではなく、OracleのppaのVirtualBoxでこの問題が発生しました。

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

/ var/lib/dkmsの内容をバックアップとして別のディレクトリにコピーしてから、/ var/lib/dkmsのvboxhostディレクトリを削除しました。

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

次に、次のようにvirtualboxパッケージを再構成しました。

Sudo dpkg-reconfigure virtualbox-4.2

そして、これを行うことに成功しました:

   * Trying to register the VirtualBox kernel modules using DKMS
14
Ian Ohr

私もこの問題に長い間苦しんでいました。カーネルの更新と再起動のたびに、NVIDIAドライバーを再インストールする必要があります。最近、私はこの問題を調査し始めました。実際、私の問題は、nvidia-の下に同じプレフィックス/usr/src/を持つ複数のモジュールフォルダーがあり、/var/lib/dkms/nvidiaの下に異なるバージョン番号を持つ複数のフォルダーがあることです。古いバージョンを削除した後、次の両方のコマンド

    dkms status
    dkms autoinstall

働いた。

11
antiquity

これは、Nvidiaドライバーを搭載したRed Hat 7.5ワークステーションで一度起こりました。私はそれがUbuntuではないことを知っていますが、これは誰かを助けるかもしれません...

DkmsからNvidiaファイルを削除してから、dkmsを再インストールします。

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

次に、Nvidiaドライバーを再インストールします

./NVIDIA-installer.bin --dkms
reboot

警告、これは私のために働いたが、物事を行う正しい方法ではないかもしれません。

0
Jake