ld.so

Autres langues

Langue: ja

Version: 2001-12-16 (openSuse - 09/10/07)

Section: 8 (Commandes administrateur)

̾Á°

ld.so, ld-linux.so* - ưŪ¤Ê¥ê¥ó¥«¡¦¥í¡¼¥À

½ñ¼°

ưŪ¥ê¥ó¥«¤Ï¡¢Æ°Åª¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ä¥é¥¤¥Ö¥é¥ê¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ ´ÖÀÜŪ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë (ELF ¤Î¾ì¹ç¡¢Æ°Åª¥ê¥ó¥«¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤Ç¤­¤º¡¢ ¥×¥í¥°¥é¥à¤Î .interp ¥»¥¯¥·¥ç¥ó¤ËÆþ¤Ã¤Æ¤¤¤ëưŪ¥ê¥ó¥«¤¬¼Â¹Ô¤µ¤ì¤ë)¡£ ¤Þ¤¿°Ê²¼¤Î¤è¤¦¤ËľÀܼ¹Ԥ¹¤ë¤³¤È¤â¤Ç¤­¤ë /lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]]

ÀâÌÀ

¥×¥í¥°¥é¥à ld.so ¤È ld-linux.so* ¤Ï¥×¥í¥°¥é¥à¤ËɬÍפʶ¦Í­¥é¥¤¥Ö¥é¥ê¤ò¸«¤Ä¤±¤Æ¥í¡¼¥É¤·¡¢ ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò½àÈ÷¤·¤Æ¤«¤éµ¯Æ°¤µ¤»¤ë¡£

Linux ¤Î¥Ð¥¤¥Ê¥ê¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤Î»þ¤Ë ld ¤ËÂФ·¤Æ -static ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢Æ°Åª¥ê¥ó¥¯ (¼Â¹Ô»þ¥ê¥ó¥¯) ¤¬É¬ÍפȤʤ롣

¥×¥í¥°¥é¥à ld.so ¤Ï a.out ¥Ð¥¤¥Ê¥ê¤ò°·¤¦¡£ ¤³¤ì¤Ï¤º¤Ã¤ÈÀΤ˻Ȥï¤ì¤Æ¤¤¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¢¤ë¡£ ld-linux.so* (libc5 ¤Ç¤Ï /lib/ld-linux.so.1, glibc2 ¤Ç¤Ï /lib/ld-linux.so.2) ¤Ï ELF ¥Ð¥¤¥Ê¥ê¤ò°·¤¦¡£ ¤³¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¿¤¯¤Î¿Í¤¬ºÇ¶á²¿Ç¯¤â»È¤Ã¤Æ¤¤¤ë¡£ ¤½¤ì°Ê³°¤ÎÅÀ¤Ç¤ÏξÊý¤È¤âƱ¤¸¤è¤¦¤ËÆ°ºî¤·¡¢ Ʊ¤¸¥µ¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤È¥×¥í¥°¥é¥à ldd(1), ldconfig(8), /etc/ld.so.conf ¤ò»ÈÍѤ¹¤ë¡£

¥×¥í¥°¥é¥à¤ÇɬÍפȤµ¤ì¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ï¡¢ ¤¤¤í¤¤¤í¤Ê¾ì½ê¤«¤é¸¡º÷¤µ¤ì¤ë¡£

