Acabei de entrar em uma situação semelhante com uma atualização mal-sucedida e subsequente movimentação no modo de recuperação, em que um determinado subconjunto de pacotes (a saber, apport) estava pendurado em dpkg --configure -a
com a mesma mensagem Started Braille Device Support.
. O hack que me fez passar por isso foi:
- Se você está atualmente olhando para o comando pendurado
apt-get
, pressione Ctrl + C para parar. Se isso não funcionar (como aconteceu comigo), pressione Ctrl + Z , depois executekill -9 %1
algumas vezes para eliminá-lo para sempre. Em seguida, executerm /var/lib/dpkg/lock
, já que você assassinou o processo que normalmente faz isso. - Execute
screen
(para obter mais de um prompt). - Pressione Ctrl + A e depois c para abrir um prompt diferente.
- Execute
dpkg --configure -a
e espere o processo parar. - Pressione Ctrl + A e depois a para voltar ao outro prompt.
- Executar
killall systemctl
- Pressione Ctrl + A e depois a para retornar ao comando
dpkg --configure -a
. - Observe que o último pacote deve ter terminado de configurar e
dpkg
foi movido para o próximo pacote e pendurado da mesma forma ou concluído. - Se
dpkg
estiver interrompendo novamente, vá para a etapa 5. - Quando o
dpkg --configure -a
for finalmente concluído, continue a copiar no modo de recuperação, possivelmente executandoapt-get upgrade
até que o sistema pareça estar reinicializado.
Por que isso funcionou (pelo menos para mim), meu processo de depuração foi o seguinte:
-
apt-get upgrade
estava pendurado. Execute a tecla Ctrl + Z ekill -9 %1
acima para voltar ao prompt. - Execute
dpkg --configure -a
e observe que ele trava com a mesma mensagemStarted Braille Device Support.
queapt-get upgrade
. No entanto, Ctrl + C funciona desta vez para retornar ao prompt. - Pesquise por "suporte ao dispositivo braille iniciado pelo ubuntu". Descubra nesta página de acessibilidade debian que tem a ver com
brltty
. - Execute
apt-get remove brltty
, talvez isso afaste o problema. - Execute novamente
dpkg --configure -a
e observe que ainda está interrompida, mas, desta vez, não há nenhuma mensagem sobreStarted Braille Device Support
. OK. - Execute
strace dpkg --configure -a
e observe que o processo está preso em uma chamadawait4(...)
para um subprocesso. - Algumas linhas para cima, observe que o processo grava o arquivo
/var/lib/dpkg/info/apport.postinst
(ou algo similar, IIRC). -
less
do arquivo acima e veja a tentativa de reiniciar um serviço de inicialização. Suponha que, como estamos no modo de recuperação e o sistema de inicialização não foi executado até a conclusão, isso será estranho. - Execute
pstree
e veja quedpkg --reconfigure -a
de fato bifurcou abash
thing, que então bifurca aperl
e, finalmente,systemctl
, que não reinicia os serviços de inicialização e pode ficar confuso. / li> - Observe que o script
postinst
não temset -e
, então talvez possamos eliminar o comando suspenso dentro dele, assim o script de shell termina edpkg
é ativado. - Abra outro aviso de tela, execute
killall systemctl
, retorne e veja sedpkg
realmente foi ativado. Ótimo. Ele está preso no mesmo lugar novamente, em um pacote diferente. - Execute
killall systemctl
novamente atédpkg
sair. - Execute
apt-get dist-upgrade
novamente e verifique se está tudo atualizado. - Cruze meus dedos e reinicie.
Milagrosamente, o sistema recuperou e até agora não tem problemas.
Portanto, não é uma redução completa (por que o systemctl fica no modo de recuperação?), nem é geralmente aplicável, mas esse hack e o processo para descobri-lo podem ajudar alguém que chega a essa página através de uma pesquisa na web como Eu fiz.