Naucz się zarządzania zależnościami za pomocą polecenia ldd, aby lepiej administrować maszyną z systemem Linux i zainstalowanymi pakietami.
Zarządzanie zależnościami jest integralną częścią utrzymania systemu Linux. Oprogramowanie jest złożone i opiera się na wielu współdzielonych bibliotekach i plikach. Czasami trudno jest śledzić pliki wymagane przez aplikację.
W tym miejscu pojawia się polecenie ldd w systemie Linux. ldd to pomysłowe narzędzie wiersza poleceń do śledzenia współdzielonych zależności obiektów wymaganych przez aplikację.
Dowiedzmy się, jak możesz wykorzystać polecenie ldd na swoją korzyść i stać się profesjonalistą w zarządzaniu zależnościami w systemie Linux!
Czym są zależności pakietów?
Oprogramowanie to nie tylko samodzielny kod źródłowy, ale raczej połączenie natywnego kodu źródłowego i kodu pożyczonego z zewnętrznych bibliotek. Gdy w systemie brakuje tych bibliotek i innych współdzielonych obiektów, zależna od nich aplikacja może działać nieprawidłowo lub odmówić nawet uruchomienia.
Wszystkie te udostępnione pliki, pakiety, biblioteki itp. są łącznie nazywane zależnościami w systemie Linux. Chociaż ta krótka definicja daje ogólne pojęcie o zależnościach, rzeczywisty obraz jest nieco bardziej złożony i dlatego ważne jest, aby się uczyć jakie są zależności pakietów dogłębnie.
Co to jest polecenie ldd i jak działa?
ldd to skrót od listy dynamicznych zależności. Jak sama nazwa wskazuje, ldd wyświetla listę wszystkich współdzielonych obiektów wymaganych przez aplikację.
Działa poprzez wywołanie dynamicznego linkera ze specjalnie ustawionym Zmienne środowiska. Gdy uruchomisz ldd z lokalizacją pliku binarnego, zwróci ono dane wyjściowe zawierające listę zależności, ich lokalizację oraz wartość szesnastkową reprezentującą miejsce w pamięci, w którym są ładowane.
Wyszukiwanie współdzielonych zależności obiektów za pomocą polecenia ldd
Teraz, gdy masz już jasne pojęcie o tym, o co chodzi w ldd, przejdźmy do praktycznego działania i nauczmy się, jak znaleźć w nim zależności programowe.
Zanim nauczysz się korzystać z ldd, najpierw potwierdź, czy masz go zainstalowanego w systemie, drukując zainstalowaną wersję ldd:
ldd --wersja
Jeśli wróci błąd „nie znaleziono polecenia”., musisz najpierw zainstalować ldd.
W systemach opartych na Ubuntu i Debianie uruchom:
sudo apt zainstaluj libc-bin
W przypadku dystrybucji opartych na Arch:
sudo pacman -S glibc
W RHEL i Fedorze:
sudo dnf zainstaluj glibc-common
Po zainstalowaniu ldd możesz teraz skupić się na nauce korzystania z niego. Oto podstawowa składnia polecenia ldd:
ldd lokalizacja_binarna
Jeśli nie znasz lokalizacji pliku binarnego, możesz skorzystać z jednego z nich wielu operatorów linii poleceń Linuksa i połącz dane wyjściowe polecenia what z ldd, aby znaleźć zależności dla pakietu:
ldd -flag $(który plik binarny_nazwa)
Komenda ldd oferuje cztery różne opcje modyfikacji danych wyjściowych. Oni są:
- -v: Drukuje szczegółowe dane wyjściowe, w tym dodatkowe informacje, takie jak informacje o wersji dla każdej zależności
- -u: Wyświetla wszystkie nieużywane zależności, czyli zależności, które są załadowane, ale nie są zaimplementowane
- -D: Drukuje brakujące obiekty i wykonuje relokacje
- -R: Drukuje brakujące obiekty i funkcje oraz wykonuje relokacje
Zarządzanie zależnościami pakietów w systemie Linux
Mając ldd w swoim arsenale oprogramowania, będziesz w stanie rozwiązywać problemy związane z współdzielonymi obiektami w aplikacji.
Co więcej, ponieważ ldd wyświetla również lokalizację, w której załadowana jest biblioteka, będziesz w stanie debugować aplikację i lepiej zrozumieć, w jaki sposób dana biblioteka jest implementowana. ldd wypisuje również wersje bibliotek współdzielonych używanych w aplikacji.
Korzystając z tej funkcji, możesz skontrolować swoje aplikacje pod kątem potencjalnych luk w zabezpieczeniach związanych z przestarzałą wersją biblioteki współdzielonej.
Zarządzanie zależnościami to podstawowa umiejętność, która ma kluczowe znaczenie dla utrzymania dobrego stanu systemu Linux. Jednak czasami pakiet może się zepsuć, mimo że wszystkie jego zależności są zdrowe. Ważne jest, aby wiedzieć, jak znaleźć i naprawić uszkodzone pakiety.