.\" -*- coding: UTF-8 -*- .\" Copyright 1995-2000 David Engel (david@ods.com) .\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) .\" Copyright 2000 Ben Collins (bcollins@debian.org) .\" Redone for glibc 2.2 .\" Copyright 2000 Jakub Jelinek (jakub@redhat.com) .\" Corrected. .\" and Copyright (C) 2012, 2016, Michael Kerrisk .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ldd 1 "5. Februar 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG ldd \- Abhängigkeiten von Laufzeit\-Bibliothek ausgeben .SH ÜBERSICHT .nf \fBldd\fP [\fIOption\fP]… \fIDatei\fP… .fi .SH BESCHREIBUNG \fBldd\fP gibt die Laufzeit\-Bibliotheken (dynamischen Bibliotheken) aus, die von jedem auf der Befehlszeile angegebenen Programm oder jeder Laufzeit\-Bibliothek benötigt werden. Eine beispielsweise Verwendung und Ausgabe ist folgende: .PP .in +4n .EX $ \fBldd /bin/ls\fP 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) .EE .in .PP .\" Im Normalfall ruft \fBldd\fP den dynamischen Linker (siehe \fBld.so\fP(8)) mit auf 1 gesetzter Umgebungsvariablen \fBLD_TRACE_LOADED_OBJECTS\fP auf. Dadurch untersucht der dynamische Linker die dynamischen Abhängigkeiten des Programms und findet (entsprechend der in \fBld.so\fP(8) beschriebenen Regeln) die Objekte, die diese Abhängigkeiten erfüllen und lädt sie. Für jede Abhängigkeit zeigt \fBldd\fP den Ort des passenden Objektes und die (hexadezimale) Adresse an, an der es geladen wird. (Die dynamischen Bibliotheken \fIlinux\-vdso\fP und \fIld\-linux\fP sind besonders; siehe \fBvdso\fP(7) und \fBld.so\fP(8).) .SS Sicherheit .\" The circumstances are where the program has an interpreter .\" other than ld-linux.so. In this case, ldd tries to execute the .\" program directly with LD_TRACE_LOADED_OBJECTS=1, with the .\" result that the program interpreter gets control, and can do .\" what it likes, or pass control to the program itself. .\" Much more detail at .\" http://www.catonmat.net/blog/ldd-arbitrary-code-execution/ .\" Mainline glibc's ldd allows this possibility (the line .\" try_trace "$file" .\" in glibc 2.15, for example), but many distro versions of .\" ldd seem to remove that code path from the script. .\" glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c Beachten Sie, dass unter bestimmten Bedingungen (z.B. wenn das Programm einen von \fIld\-linux.so\fP verschiedenen ELF\-Interpreter festlegt) einige Versionen von \fBldd\fP versuchen könnten, die Abhängigkeitsinformationen zu erhalten, indem sie versuchen, das Programm direkt ausführen, was dazu führen könnte, dass beliebiger, im ELF\-Interpreter des Programms und möglicherweise sogar im Programm selbst vorhandener Code ausgeführt wird. (Vor Glibc 2.27 hat die Implementierung von \fBldd\fP der Originalautoren dies beispielsweise selbst durchgeführt, wobei allerdings die meisten Distributionen eine veränderte Version bereitstellten, die dies nicht machte.) .PP Daher sollten Sie \fIniemals\fP \fBldd\fP auf nicht vertrauenswürdigen Programmen anwenden, da dies zur Ausführung beliebigen Codes führen könnte. Eine sichere Alternative für unvertrauenswürdige Programme ist: .PP .in +4n .EX $ \fBobjdump \-p /Pfad/zu/Programm | grep NEEDED\fP .EE .in .PP Beachten Sie allerdings, dass diese Alternative nur die direkten Abhängigkeiten des Progamms zeigt, während \fBldd\fP den gesamten Abhängigkeitsbaum des Programms zeigt. .SH OPTIONEN .TP \fB\-\-version\fP Gibt die Versionsnummer von \fBldd\fP aus. .TP \fB\-v\fP, \fB\-\-verbose\fP Gibt alle Informationen aus, schließt beispielsweise Symbolversionierungsinformationen mit ein. .TP \fB\-u\fP, \fB\-\-unused\fP Gibt alle unbenutzten direkten Abhängigkeiten aus. (Seit Glibc 2.3.4.) .TP \fB\-d\fP, \fB\-\-data\-relocs\fP Führt Umplatzierungen durch und berichtet alle fehlenden Objekte (nur ELF). .TP \fB\-r\fP, \fB\-\-function\-relocs\fP Führt Umplatzierungen für sowohl Datenobjekte als auch Funktionen durch und berichtet alle fehlenden Objekte oder Funktionen (nur ELF). .TP \fB\-\-help\fP .\" .SH NOTES .\" The standard version of .\" .B ldd .\" comes with glibc2. .\" Libc5 came with an older version, still present .\" on some systems. .\" The long options are not supported by the libc5 version. .\" On the other hand, the glibc2 version does not support .\" .B \-V .\" and only has the equivalent .\" .BR \-\-version . .\" .LP .\" The libc5 version of this program will use the name of a library given .\" on the command line as-is when it contains a \[aq]/\[aq]; otherwise it .\" searches for the library in the standard locations. .\" To run it .\" on a shared library in the current directory, prefix the name with "./". Hinweise zur Verwendung. .SH FEHLER \fBldd\fP funktioniert mit dynamischen Bibliotheken im Format a.out nicht. .PP .\" .SH AUTHOR .\" David Engel. .\" Roland McGrath and Ulrich Drepper. \fBldd\fP funktioniert mit einigen extrem alten a.out\-Programmen nicht, die gebaut wurden, bevor die Unterstützung von \fBldd\fP zu den Compiler\-Veröffentlichungen hinzugefügt wurde. Falls Sie \fBldd\fP mit einem dieser Programme verwenden, wird das Programm versuchen, sich mit \fIargc\fP = 0 auszuführen und die Ergebnisse werden nicht vorhersehbar sein. .SH "SIEHE AUCH" \fBpldd\fP(1), \fBsprof\fP(1), \fBld.so\fP(8), \fBldconfig\fP(8) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .