Система управления пакетами позволяет пользователям устанавливать, обновлять, удалять и получать информацию о программном обеспечении, установленном в системе. Поскольку многие программы используют разделяемые библиотеки, ключевой задачей управления пакетами является разрешение зависимостей, чтобы при установке пакета пользователем также подтягивались любые зависимости, а при удалении пакета удалялись пакеты, зависящие от него, чтобы предотвратить их от взлома.
Потребность в системе управления пакетами возникает из-за динамичного ландшафта программного обеспечения мира 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
и его графический интерфейс -end Gdebi.
Программное обеспечение также может быть скомпилировано из исходного кода. Разработчики обычно предоставляют сценарии с исходным кодом для настройки среды сборки, проверяющей наличие зависимостей (, которые пользователь должен разрешить, установив дополнительные пакеты ), но после установки пакет не будет известен dpkg
. ], поэтому пользователь должен поддерживать, обновлять и удалять их. То же самое верно для предварительно скомпилированных двоичных файлов или скриптов, размещенных в системе пользователем напрямую.
Разрешение зависимостей всегда является проблемой. В 16.04 Ubuntu представила новшество, пакеты snap , которые полностью обходят проблему; вместо использования разделяемых библиотек они упаковываются и устанавливаются со всеми включенными зависимостями. Использование общих библиотек более эффективно с точки зрения хранения, поэтому снимки занимают больше места.
Для получения дополнительной информации см. раздел управления пакетами вики Debian и ссылки на Справочное руководство Debian.