Вопросы по управлению программными пакетами, в частности системами APT и dpkg.

Система управления пакетами позволяет пользователям устанавливать, обновлять, удалять и получать информацию о программном обеспечении, установленном в системе. Поскольку во многих программах используются общие библиотеки, ключевая задача управления пакетами состоит в том, чтобы разрешить зависимости, чтобы при установке пользователем пакета также добавлялись все зависимости, а при удалении пакета удалялись зависящие от него пакеты, чтобы предотвратить их. от взлома.

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

Ubuntu унаследовала систему управления пакетами Debian, состоящую из dpkg , утилиты более низкого уровня, которая устанавливает и удаляет пакеты и проверяет зависимости во время установки, и APT (Advanced Package Tool ), которая полностью разрешает зависимости путем поиска необходимых пакетов и получения обновлений. Пользователи могут использовать команды apt и dpkg для запроса и обновления базы данных программного обеспечения, имеющегося в репозиториях и установленного в системе, для установки или удаления программного обеспечения и обновления установленных пакетов, а также для очистки устаревших программ. Графические интерфейсы для системы APT также присутствуют во всех версиях и вариантах Ubuntu.

В дополнение к использованию репозиториев Ubuntu, APT может управлять программным обеспечением из внешних репозиториев, добавленных пользователями, такими как PPA. Обычно репозитории Ubuntu указываются в /etc/apt/sources.list, а внешние источники - в файлах в /etc/apt/sources.list.d

. Пользователи могут также устанавливать .deb пакеты из других источников, используя dpkg и его графический интерфейс Gdebi. [1114 ]

Программное обеспечение также может быть скомпилировано из исходного кода. Разработчики обычно предоставляют сценарии с исходным кодом для настройки среды сборки, проверяющей зависимости (которую пользователь должен решить путем установки большего количества пакетов), но после установки пакет не будет известен dpkg, поэтому его необходимо поддерживать, обновлять и удален пользователем. То же самое верно для предварительно скомпилированных двоичных файлов или скриптов, размещенных в системе пользователем напрямую.

Разрешение зависимостей всегда является проблемой. В 16.04 Ubuntu представила инновационные пакеты snap , которые полностью обошли проблему; вместо использования общих библиотек они упаковываются и устанавливаются со всеми их зависимостями. Использование разделяемых библиотек более эффективно с точки зрения хранения, поэтому оснастки занимают больше места.

Для получения дополнительной информации см. раздел управления пакетами вики Debian и ссылки там на Справочное руководство по Debian.