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

LEÍRÁS
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.

OPCIÓK

-D  Hibakereső mód. Maga után vonja a -N és a -X kapcsolókat.

-v  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.

-q  Csendes mód. Nem ír ki figyelmeztetéseket.

-n  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.

-N  Nem építi újra a cache-t. Ha a -X kapcsoló nincs megadva, akkor a csatolásokat frissíti.

-X  Nem frissíti a csatolásokat. Ha a -N kapcsoló nincs megadva, akkor a cache-t újraépíti.

-f conf
    A conf fájlt használja az /etc/ld.so.conf helyett.

-C cache
    A cache fájlt használja az /etc/ld.so.cache helyett.

-r root
    A root könyvtárba lép és azt használja, mint gyökérkönyvtárat.

-l  Könyvtár mód. Kézzel csatol egyes könyvtárakat. Csak gyakorlott felhasználóknak.

-p  Kiírja az aktuális cache-ben tárolt könyvtárak (directories) és megosztott könyvtárak listáját.

PÉLDÁK
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.

A parancssorban az
    # /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.

FÁJLOK
/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.
lib*.so.version
    megosztott könyvtárak

LÁSD MÉG
ldd(1), ld.so(8).

HIBÁK

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.

SZERZŐK
David Engel és Mitch D'Souza.

MAGYAR FORDÍTÁS
Tímár András <timar_a@freemail.hu>