Что такое зависимости пакетов в Linux?

Linux

Возможно, вы слышали о зависимостях пакетов в Linux и задавались вопросом, что это такое. Зависимости могут показаться запутанными, но в Linux есть инструменты, которые гарантируют, что каждая устанавливаемая вами программа имеет все необходимые компоненты.

Давайте разберемся с зависимостями Linux и их влиянием на управление пакетами в Linux.


Программы для Linux состоят из блоков программного обеспечения



Зависимости Linux — это просто вещи, которые необходимы программе для запуска. Это связано с тем, что разработчики Linux склонны писать программы модульным способом. Это «философии Unix» создания программ из более мелких компонентов.

Зависимости обычно являются разделяемыми библиотеками. Они могут быть для таких вещей, как доступ к базам данных, использование сетевых протоколов или рисование графических элементов на экране. Хотя проприетарные программы также используют общие библиотеки, это проще сделать в мире Linux, поскольку они обычно имеют открытый исходный код.

Зависимости также могут быть полными программами. Распространенным шаблоном в мире Linux является создание внешнего интерфейса с графическим интерфейсом для существующей программы командной строки.

Использование разделяемых библиотек упрощает разработку, поскольку разработчикам не нужно придумывать новые способы работы каждый раз, когда они хотят создать новое приложение.


Как менеджеры пакетов упрощают установку программного обеспечения Linux


Вы можете загрузить исходный код с веб-сайта программы с открытым исходным кодом и попытаться скомпилировать его самостоятельно, но вы часто будете видеть ошибку, указывающую на то, что чего-то не хватает. Это связано с тем, что эти проекты не включают в свою программу никаких зависимостей. Они предполагают, что вы либо уже установили их, либо готовы это сделать.

Это прекрасно работало в эпоху оригинальной Unix, которая работала на мини-компьютерах и мэйнфреймах с выделенным административным персоналом, но когда Linux стала популярной на ПК, по-старому было трудно управлять одиноким пользователям, у которых, возможно, не было большого количества ресурсов. Опыт Unix.

Статьи по теме


Дистрибутивы Linux начали включать инструменты управления пакетами, которые отслеживали зависимости, загружали их через Интернет, устанавливали и обновляли при выходе новых версий.

Flatpak и Snap — это последние попытки управлять зависимостями, поставляя их вместе с приложением. Таким образом, зависимости и приложение могут быть лучше синхронизированы. Разработчики имеют больший контроль над тем, как приложение будет вести себя, когда оно попадет к пользователю.


Как увидеть зависимости пакетов в Linux


Веб-сайты пакетов дистрибутивов Linux могут отображать любые зависимости пакетов. Вы также можете увидеть, какие зависимости имеет пакет, используя менеджеры пакетов.

В Debian или Ubuntu используйте APT:

apt show [packagename]


В Arch используйте pacman с параметром -Si. Раздел «Depends on» покажет зависимости.

pacman -Si [packagename]


В дистрибутивах Linux семейства Red Hat используйте DNF:

dnf deplist [packagename]


Теперь вы знаете о зависимостях пакетов Linux


Зависимости в Linux не сложны, они показывают, как программы для Linux строятся из более мелких компонентов. Менеджеры пакетов упрощают установку программного обеспечения, отслеживая пакеты.

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

Источник: MakeUseOf