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


42

最近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.

何か案は?


私はこれが悪い答えであることを知っていますが、私はいつもそのエラーがあり、物事はうまくいきます。dkmsデフォルトの設定を使用していると思います。
ミジン

回答:


28

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

まずdkms、現在のカーネル用に強制的に再コンパイルするために使用したパッケージを再構成することで問題を回避することができました。たとえば、失敗したのはAMDビデオドライバーでした(パッケージ== 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

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

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


これをありがとう、私が持っていた問題はnvidia-340ドライバーにあった
...-ionreflex

1
私は同じ問題を抱えていましたanbox
アーロンコフィールド

29

これは通常、ソースサブディレクトリ内にファイル/var/lib/dkmsがないモジュールによって引き起こされます。このファイルを予期しているため、欠落している場合はエラーを報告し、有効なモジュールのコンパイルに失敗する可能性があります。dkms.confdkms

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

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

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


3
パーフェクト。他の回答は特定のインスタンスに適用される場合がありますが、これは問題がどこにあるかを非常に迅速に示しました(特定のソフトウェアが古いインストールを/var/lib/dkms/*.oldディレクトリにコピーしていたため、それは本当に問題ではありませんでした)。
Auspexの

nvidiaが違反者である場合、たとえば/var/lib/dkms/nvidia/396.24/source出力である場合、既に新しいバージョンが存在することを確認し/var/lib/dkms/nvidia、問題のあるバージョンを削除します。
フラットロン

ありがとう!私の場合、違反者はopen-vm-toolsパッケージであり、パージ後apt auto-remove、依存関係がこの問題を引き起こしていたので、実行することを覚えておく必要がありました。
楕円ビュー

14

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

1
ちょうどsudo dpkg-reconfigure virtualbox-4.2仕事をしました。ありがとう
セルゲイ14年

11

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

    dkms status
    dkms autoinstall

働いた。


それは私のために働くが、私はやらなければならなかったしapt-get install --reinstall dkmsdkms autoinstallあなたの方法を使用した後...そしてnvidiaドライバをインストールする
...-Milor123

これだけ解決策は助け- sudoを使用して実行することを確認してください
Aryeh Beitz

0

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

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

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

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

./NVIDIA-installer.bin --dkms
reboot

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


そして、UbuntuではなくRedHatで機能しました。
ソレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.