Acidentalmente renomeou um arquivo no centos 5 na pasta / lib, não tinha ideia do que era chamado, como descobrir?


0

enter image description here

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?


Você fez isso através de um terminal? Em caso afirmativo, você tentou verificar o history comando para ver o que você fez mv x l?
nerdwaller

@nerdwaller infeliz não, foi através da interface gráfica com SSH Secure Shell, o mesmo mostrado em que img.
Shackrock

OK, você pode correr mbchk -v. Se funcionar, ele lhe dirá sua versão. Então, vamos esperar que seja não trabalhos :-)
LSerni

[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)
Shackrock

1
Sim, eu concordo. Desculpe pelo atraso, eu tive que pegar algumas calorias :-)
LSerni

Respostas:


1

É um link simbólico, e provavelmente para ld-2.5.so (observe a mesma data e tamanho de arquivo ld-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 ou ld-lsb.so.3.

Então, primeiro, vamos garantir que você Faz ter o pacote lsb instalado.

$ rpm -qa | grep -i lsb

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".

$ rpm -ql nameofpackage | grep "/lib"

ou     $ repoquery --list nameofpackage

Um deles deve ser / lib / ld-lsb-something. (E se repoquery não funciona, você precisa instalar yum-utils: sudo yum install yum-utils primeiro).


Apenas um cara legal me disse para fazer ls -ls no arquivo lib/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?
Shackrock

Não, isso significa que é um link simbólico para o arquivo que eu suspeitava, mas ele ainda não diz qual é o nome do arquivo original estava (que é o ponto de um symlink). Mas eu tenho procurado e aparentemente o CentOS tem ld-lsb.so.2 suporte, então você devemos ter um arquivo relatando esse tamanho e data e chamado ld-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.
LSerni

Eu acho que você está certo, isso ajuda? [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
Shackrock

Infelizmente não, o carregador (se é o carregador) é instalado pelo pacote LSB e não pelo pacote glibc. Mas eu juntei um teste para verificar se meu palpite está correto.
LSerni

Ok, veja acima de volta para a pergunta, qual deles devo usar? Eu não sei o que qualquer um deles faz, infelizmente
Shackrock

0

Pode ser doloroso, mas tente isso. Ele deve informar sobre todos os arquivos modificados / ausentes da instalação original (incluindo arquivos de configuração).

rpm -qa --verify | grep missing

Espero que você tenha apenas um arquivo lib faltando.


Por que doloroso, só porque demora um pouco?
Shackrock
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.