Na imagem acima, eu renomeiei o arquivo acidentalmente para l
e eu não tenho ideia do que foi em primeiro lugar. É classificado pelo nome, e tenho 99% de certeza que começou com um L, provavelmente lib ...
E FYI: Desfazer não estava disponível para esta ação.
Aqui está algum código, conforme solicitado:
[root@server ~]# file /usr/bin/* | grep "32-bit"
/usr/bin/gdk-pixbuf-query-loaders-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/gtk-query-immodules-2.0-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/mbchk: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped
/usr/bin/pango-querymodules-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
15h55 Atualize:
[root@server ~]# rpm -qa | grep -i lsb
redhat-lsb-4.0-2.1.4.el5
redhat-lsb-4.0-2.1.4.el5
[root@server ~]# rpm -ql redhat-lsb-4.0-2.1.4.el5 | grep "/lib"
/lib/ld-lsb.so.3
/lib/lsb
/lib/lsb/init-functions
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
/lib/lsb
/lib/lsb/init-functions
/lib64/ld-lsb-x86-64.so.3
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
Como posso descobrir qual era o nome da pasta?
history
comando para ver o que você fezmv x l
?mbchk -v
. Se funcionar, ele lhe dirá sua versão. Então, vamos esperar que seja não trabalhos :-)[root@server ~]# mbchk -v mbchk (GNU GRUB 0.97)
Outro amigo pediu para executar este comando, dê uma olhada:[root@server ~]# diff /lib/ld-2.5.so /lib/l [root@server ~]#
(nada aconteceu com aquele)Respostas:
É um link simbólico, e provavelmente para
ld-2.5.so
(observe a mesma data e tamanho de arquivold-linux
).Se você conseguir um CentOS em algum lugar, apenas execute
ls -la /lib | grep ld-2.5
e você encontrará alguns links, dentre os quais o que você está perdendo.Não tendo um CentOS 5 disponível, não posso dizer com certeza, mas possivelmente
ld-lsb.so.2
ould-lsb.so.3
.Então, primeiro, vamos garantir que você Faz ter o pacote lsb instalado.
ou lista de $ sudo yum instalada | grep -i lsb
Você deve ter algo como "redhat-lsb" (ou "algo-lsb") lá dentro. Se fizer isso, liste seu conteúdo e veja quais arquivos ele possui em "/ lib".
ou $ repoquery --list nameofpackage
Um deles deve ser / lib / ld-lsb-something. (E se
repoquery
não funciona, você precisa instalaryum-utils
:sudo yum install yum-utils
primeiro).fonte
ls -ls
no arquivolib/l
e relata:0 lrwxrwxrwx 1 root root 13 Jan 17 00:12 lib/l -> ld-linux.so.2
isso significa que é o nome certo?ld-lsb.so.2
suporte, então você devemos ter um arquivo relatando esse tamanho e data e chamadold-lsb.so.2
. Na lista ordenada do nome do arquivo, você não o faz. Então é quase certo que é o nome que você precisa.[root@server ~]# rpm -qil glibc | grep ld- /lib64/ld-2.5.so /lib64/ld-linux-x86-64.so.2 /lib/ld-2.5.so /lib/ld-linux.so.2
e[root@server ~]# ls -la /lib | grep ld-2.5 -rwxr-xr-x 1 root root 130860 Jan 8 08:33 ld-2.5.so lrwxrwxrwx 1 root root 9 Jan 17 00:08 ld-linux.so.2 -> ld-2.5.so
Pode ser doloroso, mas tente isso. Ele deve informar sobre todos os arquivos modificados / ausentes da instalação original (incluindo arquivos de configuração).
Espero que você tenha apenas um arquivo lib faltando.
fonte