jak używać polecenia LDD w Linuksie

zastanawiasz się, jak używać polecenia LDD w Linuksie?

Linux oferuje dużą elastyczność, ponieważ pozwala dostosować system do Twoich potrzeb. Oznacza to, że możesz łatwo obsługiwać swój system za pośrednictwem terminala. Co więcej, możesz kontrolować różne parametry i sprawdzać pliki udostępniane i używane przez różne programy w systemie.

jedno polecenie, w szczególności, pozwala rozpoznać biblioteki używane przez dany program pod kontrolą. Jest to komenda LDD opracowana przez Rolanda McGratha i Ulricha Dreppera.

LDD (List Dynamic Dependencies) ułatwia użytkownikowi identyfikację zależności bibliotek, które są udostępniane w różnych plikach wykonywalnych.

ten przewodnik pomoże Ci nauczyć się używać polecenia LDD w Linuksie.

więc bez zbędnych ceregieli, zaczynajmy!

typy bibliotek.

Biblioteka jest dobrze zdefiniowanym zestawem funkcji, obiektów, zmiennych, klas, specyfikacji typów, warunków i podprogramów, które dyktują operacje na plikach i programach, bez konieczności utrzymywania kodu źródłowego.

istnieją trzy typy bibliotek:

  1. biblioteki dynamiczne: są to biblioteki używane przez programy skompilowane na mniejszą skalę. Jak sama nazwa wskazuje, jest on ładowany dynamicznie w momencie wykonania, więc jedna kopia jest dynamicznie używana do uruchamiania wielu programów.

zmniejsza to zużycie pamięci, zmniejszając tym samym rozmiar programu i poprawiając wydajność. Zwykle mają rozszerzenia” .so“.

  1. Biblioteki statyczne: te biblioteki są używane przez kompletne programy. Łączą one programy bez rekompilacji kodu źródłowego, oszczędzając w ten sposób czas. Biblioteki te są oddzielnie zawarte w plikach programu, które wymagają jego funkcji. Po nich zwykle następuje rozszerzenie “.a“.
  2. biblioteki współdzielone: są to indywidualnie zainstalowane biblioteki, które są automatycznie używane przez programy na raty. Mogą one nadpisać określone części istniejącej biblioteki, gdy program wykonuje określone zadania. Ponadto mogą być używane w czasie wykonywania z naszym kodem lub programem.

większość plików wykonywalnych, których używamy na co dzień, zawiera biblioteki współdzielone. Polecenie LDD wyświetla zależności bibliotek dynamicznych. Biblioteki te są ponownie wykorzystywane i współdzielone między programami, aby ułatwić ich rozwój i zmniejszyć ich rozmiar i obciążenie pamięci komputera.

w Linuksie pliki te są w formie rozszerzenia “.so” i są przechowywane w /usr/lib*lub po prostu /lib*.

róşne dystrybucje systemĂłw Linuksowych mogÄ … zapakowaÄ ‡ inny zestaw bibliotek dla programu, dziaĹ ‘ ajÄ … c inaczej na róşnych wersjach systemu operacyjnego. Gdy biblioteka współdzielona programu nie jest dostępna w systemie, pojawia się błąd, który może wyglądać następująco:

Sudo: error while loading shared libraries: libpthread.so.0:Cannot open shared object file: no such file or directory.

następnie możemy sprawdzić biblioteki współdzielone pod kątem konkretnego programu za pomocą polecenia LDD.

instalowanie polecenia LDD.

polecenie LDD jest z natury dostępne w prawie każdej dystrybucji Linuksa. Jeśli tak nie jest, możesz użyć następującego polecenia, aby go zainstalować:

$ sudo apt-get install libc-bin

polecenie $ ldd ma następującą składnię:

$ ldd <options> <executable>

lub bardziej ogólnie:

$ ldd -v /path/to/program/executable

LDD to podstawowe, ale potężne polecenie. Oferuje pomoc i inne warianty przy użyciu różnych flag. Są one krótko opisane poniżej.

ion: aby wyświetlić aktualnie używaną wersję ldd.

-v --verbose: aby wyświetlić informacje misternie.

-u --unused: aby wyświetlić nieużywane zależności.

-d --data-relocs: aby przenieść i zidentyfikować brakujące obiekty.

-r --function-relocs: przenoszenie obiektów i funkcji danych, a także identyfikowanie brakujących funkcji lub obiektów.

-help: aby zapewnić pomoc dotyczącą użycia poleceń.

używając polecenia LDD.

po zakończeniu instalacji jesteś gotowy, aby nauczyć się używać polecenia LDD w Linuksie. Zademonstrujemy to wraz z tym, jak pomaga to zidentyfikować biblioteki współdzielone.

przyjrzymy się bibliotekom współdzielonym dla Bash, standardowej powłoki w Linuksie. Jest odpowiedzialny za wykonywanie poleceń i dostarczanie interfejsu między Użytkownikiem a systemem operacyjnym.

aby użyć polecenia LDD, wykonaj następujące kroki:

  1. zacznij od otwarcia terminala poleceń, naciskając Ctrl + Alt + T na klawiaturze.
  2. następnie znajdź ścieżkę za pomocą polecenia which lub whereis, a następnie polecenia LDD, wpisując następujące polecenie:
$ which bash$ whereis bash$ ldd /usr/bin/bash
polecenie LDD w Linuksie

jak widać, zależności biblioteki współdzielonej są widoczne. Aby uzyskać szczegółowy i bardziej skomplikowany przegląd, Użyj flagi -v z poleceniem $ ldd w następujący sposób:

$ ldd -v /usr/bin/bash
polecenie LDD w Linuksie

Podobnie, możemy użyć flagi -u, aby wyświetlić nieużywane zależności.

$ ldd -u /usr/bin/bash
-flaga u

w powyższym przypadku nie ma nieużywanych zależności. Zawsze zaleca się kontrolowanie, które biblioteki są bezczynne i zużywają pamięć. Niezastosowanie się do tego może załadować jądro z nieużywanymi plikami, co w konsekwencji utrudnia wydajność. Byłoby pomocne, aby sprawdzić nasz artykuł o tym, jak zwolnić miejsce na Ubuntu.

do relokacji danych i funkcji używamy odpowiednio znaczników -d i -r wraz z poleceniem $ ldd.

$ ldd -d /usr/bin/bash$ ldd -r /usr/bin/bash
polecenie LDD w Linuksie

flagi te pomagają również zidentyfikować brakujące obiekty i funkcje.

wreszcie, możemy użyć flagi --help do szybkiego sprawdzenia FLAG i ich odpowiednich działań.

--flaga pomocy

ograniczenia polecenia LDD.

należy zauważyć, że polecenie LDD nie będzie działać na programach, które nie są dynamicznie wykonywalne, bibliotekach współdzielonych “a.out ” lub plikach, które są przestarzałe lub zostały opracowane przed wydaniem LDD.

wreszcie, zaleca się, aby polecenia LDD nie były używane z niezaufanymi źródłami, ponieważ może to spowodować nagłe błędy i wyjątki.

strona podręcznika dla LDD sugeruje alternatywne polecenie, które składa się z narzędzi objdump i grep.

 ~/$objdump -p /path/program/grep NEEDED

LDD jest jedną z tych instrukcji, które, jeśli zostaną użyte we właściwy sposób, mogą znacząco wpłynąć na interakcję z systemem operacyjnym. Jest to potężne polecenie łączące o określonym celu i zdecydowanie zapewnia. Aby uzyskać więcej informacji na temat polecenia i jego użycia, możesz przejść do strony podręcznika dla polecenia LDD.

Leave a Reply