DOKK / manpages / debian 11 / manpages-hu / ldconfig.8.hu
ldconfig(8) System Manager's Manual ldconfig(8)

NÉV

ldconfig - megadja a futás alatti kötéseket

ÁTTEKINTÉS

ldconfig [-DvqnNX] [-f conf] [-C cache] [-r root] könyvtár (directory) ...

ldconfig -l [-Dvq] megosztottkönyvtár (library) ...

ldconfig -p

Az ldconfig létrehozza a szükséges csatolásokat és a cache-t, (amit a futási idejű linker, az ld.so használ), a legfrissebb megosztott könyvtárakhoz, amelyeket a parancssorból, az /etc/ld.so.conf fájlból, és a megbízható könyvtárakból (/usr/lib és a /lib) olvas ki. Az ldconfig ellenőrzi a megtalált könyvtárak fejlécét és fájlnevét, amikor eldönti, hogy melyik verziók csatolásait kell frissíteni. Az ldconfig nem veszi figyelembe a szimbolikus linkeket, amikor könyvtárakat keres.

Az ldconfig megpróbálja kitalálni az ELF könyvtár típusát (pl. libc5 vagy libc6/glibc) annak alapján, hogy milyen C könyvtárral lett a megosztott könyvtár összelinkelve, amennyiben egyáltalán össze lett valamelyikkel is. Ezért megosztott könyvtárak készítésekor bölcs dolog expliciten a libc-vel linkelni a -lc kapcsoló használatával.

Néhány már létező könyvtár nem tartalmaz elég információt ahhoz, hogy a típusa kitalálható legyen, ezért az /etc/ld.so.conf fájlformátum megengedi a várható típus megadását. Ez csak azokra az ELF könyvtárakra használatos, amelyekre nem lehet kitalálni a típust. A formátum "dirname=TYPE", ahol a típus a libc4, libc5 vagy libc6 valamelyike lehet. (Ez a szintaxis a parancssorban is működik). Szóközök nem megengedettek. Lásd még a -p opciót.

Az egyenlőségjelet (=) tartalmazó könyvtárnevek többé nem megengedettek, hacsak nincs a várható típusuk is megadva.

Az ldconfig parancsot általában a rendszergazdának kell futtatnia, mert szükséges lehet az írási jog néhány root tulajdonában levő fájlra és könyvtárra. Általában a rendszer indulásakor automatikusan elindul az /etc/rc-ből, vagy kézzel indítható, ha egy új DLL-t telepítettünk a rendszerbe.

Hibakereső mód. Maga után vonja a -N és a -X kapcsolókat.
Bőbeszédű mód. Kiírja az aktuális verziószámot, minden könyvtár nevét, ahol éppen keres, és minden csatolást, amit létrehozott. Felülbírálja a csendes módot.
Csendes mód. Nem ír ki figyelmeztetéseket.
Csak a parancssorban megadott könyvtárakban keres, a megbízható könyvtárakban (/usr/lib és /lib), és az /etc/ld.so.conf-ban megadottakban nem. Maga után vonja a -N kapcsolót.
Nem építi újra a cache-t. Ha a -X kapcsoló nincs megadva, akkor a csatolásokat frissíti.
Nem frissíti a csatolásokat. Ha a -N kapcsoló nincs megadva, akkor a cache-t újraépíti.
A conf fájlt használja az /etc/ld.so.conf helyett.
A cache fájlt használja az /etc/ld.so.cache helyett.
A root könyvtárba lép és azt használja, mint gyökérkönyvtárat.
Könyvtár mód. Kézzel csatol egyes könyvtárakat. Csak gyakorlott felhasználóknak.
Kiírja az aktuális cache-ben tárolt könyvtárak (directories) és megosztott könyvtárak listáját.

A rendszer indítófájljában, az /etc/rc -ben, az

/sbin/ldconfig -v

sor beállítja a helyes csatolásokat a megosztott könyvtárakhoz, és újraépíti a cache-t.

# /sbin/ldconfig -n /lib

utasítás a root által futtatva egy új DLL telepítése után megfelelően frissíti a megosztott könyvtárakra mutató szimbolikus linkeket a /lib könyvtárban.

/lib/ld.so
futási idejű linker és betöltő
/etc/ld.so.conf
A fájl könyvtárakat (directories) tartalmaz kettősponttal, vesszővel, szóközzel, tabulátorral vagy újsor karakterrel elválasztva, amelyekben a megosztott könyvtárakat keresi a betöltő.
/etc/ld.so.cache
A fájl az /etc/ld.so.conf-ban megadott könyvtárakban található megosztott könyvtárak rendezett listáját tartalmazza.
megosztott könyvtárak

ldd(1), ld.so(8).

Az ldconfig, akárcsak az ld.so, csak azokra a végrehajtható fájlokra működik, amelyeket a libc 4.4.3-as vagy magasabb verziójával fordították.

Mivel az ldconfig felhasználói processz, kézzel kell futtatni, és semmilyen módon nem tudja dinamikusan meghatározni és újralinkelni a megosztott könyvtárakat az ld.so számára, amikor egy új DLL-t telepítünk.

David Engel és Mitch D'Souza.

Tímár András <timar_a@freemail.hu>

1998. március 14.