o
(ELF ¤Î¤ß) ¥Ð¥¤¥Ê¥ê¤ÎưŪ¥»¥¯¥·¥ç¥ó°À­ DT_RPATH ¤¬Â¸ºß¤·¡¢ DT_RUNPATH °À­¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢DT_RPATH ¤òÍѤ¤¤ë¡£ DT_RPATH ¤Î»ÈÍѤϿ侩¤µ¤ì¤Ê¤¤¡£
o
´Ä¶­ÊÑ¿ô LD_LIBRARY_PATH ¤òÍѤ¤¤ë¡£ ¤¿¤À¤·¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ set-user-ID/set-group-ID ¥Ð¥¤¥Ê¥ê¤Î¾ì¹ç¡¢ ¤³¤ì¤Ï̵»ë¤µ¤ì¤ë¡£
o
(ELF ¤Î¤ß) ¥Ð¥¤¥Ê¥ê¤ÎưŪ¥»¥¯¥·¥ç¥ó°À­ DT_RUNPATH ¤òÍѤ¤¤ë (¸ºß¤¹¤ë¾ì¹ç) ¡£
o
¥­¥ã¥Ã¥·¥å¥Õ¥¡¥¤¥ë /etc/ld.so.cache ¤òõ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ (ld.so.conf ¤ÇÄɲûØÄꤵ¤ì¤¿¤â¤Î¤â´Þ¤á¤¿) ¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤«¤é ¸«¤Ä¤«¤Ã¤¿¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò½¸¤á¤¿¤â¤Î¤Ç¤¢¤ë¡£ ¤¿¤À¤·¥Ð¥¤¥Ê¥ê¤¬¥ê¥ó¥«¥ª¥×¥·¥ç¥ó -z nodeflib ¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥é¥¤¥Ö¥é¥ê¥Ñ¥¹¤Ë¤¢¤ë ¥é¥¤¥Ö¥é¥ê¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤ë¡£
o
¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¤Ç¤¢¤ë /lib¡¢ ¼¡¤¤¤Ç /usr/lib ¤òÍѤ¤¤ë¡£ ¥Ð¥¤¥Ê¥ê¤¬¥ê¥ó¥«¥ª¥×¥·¥ç¥ó -z nodeflib ¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥¹¥Æ¥Ã¥×¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤ë¡£

¥ª¥×¥·¥ç¥ó

--list
Á´¤Æ¤Î°Í¸´Ø·¸¤È¤½¤Î²ò·èË¡¤ò¥ê¥¹¥È¤¹¤ë¡£
--verify
¥×¥í¥°¥é¥à¤¬Æ°Åª¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤È¡¢ ưŪ¥ê¥ó¥«¤¬¤½¤Î¥×¥í¥°¥é¥à¤ò°·¤¨¤ë¤«¤ò¸¡¾Ú¤¹¤ë¡£
--library-path PATH
LD_LIBRARY_PATH ´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¾å½ñ¤­¤¹¤ë (²¼µ­»²¾È)¡£
--ignore-rpath LIST
LIST ¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È̾¤Î RPATH ¤È RUNPATH ¤Î¾ðÊó¤ò̵»ë¤¹¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï glibc ¤Ç¤Ï 1 »þ´Ö¤Û¤É¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤¿¤¬¡¢ °Ê²¼¤Î̾Á°¤ËÊѹ¹¤µ¤ì¤¿¡£
--inhibit-rpath LIST

´Ä¶­ÊÑ¿ô

4 ¤Ä¤Î½ÅÍפʴĶ­ÊÑ¿ô¤¬¤¢¤ë¡£
LD_LIBRARY_PATH
¥³¥í¥ó¶èÀÚ¤ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¥ê¥¹¥È¡£ ¼Â¹Ô»þ¤Ë ELF ¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¡£ PATH ´Ä¶­ÊÑ¿ô¤ÈƱ¤¸¤è¤¦¤Ë»ØÄꤹ¤ë¡£
LD_PRELOAD
¥¹¥Ú¡¼¥¹¶èÀÚ¤ê¤Ç ELF ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò»ØÄꤹ¤ë¡£ ¤³¤ì¤Ï¥æ¡¼¥¶¡¼¤¬»ØÄê¤Ç¤­¡¢¤¹¤Ù¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤ËÀèΩ¤Ã¤Æ¥í¡¼¥É¤µ¤ì¤ë¡£ ¾¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¤¢¤ë´Ø¿ô¤òÁªÂòŪ¤ËÃÖ¤­´¹¤¨¤ë¤¿¤á¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ set-user-ID/set-group-ID ¤µ¤ì¤¿ ELF ¥Ð¥¤¥Ê¥ê¤ËÂФ·¤Æ¡¢ ɸ½àŪ¤Ê¸¡º÷¥Ñ¥¹¤Ë¤¢¤ë¥é¥¤¥Ö¥é¥ê¤Î¤¦¤Á set-user-ID ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¥í¡¼¥É¤·¤Ê¤¤¡£
LD_BIND_NOW
(libc5; glibc 2.1.1 °Ê¹ß) ¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢ ưŪ¥ê¥ó¥«¤Ï¥×¥í¥°¥é¥à¤Î³«»Ï»þ¤ËÁ´¤Æ¤Î¥·¥ó¥Ü¥ë¤ò²ò·è¤¹¤ë¡£ ¶õʸ»úÎó¤Î¾ì¹ç¡¢²ò·è¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤´Ø¿ô¸Æ¤Ó½Ð¤·¤¬ ºÇ½é¤Ë»²¾È¤µ¤ì¤¿»þÅÀ¤Ç²ò·è¤¹¤ë¡£ ¥Ç¥Ð¥Ã¥¬¤ò»È¤Ã¤Æ¤¤¤ë¤È¤­¤ËÌòΩ¤Ä¡£
LD_TRACE_LOADED_OBJECTS
(ELF ¤Î¤ß) ¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢ ¥×¥í¥°¥é¥à¤òÉáÄ̤˼¹Ԥ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ ldd(1) ¤ò¼Â¹Ô¤·¤¿¤È¤­¤Î¤è¤¦¤ËưŪ¥é¥¤¥Ö¥é¥ê¤Î°Í¸´Ø·¸¤ò¥ê¥¹¥Èɽ¼¨¤µ¤»¤ë¡£

