Я слышал, что некоторые пакеты классифицируются как метапакет . Так что теперь мне интересно, в чем разница между метапакетом и пакетом?
Эти пакеты не содержат реального программного обеспечения, они просто зависят от других устанавливаемых пакетов.
Важно заметить, что удаление мета-пакета НЕ удаляет установленные им пакеты:
когда мета-пакет автоматически удаляется путём удаления или очистки любого из них, или более, от лежащих в его основе зависимостей, все остальные пакеты, которые были в списке зависимостей мета-пакета, всё ещё устанавливаются в системе.
Вы можете посмотреть на структуру типичного мета-пакета, потянув (например) ubuntu-desktop:
apt-get source ubuntu-desktop
и затем, посмотрев на структуру, вы найдёте список пакетов, рекомендованных каждым мета-пакетом, а также структуру, в которой всё это собрано в debian/rules
.
Ссылки:
Метапакеты являются связующим звеном с существующим пакетом или пакетами. Поэтому, по сути, это скрипт, который устанавливает другие пакеты. Они сохраняют пакеты в виде зависимостей
Eg: пакет ubuntu-desktop
устанавливает все пакеты, необходимые для стандартного пользовательского интерфейса для ubuntu. Но удаление того же самого не удаляет его зависимости
Мета-пакет подтягивает другие пакеты, и по определению больше ничего делать не должен.
Пакет обычно имеет некоторое содержимое (файлы, приложения, документация, скрипт или что-то подобное).
Проще говоря, в мета-пакете нет ничего, кроме пустых документов. Единственное, что у него есть - это метаданные, а это значит, что у него могут быть зависимости, конфликты и т.д...
Метапакет не является вашим обычным пакетом. Это способ всегда устанавливать последние пакеты программного обеспечения. Например, в метапакете ubuntu emacs всегда устанавливается последняя доступная версия emacs.