Como renomear libc.a de volta

4

Estou trabalhando no AIX 6.1 e inadvertidamente renomeado /usr/lib/libc.a para usr/lib/libc.a_ Assim que renomei, percebi meu erro estúpido. Quase todos os comandos mv , cp , ftp etc (exceto cd ) pararam de funcionar.

Como devo renomear libc.a de volta. Sem isso, o sistema dificilmente funcionará bem: (

    
por Pavan Manjunath 04.04.2012 / 13:34

5 respostas

3

A maioria dos binários depende / use na biblioteca libc . Para descobrir, você pode usar ldd /path/to/binary Parece que você precisa inicializar outra imagem ou CD ao vivo. Em seguida, você pode montar a partição relevante ( /usr se estiver separada ou / ) e renomear o arquivo.

    
por 04.04.2012 / 13:44
2

Basta postar isso no caso de alguém pesquisar esse problema.

Como pelo menos o AIX 5.3, a IBM forneceu o shell de recuperação recsh apenas para este problema.

Verifique Documentação da IBM .

Exemplo de uso: recsh; cp -p libc.a.new /usr/lib/libc.a; exit

    
por 17.06.2012 / 09:31
1

Eu acho que ln está fora de questão também?

ln -s usr/lib/libc.a_ usr/lib/libc.a

Ou Perl?

perl -e 'symlink("usr/lib/libc.a_","usr/lib/libc.a");'

ou

perl -MFile::Copy -e 'copy("usr/lib/libc.a_","usr/lib/libc.a");'
    
por 04.04.2012 / 15:57
1

Tente while read -r x; do echo $x >> libc.a; done < libc.a_ (isso pressupõe um shell estilo Bourne).

Se falhar e você tiver sorte o suficiente para que ed ou sed sejam vinculados estaticamente, tente:

sed libc.a_ > libc.a

ou

ed libc.a_
w libc.a
q

também dd if=libc.a_ of=libc.a

    
por 04.04.2012 / 17:38
0

Inicialize a partir do disco de recuperação, monte o sistema de arquivos, renomeie.

    
por 04.04.2012 / 19:43