Há muito tempo utilizo o Raspberry PI 3, com sistema Raspbian para hospedar várias aplicações, porém um dia ao atualizar a versão dos pacotes do Debian instalado me deparei com o seguinte problema:

Reading changelogs… Done
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
Setting up libpam0g:armhf (1.3.1-5) …
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing package libpam0g:armhf (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
libpam0g:armhf
E: Sub-process /usr/bin/dpkg returned an error code (1)

Este erro ocorre pois o pacote que será atualizado está sendo utilizado por outro processo do sistema.

debconf: DbDriver "config": /var/cache/debconf/config.dat

Agora que vem a questão, como descobrir qual o PID do processo que está sendo utilizado?

Para isso é só executar o comando abaixo que será informado o PID do processo que está utilizando o arquivo config.dat

# lsof /var/cache/debconf/config.dat

O qual retornará a seguinte informação:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
frontend 13010 root 4uW REG 179,2 41266 19282 /var/cache/debconf/config.dat

Agora é só encerrar o processo e realizar a atualização normalmente

# kill -9 13010

# apt-get upgrade

Compartilhar conhecimento é bom para todos!