Описание тега package-management
Система управления пакетами позволяет пользователям устанавливать, обновлять, удалять и получать информацию о программном обеспечении, установленном в системе. Поскольку во многих программах используются общие библиотеки, ключевая задача управления пакетами состоит в том, чтобы разрешить зависимости, чтобы при установке пользователем пакета также добавлялись все зависимости, а при удалении пакета удалялись зависящие от него пакеты, чтобы предотвратить их. от взлома.
Потребность в системе управления пакетами возникает из-за динамического программного обеспечения в мире 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.