Научете как да управлявате зависимостите, като използвате командата ldd, за да администрирате по-добре вашата Linux машина и инсталираните пакети.

Управлението на зависимости е неразделна част от поддръжката на вашата Linux система. Софтуерът е сложен и разчита на множество споделени библиотеки и файлове. Понякога става трудно да се следят файловете, изисквани от приложението.

Тук влиза в действие командата ldd на Linux. ldd е находчив инструмент за команден ред за проследяване на зависимостите на споделените обекти, изисквани от приложението.

Нека научим как можете да използвате командата ldd в своя полза и да станете професионалист в управлението на зависимостите на Linux!

Какво представляват зависимостите от пакети?

Софтуерът не е просто самостоятелен изходен код, а по-скоро комбинация от естествен изходен код и заимстван код от външни библиотеки. Когато тези библиотеки и други споделени обекти липсват от вашата система, приложение, което зависи от тях, може да работи неправилно или направо да откаже дори да се стартира.

instagram viewer

Всички тези споделени файлове, пакети, библиотеки и т.н. се наричат ​​кумулативно зависимости на Linux. Въпреки че тази кратка дефиниция ви дава груба представа за зависимостите, реалната картина е малко по-сложна от това и затова е важно да научите какви са зависимостите на пакета в дълбочина.

Какво представлява командата ldd и как работи?

ldd е съкращение за Списък на динамични зависимости. Както подсказва името, ldd изброява всички споделени обекти, изисквани от приложението.

Работи чрез извикване на динамичния линкер със специално зададен променливи на средата. Когато стартирате ldd с местоположението на двоичен файл, той връща изход, съдържащ списъка със зависимости, тяхното местоположение и шестнадесетична стойност, представяща къде в паметта са заредени.

Намиране на зависимости на споделен обект с командата ldd

Сега, след като вече имате ясна представа какво представлява ldd, нека се заемем практически и да научим как можете да намерите софтуерни зависимости с него.

Преди да научите как да използвате ldd, първо потвърдете дали сте го инсталирали на вашата система, като отпечатате инсталираната версия на ldd:

ldd --версия

Ако се върне грешка „команда не е намерена“., първо трябва да инсталирате ldd.

На системи, базирани на Ubuntu и Debian, изпълнете:

sudo apt инсталирайте libc-bin

За базирани на Arch дистрибуции:

sudo pacman -S glibc

На RHEL и Fedora:

sudo dnf инсталирате glibc-common

С инсталиран ldd вече можете да се съсредоточите върху това да научите как да го използвате. Ето основния синтаксис за командата ldd:

ldd двоично_местоположение

В случай, че не знаете местоположението на двоичния файл, можете да използвате един от много оператори на командния ред на Linux и комбинирайте резултата от командата which с ldd, за да намерите зависимостите за пакета:

ldd -флаг $(кое двоично_име)

Командата ldd предлага четири различни опции за промяна на изхода. Те са:

  • -v: Отпечатва подробен изход, включително допълнителна информация, като информация за версията за всяка зависимост
  • -u: Отпечатва всички неизползвани зависимости, което означава зависимости, които са заредени, но не са внедрени
  • -д: Отпечатва липсващи обекти и извършва премествания
  • -r: Отпечатва липсващи обекти и функции и извършва премествания

Управление на зависимостите на пакета в Linux

С ldd във вашия софтуерен арсенал ще можете да отстранявате проблеми, свързани със зависимостта на споделен обект с вашето приложение.

Освен това, тъй като ldd извежда и местоположението, където е заредена библиотека, вие ще можете да отстраните грешки в приложение и да разберете по-добре как е внедрена определена библиотека. ldd също отпечатва версиите на споделените библиотеки, използвани в приложението.

С помощта на тази функция можете да проверявате вашите приложения за всякакви потенциални уязвимости, свързани с остаряла версия на споделена библиотека.

Управлението на зависимостите е основно умение, което е от решаващо значение за поддържане на вашата Linux система здрава. Понякога обаче пакетът може да се повреди, въпреки че всички негови зависимости са здрави. Важно е да знаете как да намирате и поправяте счупени пакети.