Meta package and package group (Русский)
Мета-пакет и группа пакетов могут определяться мейнтейнером для обозначения связанных пакетов. Оба подхода позволяют устанавливать и удалять набор пакетов используя название мета-пакета или группы вместо имени каждого пакета. Не смотря на то, что группа не является пакетом, её всё равно можно установить похожим способом, смотрите pacman (Русский)#Установка группы пакетов и PKGBUILD (Русский)#groups.
Разница между мета-пакетом и группой пакетов
Разница между мета-пакетом и обычным пакетом заключается в том, что мета-пакет является пустым и существует лишь для связывания пакетов при помощи зависимостей. Мета-пакет, часто (но не всегда) имеющий суффикс "-meta", имеет схожую функциональность с группой пакетов — он позволяет одновременно устанавливать или удалять несколько связанных пакетов.
У каждого подхода есть свои преимущества и недостатки:
Мета-пакет:
- Мета-пакеты устанавливаются так же, как и другие пакеты (см. pacman (Русский)#Установка отдельных пакетов).
- Мета-пакеты удаляются так же, как и другие пакеты (см. pacman (Русский)#Удаление пакетов).
- Любой новый пакет будет автоматически установлен при обновлении самого мета-пакета с новым списком зависимостей.
- Пользователи не могут выбирать отдельные зависимости для установки из мета-пакета.
- Пользователи не могут удалять зависимости мета-пакета без удаления самого мета-пакета.
Группа:
- Группы пакетов запрашивают выбор необходимых для установки пакетов (см. pacman (Русский)#Установка группы пакетов).
- Пользователи не могут удалить группу, так как устанавливается список пакетов.
- Новый пакет, добавленный в группу, не будет автоматически установлен в систему.
- Пользователи могут выбирать пакеты для установки из определённой группы.
- Пользователи могут удалять пакеты без необходимости удаления целой группы.
Мета-пакеты
Наиболее важный мета-пакет — base. Он содержит минимальный набор пакетов, определяющий базовую установку Arch, в том числе:
- Основное ПО, например, glibc и bash
- Специфические для дистрибутива пакеты, например, pacman и systemd
- Некоторые POSIX-утилиты, например, базовые утилиты, утилиты для работы с процессами, файлами и сжатием файлов
- Сетевой инструментарий, например, iproute2
Ядро относится к опциональным зависимостям. См. объявление изменения (англ.) и причины замены группы base на мета-пакет (англ.).
Группы
Наиболее важная группа пакетов — base-devel. Она содержит такие утилиты, как GCC и make, требующиеся для сборки многих пакетов. Смотрите также: makepkg (Русский)#Использование.