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.
何か案は?
私はしばらくカーネルのアップグレードでそれを取得しており、その結果、カーネルのアップグレードですべての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
インストールの古いバージョンがあり、単に名前を変更していました。この古い残骸を削除すると、問題はなくなりました。
ジャンク削除がある場合(またはそのディレクトリから移動する)-手動でインストールされたパッケージがある場合は、更新するか、アンインストールしてメンテナンスバージョンを使用することを検討してください。
これは通常、ソースサブディレクトリ内に/var/lib/dkms
ファイルを持たないdkms.conf
のモジュールが原因です。dkms
このファイルを予期しているため、欠落している場合はエラーを報告します。いくつかの有効なモジュールのコンパイルをお見逃しなく。
問題のあるモジュールを見つけるには、次の短いスクリプトを実行します( Lekensteyn に感謝):
for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done
これにより、dkmsモジュールのディレクトリが出力されます。次に、それらを作成したパッケージをアンインストールするか、手動でインストールまたは名前を変更したかを決定して、他の場所に移動するか削除します。
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
私もこの問題に長い間苦しんでいました。カーネルの更新と再起動のたびに、NVIDIAドライバーを再インストールする必要があります。最近、私はこの問題を調査し始めました。実際、私の問題は、nvidia-
の下に同じプレフィックス/usr/src/
を持つ複数のモジュールフォルダーがあり、/var/lib/dkms/nvidia
の下に異なるバージョン番号を持つ複数のフォルダーがあることです。古いバージョンを削除した後、次の両方のコマンド
dkms status
dkms autoinstall
働いた。
これは、Nvidiaドライバーを搭載したRed Hat 7.5ワークステーションで一度起こりました。私はそれがUbuntuではないことを知っていますが、これは誰かを助けるかもしれません...
DkmsからNvidiaファイルを削除してから、dkmsを再インストールします。
rm -rf /var/lib/dkms/nvidia
yum reinstall dkms
次に、Nvidiaドライバーを再インストールします
./NVIDIA-installer.bin --dkms
reboot
警告、これは私のために働いたが、物事を行う正しい方法ではないかもしれません。