ldd(1)

NAMN
ldd — skriv ut beroenden på delade objekt

SYNOPSIS
ldd [flagga …] fil …

BESKRIVNING
ldd skriver ut de delade objekt (delade bibliotek) som varje angivet program eller delat objekt på kommandoraden behöver. Ett exempel på dess användning och utdata är följande:

    $ ldd /bin/ls;
        linux-vdso.so.1 (0x00007ffcc3563000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
        /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)

I det vanliga fallet anropar ldd den normala dynamiska länkaren (se ld.so(8)) med miljövariabeln LD_TRACE_LOADED_OBJECTS satt till 1. Detta gör att den dynamiska länkaren inspekterar programmets dynamiska beroenden, och letar reda på (enligt reglerna som beskrivs i ld.so(8)) och laddar objekten som uppfyller dessa beroenden. För varje beroende visar ldd platsen för motsvarande objekt och den (hexadecimala) addressen på vilken den laddas. (The delade beroendena linux-vdso och ld-linux är speciella; se vdso(7) och ld.so(8).)

  Säkerhet
Var medveten om att under vissa omständigheter (t.ex., då programmet specificerar en annan ELF-tolk än ld-linux.so) kan vissa versioner av ldd försöka få tag i beroendeinformationen genom att försöka att köra programmet direkt, vilket kan leda till att vilken kod som än är definierad i programmets ELF-tolk körs, och kanske till att programmet själv körs. (Före glibc 2.27 gjorde uppströmsimplementationen av ldd det till exempel, även om de flesta distributioner tillhandahöll en modifierad version som inte gjorde det.)

Alltså skall man aldrig använda ldd på en ej betrodd körbar, eftersom detta kan resultera i körningen av godtycklig kod. Ett säkrare alternativ när man har att göra med obetrodda körbara är:

    $ objdump -p /sökväg/till/program | grep NEEDED;

Observera dock att detta alternativ endast visar den körbaras direkta beroenden, medan ldd visar den körbaras hela beroendeträd.

FLAGGOR

--version
    Skriv ldd:s versionsnummer.

--verbose
-v
    Skriv all information, inklusive, till exempel, symbolversionsinformation.

--unused
-u
    Skriv oanvända direkta beroenden. (Sedan glibc 2.3.4.)

--data-relocs
-d
    Utför omlokaliseringar och rapportera om några objekt saknas (endast ELF).

--function-relocs
-r
    Utför omlokaliseringar av både dataobjekt och funktioner, och rapportera om några objekt eller funktioner saknas (endast ELF).

--help
    Användningsinformation:

FEL
ldd fungerar inte på delade a.out-bibliotek.

ldd fungerar inte med några extremt gamla a.out-program vilka byggdes före stöd för ldd lades till till kompilatorutgåvor. Om man använder ldd på ett av dessa program kommer programmet att försöka köra med argc = 0 och resultatet kommer vara oförutsägbart.

SE ÄVEN
pldd(1), sprof(1), ld.so(8), ldconfig(8)

ÖVERSÄTTNING
Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>

Denna översättning är fri dokumentation; läs GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.

Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.