Scroll to navigation

ld.so(8) ld.so(8)

NAZWA

ld.so/ld-linux.so - dynamiczny konsolidator/ładowacz

OPIS

ld.so ładuje biblioteki dzielone wymagane przez program, przygotowuje program do uruchomienia i uruchamia go.

O ile podczas kompilacji nie podano jawnie opcji -static, wszystkie binaria linuksowe będą niekompletne i będą wymagały dalszego konsolidowania podczas działania.

Potrzebne biblioteki dzielone są szukane w następującej kolejności:

Przy użyciu zmiennej środowiskowej LD_LIBRARY_PATH (LD_AOUT_LIBRARY_PATH dla programów a.out). Poza binariami suid/sgid, dla których jest to ignorowane.
Z pliku buforowego /etc/ld.so.cache który zawiera skompilowaną listę kandydatów, znalezionych w ścieżce bibliotek.
W domyślnym katalogu /usr/lib, a potem w /lib.

ŚRODOWISKO

Oddzielona dwukropkami lista katalogów, w których szukać bibliotek ELF podczas wykonywania. Podobne do zmiennej środowiskowej PATH.
Oddzielona spacjami lista dodatkowych, podanych przez użytkownika bibliotek dzielonych ELF, którą należy załadować przed wszystkimi innmi. Umożliwia to wybiórczą zamianę funkcji w innych bibliotekach dzielonych. Dla plików binarnych ELF z ustawionym bitem setuid/setgid, ładowane będą tylko biblioteki ze standardowych katalogów, mające także ustawiony bit setgid.
Gdy zmienna ta jest obecna, sprawia, że program wypisze swoje zależności od bibliotek dynamicznych, tak jakby był uruchomiany przez ldd, a nie normalnie.
Gdy zmienna ta jest obecna, sprawia, że dynamiczny konsolidator rozwiąże wszystkie symbole podczas startu programu, a nie wtedy gdy będzie do nich pierwsze odniesienie.
Oddzielona dwukropkami lista katalogów, w których szukać bibliotek a.out podczas wykonywania. Podobne do zmiennej środowiskowej PATH.
Nazwa dodatkowej, podanej przez użytkownika biblioteki dzielonej a.out, którą należy załadować po wszystkich innych. Może to być uzywane do przeciążania funkcji innych bibliotek dzielonych.
Powstrzymaj ostrzeżenia o bibliotekach a.out o niekompatybilnych numerach minorowych wersji.
Nie ignoruj katalogu w nazwach ładowanych bibliotek a.out. Używanie tej opcji nie jest zalecane.

PLIKI

/lib/ld.so
Dynamiczny konsolidator/ładowacz a.out
/lib/ld-linux.so.*
Dynamiczny konsolidator/ładowacz ELF
/etc/ld.so.cache
Plik zawierający skompilowaną listę katalogów, w których należy szukać bibliotek oraz uporządkowaną listę bibliotek kandydujących.
/etc/ld.so.preload
Plik zawierający oddzieloną spacjami listę bibliotek dzielonych ELF, które mają być załadowane przed programem.
Biblioteki dzielone

ZOBACZ TAKŻE

ldd(1), ldconfig(8).

BŁĘDY

Obecnie, ld.so nie ma narzędzi do usuwania i szukania kompatybilnych lub nowszych wersji bibliotek.

Możliwości ld.so dostępne są tylko dla binariów, skompilowanych przy użyciu libc w wersji 4.4.3 lub wyższej.

AUTORZY

David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius i Mitch D'Souza (niekoniecznie w tej kolejności).

14 Marca 1998