⚠️ ATENÇÃO! POR FAVOR, LEIA ANTES DE EXECUTAR TODOS OS COMANDOS! ⚠️
Esta resposta é apenas fornecida para pesquisa e para conhecimento adicional do Ubuntu Linux. Executar quaisquer comandos nesta resposta pode muito bem destruir completamente o seu sistema. Verifique se você está em uma VM ou em um backup. Eu não sou responsável se você quebrar seu sistema.
O comando sh
é fornecido por dash
, por meio de um link simbólico:
$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Jun 1 08:33 /bin/sh -> dash*
$ which sh
/bin/sh
$ dpkg -S /bin/dash
dash: /bin/dash
$ dpkg -S /bin/sh
diversion by dash from: /bin/sh
diversion by dash to: /bin/sh.distrib
dash: /bin/sh
Para removê-lo, execute o comando abaixo:
sudo apt remove dash
O APT retrocederá com a seguinte mensagem de erro:
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
Se você estiver realmente disposto a destruir seu sistema, digite-o e pressione Retornar .
O Ubuntu irá então desinstalar bash
, lightdm
, e o ubuntu-desktop
meta-package (assim como todos os pacotes que dependem desses três), porque todos eles têm uma dependência em dash
. A menos que seu shell atual funcione perfeitamente, seu sistema ficará inutilizável depois que você eliminar a última instância de bash
ou dash
.
Se você realmente seguir com esse comando, a única maneira de restaurar os arquivos apropriados é inicializar em um Live CD e reinstalar os pacotes por meio de uma sessão de recuperação chroot
ed.
Se você tiver sorte , talvez ainda consiga reparar seu sistema ao reinstalar os pacotes, desde que você ainda tenha um shell raiz aberto. Os sistemas se recuperaram do pior antes, mas a sorte realmente precisa estar do seu lado para isso.
Em vez disso, sugiro que você refaça o link simbólico /bin/sh
para apontar para o seu shell. Nesse caso, você pode simplesmente restaurar de volta para dash
se algo realmente der errado. Faça isso executando estes comandos:
sudo -s
cd /bin
rm sh
ln -s /path/to/your/shell sh
chmod 777 sh
Restaure de volta para dash
, repetindo essas etapas, mas especificando dash
em vez de seu próprio shell. Ou apenas execute sudo apt install --reinstall dash
. Você pode precisar especificar um init
personalizado para fazer isso.