パッケージのインストール中に「debconf:DbDriver” config”:config.datが別のプロセスによってロックされています:リソースが一時的に利用できません」


93

私はインストールしようとしてflashybridいますが、apt-get install flashybridコマンドを入力すると、このエラーが表示されます:

root@user-desktop:/home/user# apt-get install flashybrid
Reading package lists... Done
Building dependency tree
Reading state information... Done
flashybrid is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
Setting up flashybrid (0.15+nmu2) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing flashybrid (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
flashybrid
E: Sub-process /usr/bin/dpkg returned an error code (1)

また、このファイルを既に使用しているものを見つけるためにこれを試しました:

root@user-desktop:/home/user# lsof | grep /var/cache/debconf/config.dat
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/user/.gvfs
Output information may be incomplete.
dpkg-prec 4672 root 4rW REG 8,6 39658 1697827 /var/cache/debconf/config.dat

しかし、これを修正する方法がわかりません。

回答:


110

これはより単純な1つのコマンドです

今やりました:

sudo rm /var/cache/debconf/*.dat 

apt-get installand を実行した後(curlをインストールしていました)、動作してdbのマニュアルページを復元しました。

PS:apt-getで何かを削除しましたが、この問題がありました。@rajagenupulaにも感謝します


私が使用したsudo \rm -v /var/cache/debconf/*.dat
マークスチュワート14年

17
これをしないでください...あなたのシステムを壊すことができます。正しい答えは、以下のSayedの答えのように、フューザーを使用してプロセスを強制終了することです。
ライアンP

8
削除しないでください。ファイルを開いているプロセスを強制終了します。
ヨルフス

4
これは非常に危険なことです。以下の回答をご覧ください
-BlackDivine

1
私の場合、実行中のプロセスはなかったため、これが唯一の解決策でした。
マクロマン

106

このロックの問題の解決策は、wikiで詳しく説明されています

sudo fuser -v /var/cache/debconf/config.dat

ロックを保持しているプロセスを表示します。

                     USER        PID ACCESS COMMAND
/var/cache/debconf/config.dat:
                     root      18210 F.... dpkg-preconfigu

次に、PIDを書き留めて、次のように強制終了します。

sudo kill PID
sudo kill -9 PID  # if the first doesn't work

1
これは素晴らしかった!たくさんのおかげで、私は「フューザー」を知りませんでした!
stolsvik

1
定着はまた、オプションスイッチがある-kファイルを使用したプロセスをkill:sudo fuser -v -k /var/cache/debconf/config.datすぐにプロセスを強制終了します
minni

1
これはベストアンサーとして選択する必要があります。
アルダ

DebianのStretchからBusterへのアップグレードが偶然バックグラウンドになったとき、私のために働きました。
アダムビーン

15
  1. ターミナルを開きます
  2. で場所/var/cache/debconfを開くgksu nautilus
  3. すべての.datファイルを別のバックアップディレクトリに移動(カット/ペースト)します。
  4. 再度実行を試みます(別のエラーが発生する可能性があります)
  5. 前述のバックアップディレクトリからこれらのdatファイルを復元します。
  6. その後、あなたがしていたことをもう一度試してください(今回はうまくいくはずです)。

1
同様の問題があり、debconfフォルダー内のすべてのファイルを削除しました。
Agmenor

私はポイント3でそこに言った。パスワードと拡張子を持つファイル。わかったよ。pastebinリンクでそれらをここに投稿できますか。
rɑːdʒɑ

同じ問題、debconfフォルダー内のすべてのファイルを削除する必要がありました
同等の

私はまだエラーdebconfを受け取っています:apt-extracttemplatesが失敗しました:apt-extracttemplatesが失敗したようなファイルまたはディレクトリはありません

1
私は本当に怒っていて、あなたの答えを見て、突然進歩がありました。ありがとうございました。
デビッドカルボニ14


0

ブロッキングdebconfを実行しているプロセスがまだあります。終了するまで待つ必要があります。または、それがどのように動けなくなったかを調べてください。いくつかのケースでは質問をしようとするが、それを見るスコープがないためです。しばらく待っても状況が変わらない場合は、システムを再起動するか、プロセスを終了する必要があります。

sudo kill 4672

または

sudo killall dpkg-prec

これにより、データベースが破損せず、それ以上の問題を防ぐことができます。


3
最初のコマンド例でプロセスID 4672を使用するのは無意味だと思います。誰かがそのコマンドをそのまま使用するかもしれませんが、異なるプロセスIDを持っている可能性が高いため、機能しません。
user205301

@ user205301それは2番目の目的です;)
Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.