web-dev-qa-db-ja.com

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

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

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

90
Dimitris7

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

今やりました:

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

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

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

108
ucefkh

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

プロセスを表示し、終了するかどうかを尋ねます。

5
coderPatros

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

Sudo kill 4672

または

Sudo killall dpkg-prec

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

0
Braiam