Recentemente, excluí acidentalmente o arquivo. /lib/x86_64-linux-gnu/libc.so.6.
Este arquivo é necessário para a maioria dos programas, então meu computador está basicamente quebrado e só consigo acessar o disco rígido por meio de um USB ativo.
Estou executando o Crunchbang Waldorf de 64 bits, que é baseado em Debian.
Como posso substituir libc.so.6
? (/lib64/
nãocontém uma cópia.)
Saída delocate libc.so
(em USB ativo, com disco rígido quebrado montado)
/lib/x86_64-linux-gnu/libc.so.6
/rofs/lib/x86_64-linux-gnu/libc.so.6
/rofs/usr/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libc.so.6
Conteúdo de /etc/apt/sources.list
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main contrib
# deb-src http://packages.crunchbang.org/waldorf waldorf main
## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
# deb-src http://http.debian.org/debian wheezy main contrib non-free
## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main contrib
# deb-src http://security.debian.org/ wheezy/updates main
Responder1
Vou assumir que seu stick USB live tem a mesma distribuição que você está executando ou pelo menos é baseado em Debian.
Com essas suposições, primeiro inicialize seu sistema com seu pendrive USB ativo. Em seguida, consulte qual pacote possui o arquivo /lib/x86_64-linux-gnu/libc.so.6
com o comando dpkg -S /lib/x86_64-linux-gnu/libc.so.6
(o arquivo será de propriedade do pacote chamado "libc6", mas é um bom exercício de qualquer maneira).
Quando seu sistema estiver rodando a partir de uma distribuição ao vivo de pendrive USB, baixe o pacote ou pacotes necessários emSite Crunchbang Waldorf.
Em seguida, monte sua unidade de disco rígido em algum diretório. Para fins de exemplo, assumirei novamente que você montará sua partição raiz a partir de sua unidade de disco rígido em /mnt
.
Então tudo o que resta fazer é reinstalar o pacote ou pacotes necessários usando --root /mnt
a diretiva para dpkg
. Dessa forma, os pacotes não irão parar no sistema de arquivos do seu stick USB ativo, mas sim no sistema que você já possui no seu disco rígido.
Responder2
O libc.so.6
arquivo está presente no libc6
pacote.
Você precisa descobrir em qual repositório o libc6
pacote foi instalado em sua máquina. (Verifique /etc/apt/sources.list
, etc.).
Em seguida, baixe-o manualmente (por exemplo, se fosse uma máquina Debian usando os repositórios padrão, você poderia baixá-lo emaqui) e instale-o usando as instruções fornecidas por @SamiLaine.
Responder3
Tente isso em um shell root:
ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
Se libc-2.13.so
não for a versão correta para o seu sistema, use o preenchimento de tabulação no bash para encontrar a versão correta.
Se isso não funcionar, você pode seguir com a versão vinculada estaticamente doldconfigem um shell raiz:
/sbin/ldconfig
Se a biblioteca alvo dos links libc foi excluída, baixe o pacote debian doPacote: libc6página, descompacte-a usando dpkg-deb -X
(página de manual) e copie libc-2.13.so
para /lib/x86_64-linux-gnu
. Em seguida, execute ldconfig para garantir que todos os links estejam corretos.
Responder4
Abra um terminal ( Ctrl+ Alt+ T) e execute os seguintes comandos:
Para Ubuntu de 64 bits:
sudo ln -s /lib64/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6
Para Ubuntu de 32 bits:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6