ldconfig(8) | System Manager's Manual | ldconfig(8) |
ldconfig - megadja a futás alatti kötéseket
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.
A rendszer indítófájljában, az /etc/rc -ben, az
/sbin/ldconfig -v
# /sbin/ldconfig -n /lib
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. |