¤½¤·¤Æ¡¢¤½¤ì¤Û¤ÉÃΤé¤ì¤Æ¤¤¤Ê¤¤´Ä¶­ÊÑ¿ô¤â¤¢¤ë¡£ ¿¤¯¤ÏÇѤì¤Æ¤·¤Þ¤Ã¤¿¤â¤Î¤«ÆâÉô¤Ç¤Î¤ß»ÈÍѤµ¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¤¢¤ë¡£

LD_WARN
(ELF ¤Î¤ß)(glibc 2.1.3 °Ê¹ß) ¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¡¢²ò·è¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤¬¤¢¤ì¤Ð·Ù¹ð¤ò½Ð¤¹¡£
LD_NOWARN
(a.out ¤Î¤ß)(libc5) a.out ¥é¥¤¥Ö¥é¥ê¤Ë¤ª¤±¤ë¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÎÈó¸ß´¹¤Ë ÂФ¹¤ë·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤¹¤ë¡£
LD_BIND_NOT
(glibc 2.1.95 °Ê¹ß) ¥·¥ó¥Ü¥ë¤ò²ò·è¤·¤¿¸å¡¢GOT (global offset table) ¤È PLT (procedure linkage table) ¤ò¹¹¿·¤·¤Ê¤¤¡£
LD_DEBUG
(glibc 2.1 °Ê¹ß) ưŪ¥ê¥ó¥«¤Î¾ÜºÙ¤Ê¥Ç¥Ð¥Ã¥°¾ðÊó¤ò½ÐÎϤ¹¤ë¡£ all ¤ËÀßÄꤷ¤¿¾ì¹ç¡¢Á´¤Æ¤ÎưŪ¥ê¥ó¥«¤¬»ý¤Ä¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë¡£ help ¤ËÀßÄꤷ¤¿¾ì¹ç¡¢¤³¤Î´Ä¶­ÊÑ¿ô¤Ç»ØÄꤵ¤ì¤ë¥«¥Æ¥´¥ê¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨¤¹¤ë¡£
LD_DEBUG_OUTPUT
(glibc 2.1 °Ê¹ß) LD_DEBUG ¤Î½ÐÎϤò½ñ¤­¹þ¤à¥Õ¥¡¥¤¥ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ïɸ½à½ÐÎϤǤ¢¤ë¡£ set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï¡¢ LD_DEBUG_OUTPUT ¤Ï̵»ë¤µ¤ì¤ë¡£
LD_VERBOSE
(glibc 2.1 °Ê¹ß) ¶õʸ»úÎó¤Ç¤Ê¤¤¾ì¹ç¤Ë¡¢ (LD_TRACE_LOADED_OBJECTS ¤òÀßÄꤹ¤ë¤«¡¢ --list ¤Þ¤¿¤Ï --verify ¥ª¥×¥·¥ç¥ó¤òưŪ¥ê¥ó¥«¤Ë»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê) ¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÌ䤤¹ç¤ï¤»¤ë¤È¡¢ ¥×¥í¥°¥é¥à¤Î¥·¥ó¥Ü¥ë¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë¡£
LD_PROFILE
(glibc 2.1 °Ê¹ß) ¥×¥í¥Õ¥¡¥¤¥ë¤ò¹Ô¤¦¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¡£
LD_PROFILE_OUTPUT
(glibc 2.1 °Ê¹ß) LD_PROFILE ¤Î½ÐÎϤò½ñ¤­¹þ¤à¥Õ¥¡¥¤¥ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ïɸ½à½ÐÎϤǤ¢¤ë¡£ set-user-ID/set-group-ID ¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ç¤Ï¡¢ LD_PROFILE_OUTPUT ¤Ï̵»ë¤µ¤ì¤ë¡£
LD_AOUT_LIBRARY_PATH
(libc5) a.out ¥Ð¥¤¥Ê¥ê¤Ë¤Î¤ß»È¤ï¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¡¢ LD_LIBRARY_PATH ¤ÈƱ¤¸Ìò³ä¤ò¤¹¤ë¡£ ld-linux.so.1 ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï LD_ELF_LIBRARY_PATH ¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¡£
LD_AOUT_PRELOAD
(libc5) a.out ¥Ð¥¤¥Ê¥ê¤Ë¤Î¤ß»È¤ï¤ì¤ë´Ä¶­ÊÑ¿ô¤Ç¡¢ LD_PRELOAD ¤ÈƱ¤¸Ìò³ä¤ò¤¹¤ë¡£ ld-linux.so.1 ¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï LD_ELF_PRELOAD ¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¡£
LD_SHOW_AUXV
(glibc 2.1 °Ê¹ß) ¥«¡¼¥Í¥ë¤«¤éÅϤµ¤ì¤ëÊä½õŪ¤Ê (¥Ñ¥é¥á¡¼¥¿¤Î) ÇÛÎó¤òɽ¼¨¤¹¤ë¡£
LD_HWCAP_MASK
(glibc 2.1 °Ê¹ß) ¥Ï¡¼¥É¥¦¥§¥¢µ¡Ç½¤Î¥Þ¥¹¥¯¡£
LD_ORIGIN_PATH
(glibc 2.1 °Ê¹ß) ¥Ð¥¤¥Ê¥ê¤Ø¤Î¥Ñ¥¹ (set-user-ID ¤µ¤ì¤Æ¤¤¤Ê¤¤¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ)¡£
LD_DYNAMIC_WEAK
(glibc 2.1.19 °Ê¹ß) ¾å½ñ¤­¤µ¤ì¤ë¼å¤¤¥·¥ó¥Ü¥ë (ÀΤΠglibc ¤ÎµóÆ°¤òµÕ¤Ë¤¹¤ë)¡£
LD_KEEPDIR
(a.out ¤Î¤ß)(libc5) ¥í¡¼¥É¤¹¤ë a.out ¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤Ë¤ª¤¤¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò̵»ë¤·¤Ê¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÍѤ¤¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
LDD_ARGV0
(libc5) ldd(1) ¤Î°ú¤­¿ô¤¬¤Ê¤¤¾ì¹ç¤Ë¡¢ argv[0] ¤È¤·¤Æ»È¤ï¤ì¤ëÃÍ¡£

