Vou postar os scripts para os métodos que encontrei. Mas se houver outra maneira padrão, poste-a.
Usando o ldconfig:
ldconfig -v 2>>/dev/null | grep /usr/lib* | head --lines=1 | sed -e 's/://'
Eu acho que ele pode retornar outra pasta se alguém configurar outra ordem de pesquisa, por exemplo. adicionando outra pasta antes da pasta multiarch do host padrão.
Usando a pasta /etc/ld.so.conf.d
:
lines=$(cat /etc/ld.so.conf.d/* 2>>/dev/null)
for line in $lines ; do
case "$line" in
*Multiarch*)
found_multiarch=1
;;
/usr/lib/*)
if [ "$found_multiarch" = 1 ] ; then
folder=$line
break
fi
;;
esac
done
echo $folder
Ele retornará a primeira pasta em /usr/lib
que vem depois da linha com *Multiarch*
.
Ambos os scripts foram testados em armv7 e x86_64 (instalações padrão, sem arquiteturas estrangeiras) e retornando os resultados esperados.
Não testado em caixas com arquitetura estrangeira instalada.