Описание тега package-management

Вопросы по управлению программными пакетами, в частности системами 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 и его графический интерфейс Гдеби.

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

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

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