¥Õ¥¡¥¤¥ë

/lib/ld.so
a.out ¤ÎưŪ¥ê¥ó¥«/¥í¡¼¥À
/lib/ld-linux.so.{1,2}
ELF ¤ÎưŪ¥ê¥ó¥«/¥í¡¼¥À
/etc/ld.so.cache
¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò½¸¤á¤¿¥ê¥¹¥È¤È¡¢ ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¸õÊä¤ÎÀ°Îó¥ê¥¹¥È¤ò´Þ¤à¥Õ¥¡¥¤¥ë¡£
/etc/ld.so.preload
¥×¥í¥°¥é¥à¤ÎÁ°¤Ë¥í¡¼¥É¤¹¤Ù¤­ ELF ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò ¥¹¥Ú¡¼¥¹¤Ç¶èÀڤ俥ꥹ¥È¤¬½ñ¤«¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡£
lib*.so*
¶¦Í­¥é¥¤¥Ö¥é¥ê

Ãí°Õ

ld.so ¤Îµ¡Ç½¤Ï libc ¤Î¥Ð¡¼¥¸¥ç¥ó 4.4.3 °Ê¾å¤òÍѤ¤¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ ¼Â¹Ô¥Õ¥¡¥¤¥ë¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ë¡£ ELF ¤Îµ¡Ç½¤Ï Linux 1.1.52 °Ê¹ß¤È libc5 °Ê¹ß¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ë¡£

´ØÏ¢¹àÌÜ

ldd(1), ldconfig(8)