Was ist / usr / lib / i386-linux-gnu / für?

29

Ich verwende eine Anwendung, die bei der Suche nach installierten Abhängigkeiten einige .so-Dateien in / usr / lib und / usr / local / lib / nachschlägt.

Jetzt bin ich auf Natty umgestiegen und einige Dateien scheinen von / usr / lib nach / usr / lib / i386-linux-gnu / verschoben worden zu sein.

Sollte ich diesen Anwendungsentwicklern einen Fehler melden, der besagt, dass sie ihre Suchlogik ändern sollten? Gibt es ein Dokument, in dem die Änderung erläutert wird, damit ich darauf verweisen kann?

Alexander Gladysh
quelle
1
Für wen von euch, die mit Natty nicht vertraut sind oder es vergessen haben, ist Natty Ubuntu 11.04. Diese Änderung ist in neueren Versionen von Ubuntu noch vorhanden (Stand: 18.04).
JRH

Antworten:

31

Diese Änderung wurde vorgenommen, um die Installation von Versionen derselben Bibliothek zu ermöglichen, die für verschiedene Architekturen kompiliert wurden (z. B. auf einem AMD64-System wird möglicherweise eine Version ausgeführt, /usr/lib/x86_64-linux-gnuwährend die andere ausgeführt wird i386-linux-gnu).

Sowohl der Standardlinker als auch der dynamische Linker kennen diese Verzeichnisse, sodass die Änderung für die meisten Anwendungen nicht sichtbar sein sollte. Wenn die Anwendung manuell nach aktuellen Bibliotheksdateien sucht, muss sie geändert werden.

Details zu den Änderungen an Ubuntu finden Sie hier:

https://wiki.ubuntu.com/MultiarchSpec

James Henstridge
quelle
3
Während der Ubuntu-Link ein anständiger Ausgangspunkt ist, ist auf wiki.debian.org/Multiarch viel mehr Dokumentation verfügbar (und es ist auch zu erwarten, dass er viel besser auf dem neuesten Stand gehalten wird; das Ubuntu-Wiki wird genauso geliebt wie ein verlassener Elefantenfriedhof).
Tripleee
2
Ich dachte, wir haben / lib32 für Multi-Arch?
Bachsau