mv: não é possível abrir o arquivo de objeto compartilhado "libstdc++.so.6": aninhamento muito grande de links simbólicos

mv: não é possível abrir o arquivo de objeto compartilhado "libstdc++.so.6": aninhamento muito grande de links simbólicos

O erro pode ser um pouco diferente daquele do tópico - eu estava traduzindo do meu idioma nativo.

Depois que tudo deu errado, tentei fazer como o mjp apontou neste post: GLIBCXX_3.4.20 não encontrado, como corrigir esse erro?

Mas, como resultado, cada comando – apt-get, mv, cp retorna o erro do título do tópico. Não consigo voltar para a versão de backup do arquivo.

No momento não consigo nem entrar no Ubuntu. Fui cortado dentro da tela de login. Toda vez que tento fazer login, a tela fica preta e volto ao login. Só consigo usar o comando via ctrl+alt+F3

O que devo fazer?

Resposta para steeldriver (por favor, veja o comentário):

lrwxrwxrwx 1 root root 40 Jun 17 21:37 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> /usr/lib/x86_64-linux-gnu/libstdc++.so.6

-rw-r--r-- 1 root root 979056 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19

lrwxrwrwx 1 root root 19 May 7 2016 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.old -> libstdc++.so.6.0.19

Responder1

[Devo admitir que estou um pouco confuso por que os utilitários básicos gostam mvou cpquebrariam por causa de libstdc++.so.6, no entanto, supondo que esse seja o motivo, aqui está o que eu tentaria]

Sua busybox lssaída indica que você conseguiu vincular-se recursivamente /usr/lib/x86_64-linux-gnu/libstdc++.so.6a si mesmo. Felizmente, parece que você não excluiu ou substituiu a /usr/lib/x86_64-linux-gnu/libstdc++.so.6.19biblioteca real. Portanto, você poderá recuperar recriando o link simbólico.

A pegadinha será se um sudoou lnambos dependem da libstdc++biblioteca. (Presumivelmente bashnão, já que você pode fazer login com um shell no terminal virtual Ctrl+ Alt+ F3.)

Se sudoestiver quebrado, você ainda poderá inicializar em um shell root a partir do modo de recuperação, conforme descrito emComo inicializo em um shell root?. Você precisará então remontar o sistema de arquivos raiz no modo leitura-gravação

mount -o remount,rw /

Depois disso, você pode tentar consertar o link quebrado

ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

(isso deve criar umlink simbólico relativoque é resolvido em relação ao caminho de destino /usr/lib/x86_64-linux-gnu/, semelhante ao seu .oldlink).

Supondo que isso falhe porque lndepende de libstdc++.so, você pode tentar novamente usando o executável vinculado estaticamente busybox, que possui um ln:

/bin/busybox ln -sf libstdc++.so.6.19 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Se isso funcionar, você pode usar exito shell root para prosseguir com a inicialização normal.

informação relacionada