Descrição do problema #
Durante o processo de atualização do Debian Buster, os usuários podem encontrar um problema com o pacote libc6, resultando na mensagem de erro:
/usr/bin/perl: erro ao carregar bibliotecas compartilhadas: libcrypt.so.1: não é possível abrir o arquivo de objeto compartilhado: Esse arquivo ou diretório não existe (Lendo banco de dados... 49108 arquivos e diretórios atualmente instalados.) Preparando para descompactar... /libc-dev-bin_2.36-9+deb12u3_amd64.deb ... Descompactando libc-dev-bin (2.36-9+deb12u3) sobre (2.28-10+deb10u1) ... Configurando libc6:amd64 (2.36-9 +deb12u3) ... /usr/bin/perl: erro ao carregar bibliotecas compartilhadas: libcrypt.so.1: não é possível abrir arquivo de objeto compartilhado: arquivo ou diretório inexistente dpkg: erro ao processar pacote libc6:amd64 (--configure): O subprocesso de script de pós-instalação do pacote libc6:amd64 instalado retornou o status de saída de erro 127 Erros foram encontrados durante o processamento: libc6:amd64 E: O subprocesso /usr/bin/dpkg retornou um código de erro (1)
Análise #
O erro surge durante a atualização do Debian Buster para o Bookworm devido a dependências circulares entre libc e libcrypt que foram deliberadamente evitados no Bookworm. As dependências circulares resultam na ausência da biblioteca compartilhada necessária libcrypt.so.1. O pacote libc6 não é configurado corretamente, acionando um status de saída de erro. Esta situação destaca os esforços do Bookworm para quebrar dependências circulares, levando a possíveis problemas durante as atualizações.
Etapas de resolução #
Para resolver esse problema, siga as etapas de resolução manual descritas abaixo:
1. Abra um terminal e navegue até um diretório temporário:
root@noid-ce-01:~# cd $(mktemp -d) root@noid-ce-01:/tmp/tmp.XX#
2. Baixe o pacote libcrypt1:
root@noid-ce-01:/tmp/tmp.XX# apt -y baixar libcrypt1
3. Extraia o conteúdo do pacote libcrypt1:
root@noid-ce-01:/tmp/tmp.XX# dpkg-deb -x libcrypt1_*.deb .
4. Copie os arquivos da biblioteca extraídos para o diretório de bibliotecas do sistema:
root@noid-ce-01:/tmp/tmp.XX# cp -ra lib/* /lib/
5. Execute uma correção em qualquer instalação quebrada:
root@noid-ce-01:/tmp/tmp.XX# apt -y --fix-broken install
6. Conclua a atualização da pilha mínima de software:
root@noid-ce-01:~# apt-get upgrade root@noid-ce-01:~# apt-get dist-upgrade
Após seguir essas etapas, a biblioteca libcrypt.so.1 ausente deverá ser instalada e o pacote libc6 deverá ser configurado sem erros. Os usuários podem então prosseguir com a atualização do Debian Buster sem encontrar os problemas relatados anteriormente.
Nota: Certifique-se de ter os privilégios apropriados para executar esses comandos e considere fazer backup de dados críticos antes de executar atualizações do sistema.