ldconfig
tem duas opções interessantes:
-f conf
Use conf instead of /etc/ld.so.conf.
-C cache
Use cache instead of /etc/ld.so.cache.
Tentei copiar /etc/ld.so.conf
para o meu próprio diretório pessoal e editei-o para incluir caminhos para minhas bibliotecas locais, por exemplo, /home/syockit/local/usr/lib
etc.
ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache
e, posteriormente, para confirmar que as bibliotecas estão armazenadas em cache, executei
ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache -p | less
e inclui todas as minhas bibliotecas, além das bibliotecas do sistema.
Agora, quero que o vinculador padrão use esses dois. Mas man ld.so
, não vejo menção de poder usar o costume .conf
ou .cache
. Então, qual é o objetivo das duas opções acima ldconfig
?
fonte
/etc/ld.so.conf
é lido apenas porldconfig
(o programa de geração de cache), não porld.so
(o carregador dinâmico). Você pode alterar o local do arquivo de configuração se desejar gerar um cache diferente do padrão do sistema./etc/ld.so.cache
é lido porld.so
e você não pode fazê-lo ler de um local diferente. No entanto, pode ser útil passar um local de saída diferente paraldconfig
. O caso de uso mais comum é provavelmente ambientes chroot . Você pode usarldconfig -r /some/root
para executarldconfig
em uma raiz alternativa e colocar a saída onde quiser (dentro ou fora dessa raiz). Você precisará emitir a saída/some/root/etc/ld.so.cache
ou copiá-la posteriormente. Existem outros casos de uso bastante obscuros, por exemplo, se você deseja executarldconfig
como um usuário não privilegiado (para quem não pode gravar/etc/ld.so.cache
) e depois mover o arquivo para o local mais tarde.fonte