“Debconf: DbDriver” config “: config.dat est verrouillé par un autre processus: ressource temporairement indisponible” lors de l'installation des packages

93

J'essaye d'installer le flashybridmais quand j'entre la apt-get install flashybridcommande, j'obtiens cette erreur:

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)

J'ai aussi essayé celui-ci pour trouver ce qui utilise déjà ce fichier:

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

Mais je ne sais pas comment résoudre ce problème.

Dimitris7
la source

Réponses:

110

C'est plus simple une commande

Je viens de faire:

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

Après avoir exécuté le apt-get installet (j'installais curl) et que cela fonctionne restauré les pages de manuel de la base de données.

PS: J'ai enlevé quelque chose avec apt-get et j'ai eu ce problème. mais résolu simplement merci aussi à @rajagenupula

Ucefkh
la source
J'ai utilisésudo \rm -v /var/cache/debconf/*.dat
Mark Stewart
17
Ne faites pas ça ... vous pouvez casser votre système. La bonne réponse est d'utiliser fuser et de tuer le processus, comme dans la réponse de Sayed ci-dessous.
Ryan P
8
Hum, ne supprimez pas ça. Tuez simplement le processus qui a le fichier ouvert.
Jorfus
4
Cela pourrait être une chose très dangereuse à faire. Voir la réponse ci
BlackDivine le
1
Dans mon cas, il n'y avait pas de processus en cours, donc c'était la seule solution qui fonctionnait.
MacroMan
107

Une solution à ce problème de verrouillage est détaillée dans le wiki :

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

Vous montrera quel processus tient le verrou:

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

Ensuite, il vous suffit de noter le PID et de le tuer comme suit:

sudo kill PID
sudo kill -9 PID  # if the first doesn't work
Sayed Jalil Hassan
la source
1
Cela a fonctionné fantastique! Merci beaucoup, je ne connaissais pas «fuser»!
Stolsvik
1
fuser a également l’option switch -kqui tue le processus trouvé qui utilise le fichier: sudo fuser -v -k /var/cache/debconf/config.dattuera le processus immédiatement
minni
2
Cela devrait être choisi comme meilleure réponse.
Arda
Cela a fonctionné pour moi lorsqu'une mise à niveau de Debian de Stretch à Buster s'est accidentellement passée à l'arrière-plan.
Adambean
15
  1. ouvrez votre terminal
  2. ouvrir l'emplacement /var/cache/debconfavecgksu nautilus
  3. déplacez (coupez / collez) tous les fichiers .dat dans un autre répertoire de sauvegarde.
  4. essayez de courir à nouveau (vous obtiendrez probablement une erreur différente)
  5. restaurer ces fichiers de données à partir du répertoire de sauvegarde susmentionné.
  6. Ensuite, essayez à nouveau ce que vous faisiez (devrait fonctionner cette fois).
rɑːdʒɑ
la source
1
J'ai eu un problème similaire et je viens de supprimer tous les fichiers du dossier debconf.
Agmenor
je l'ai dit au point 3. un fichier avec mot de passe et avec extension. ok maintenant ce que vous obtenez. pourriez-vous les poster ici par un lien pastebin.
rɑːdʒɑ
même problème, je devais supprimer tous les fichiers du dossier debconf
equivalent8
je reçois toujours le message d'erreur debconf: apt-extracttemplates a échoué: aucun fichier ou répertoire de ce type n'a réussi à apt-extracttemplates
1
J'étais vraiment très en colère, j'ai vu votre réponse et tout à coup, des progrès ont été accomplis. Je vous remercie.
David Carboni
7
sudo fuser -vik /var/cache/debconf/config.dat

Affiche le processus et vous demande si vous souhaitez y mettre fin.

coderPatros
la source
merci son aide moi ..: D
Budi Mulyo
0

Un processus bloque toujours debconf. Vous devriez attendre la fin . Ou découvrez comment cela s'est bloqué, puisque dans certains cas, ce sera essayer de vous poser une question mais puisque vous n'avez pas la possibilité de la voir. Si vous attendez un jour et que les choses ne changent pas, vous devrez peut-être redémarrer le système ou mettre fin au processus.

sudo kill 4672

ou

sudo killall dpkg-prec

Cela vous assurera que votre base de données ne sera pas endommagée et évitera d'autres problèmes.

Braiam
la source
3
Je pense qu'il est inutile d'utiliser l'ID de processus 4672 dans votre premier exemple de commande. Quelqu'un pourrait utiliser cette commande en l'état, mais cela ne fonctionnera pas car il aurait très probablement un identifiant de processus différent.
user205301
@ user205301 c'est ce que la seconde est pour;)
Braiam