Possíveis problemas ao deletar / tools no LFS

0

Recentemente, fiz um Linux From Scratch e agora quero excluir o diretório / tools. Mas antes de apressar, corri

ldd /bin/* | grep '/tools'

O que me deu isso

liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007fd7e82f9000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007fd7e7ec3000)
libc.so.6 => /tools/lib/libc.so.6 (0x00007fd7e7b1f000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f2ff2852000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007f2ff241c000)
libc.so.6 => /tools/lib/libc.so.6 (0x00007f2ff2078000)

Eu então verifiquei manualmente a saída de ldd e descobri

/bin/kmod: linux-vdso.so.1 (0x00007ffd71dbd000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f14721ab000)
libz.so.1 => /lib/libz.so.1 (0x00007f1471f92000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007f1471d75000)
libc.so.6 => /tools/lib/libc.so.6 (0x00007f14719d1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f14723d0000)

e

/bin/lsmod:
linux-vdso.so.1 (0x00007ffcc1db7000)
liblzma.so.5 => /tools/lib/liblzma.so.5 (0x00007f3cb7285000)
libz.so.1 => /lib/libz.so.1 (0x00007f3cb706c000)
libpthread.so.0 => /tools/lib/libpthread.so.0 (0x00007f3cb6e4f000)
libc.so.6 => /tools/lib/libc.so.6 (0x00007f3cb6aab000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3cb74aa000)

Parece que se refere apenas a /tools no caso de apenas kmod e lsmod Eu verifiquei outras entradas, e elas estão todas apontando para as corretas. Por exemplo

/bin/lzcat:
linux-vdso.so.1 (0x00007ffdee0db000)
liblzma.so.5 => /lib/liblzma.so.5 (0x00007ff6cb537000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007ff6cb31a000)
libc.so.6 => /lib/libc.so.6 (0x00007ff6caf76000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff6cb75c000)

Note que, aqui, todos eles estão apontando para /lib .

Então, devo proceder?

    
por Aniket Bhattacharyea 19.03.2016 / 10:40

1 resposta

0

Talvez.

A saída ldd contém os nomes das bibliotecas que o binário usará após pesquisando o caminho de pesquisa da biblioteca. Se você tiver alguma configuração que aponte para o diretório /tools (por exemplo, $LD_LIBRARY_PATH ou uma entrada ld.so.conf ), tente removê-la. Se ldd não apontar para o seu diretório /tools depois de ter feito isso, você deve estar bem.

Em caso afirmativo, seus binários provavelmente serão compilados com um RPATH conjunto. Um RPATH é um local codificado para uma biblioteca compartilhada que é armazenada no binário compilado. Pode ser útil em alguns casos extremos, mas na sua situação seria decididamente inútil. Se estiver definido, existe uma ferramenta chamada chrpath com a qual você pode alterá-lo ou removê-lo.

    
por 19.03.2016 / 11:15