Dies ist kein Duplikat, da es sich um eine Besonderheit handelt, die mir bei der Verwendung aufgefallen ist /etc/ld.so.conf.
Um die Pfade abzurufen, in denen der dynamische Linker nach Bibliotheken sucht, führe ich den Befehl aus ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g". Wann /etc/ld.so.confsind keine Pfade aufgeführt. Die Ausgabe des vorherigen Befehls ist
/lib
/usr/lib
Ich dachte mir, dass es /libzuerst und dann sucht /usr/lib. Wenn ich einen neuen Pfad hinzufügen, wie /usr/local/lib, zu /etc/ld.so.confund dann Remake /etc/ld.so.cachevom Ausgang ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"wird
/usr/local/lib
/lib
/usr/lib
Ich finde das seltsam, denn wenn ich richtig bin, dass die Reihenfolge, in der die aufgelisteten Verzeichnisse durchsucht werden, von oben nach unten ist, werden zusätzliche Verzeichnisse vor /libund durchsucht /usr/lib. Dass die zusätzlichen Verzeichnisse vor den vertrauenswürdigen Verzeichnissen durchsucht werden, ist an sich nicht seltsam, aber wenn /libvorher gesucht /usr/libwird, ist das seltsam, weil /bin& /sbinnach /usr/bin& /usr/sbinin gesucht werden PATH.
Selbst wenn die von aufgelisteten Pfade ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"von unten nach oben durchsucht würden, wäre dies immer noch eine verzerrte Reihenfolge, da zusätzliche Verzeichnisse nach den vertrauenswürdigen /libdurchsucht würden , während danach gesucht würde /usr/lib.
In welcher Reihenfolge werden ld.soPfade nach Bibliotheken durchsucht? Warum wird /libvorher gesucht /usr/lib? Wenn nicht, warum werden dann zusätzliche Verzeichnisse gesucht /lib?