.\" -*- 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 "2 maja 2024 r." "Linux man\-pages 6.8" .SH NAZWA ldd \- wyświetla zależności od obiektów dzielonych .SH SKŁADNIA .nf \fBldd\fP [\fIopcja\fP]... \fIplik\fP... .fi .SH OPIS \fBldd\fP wyświetla obiekty dzielone (biblioteki dzielone) wymagane przez każdy program lub obiekt dzielony podany w linii poleceń. Poniżej pokazano przykład użycia i wyniku działania programu: .P .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 .P .\" Zwyczajowo \fBldd\fP uruchamia standardowy konsolidator dynamiczny (patrz \fBld.so\fP(8) ze zmienną środowiska \fBLD_TRACE_LOADED_OBJECTS\fP ustawioną na 1. Powoduje to sprawdzenie przez dynamicznego konsolidatora dynamicznych zależności programu oraz odnalezienie (zgodnie z regułami opisanymi w \fBld.so\fP(8)) i załadowanie obiektów spełniających te zależności. W przypadku każdej zależności, \fBldd\fP wypisze położenie pasującego obiektu i (szesnastkowy) adres, pod którym go załadowano (zależności dzielone \fIlinux\-vdso\fP i \fIld\-linux\fP są specjalne; zob. \fBvdso\fP(7) i \fBld.so\fP(8)). .SS BEZPIECZEŃSTWO .\" 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 Należy mieć świadomość, że w niektórych sytuacjach (np. gdy program poda intepretator ELF inny niż \fIld\-linux.so\fP), niektóre wersje \fBldd\fP mogą próbować uzyskać informacje o zależnościach, uruchamiając program bezpośrednio, co może spowodować wykonanie dowolnego kodu zdefiniowanego w interpretatorze ELF programu i, być może, wykonanie samego programu (przed glibc 2.27 dokonywała tego np. implementacja \fBldd\fP od dostawcy, choć większość dystrybucji zapewniała zmodyfikowaną wersję, która tego nie czyniła). .P Dlatego \fInigdy\fP nie powinno się używać \fBldd\fP z niezaufanym programem wykonywalnym, ponieważ może to owocować wykonaniem dowolnego kodu. Bezpieczniejsza alternatywa radzenia sobie z niezaufanymi programami wykonywalnymi to: .P .in +4n .EX $ \fBobjdump \-p /ścieżka/do/programu | grep NEEDED\fP .EE .in .P Proszę zauważyć, że w ten sposób uzyskuje się jedynie bezpośrednie zależności pliku wykonywalnego, natomiast \fBldd\fP pokazuje jego całe drzewo zależności. .SH OPCJE .TP \fB\-\-version\fP Wypisuje numer wersji \fBldd\fP. .TP \fB\-\-verbose\fP .TQ \fB\-v\fP Wypisuje wszystkie informacje, włączając to na przykład informacje o wersjach symboli. .TP \fB\-\-unused\fP .TQ \fB\-u\fP Wypisuje nieużywane bezpośrednie zależności (od glibc 2.3.4). .TP \fB\-\-data\-relocs\fP .TQ \fB\-d\fP Dokonuje relokacji i zgłasza wszelkie brakujące funkcje (tylko ELF). .TP \fB\-\-function\-relocs\fP .TQ \fB\-r\fP Dokonuje relokacji zarówno dla obiektów danych, jak i funkcji i zgłasza listę nieobecnych obiektów lub funkcji (tylko 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 . .\" .P .\" 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 "./". Informacje o użyciu programu. .SH USTERKI \fBldd\fP nie działa na bibliotekach współdzielonych a.out. .P .\" .SH AUTHOR .\" David Engel. .\" Roland McGrath and Ulrich Drepper. \fBldd\fP nie zadziała z bardzo starymi programami a.out, które zostały skonsolidowane zanim dodano do kompilatora obsługę \fBldd\fP. Jeśli użyje się \fBldd\fP na jednym z tych programów, to program będzie uruchomiony z \fIargc\fP = 0, a wyniki tego będą nieprzewidywalne. .SH "ZOBACZ TAKŻE" \fBpldd\fP(1), \fBsprof\fP(1), \fBld.so\fP(8), \fBldconfig\fP(8) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Robert Luberda i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .