В чем разница между метапакетом и пакетом?

27

Я слышал, что некоторые пакеты классифицируются как метапакеты . Так что теперь мне интересно, в чем разница между метапакетом и пакетом?

Нитин Венкатеш
источник
Если я могу представить, очень похожий вопрос был задан на другом канале ... ... мной.
Кодзиро
о ... я просто заглянул на сайт askubuntu.com, чтобы узнать, задавался ли вопрос раньше.
Нитин Венкатеш

Ответы:

21

Эти пакеты не содержат реального программного обеспечения, они просто зависят от других пакетов, которые будут установлены.

Важно отметить, что удаление метапакета НЕ удаляет установленные пакеты:

когда метапакет автоматически удаляется путем удаления или очистки какой-либо одной или нескольких из его базовых зависимостей, все другие пакеты, которые были в списке зависимостей метапакета, все еще устанавливаются в системе.

Вы можете посмотреть на структуру типичного метапакета, потянув (например) ubuntu-desktop:

apt-get source ubuntu-desktop

а затем, глядя на структуру, вы найдете список пакетов, которые рекомендует каждый метапакет, а также структуру, в которой все это собрано debian/rules.

Ссылки:

Хорхе Кастро
источник
1
Как насчет обновления? Если я обновлю метапакет, будут ли обновляться зависимости?
Кит Хо
Будет ли зависимость метапакета никогда не быть метапакетом?
Саджук
8

Метапакеты - это ссылки на существующие пакеты или пакеты. Таким образом, они по сути являются сценарием, который устанавливает другие пакеты. Они сохраняют пакеты как зависимости

Например: пакет ubuntu-desktopустанавливает все пакеты, необходимые для пользовательского интерфейса по умолчанию для Ubuntu. Но удаление того же не удаляет его зависимости

Амит КК
источник
2

Мета-пакет тянет в другие пакеты, и по определению не должен делать ничего другого.

Пакет обычно имеет некоторый контент (файлы, приложения, документацию, скрипт или что-то в этом роде).

RolandiXor
источник
2

Проще говоря, в метапакете нет ничего, кроме пустых документов. Единственное, что у него есть - это метаданные, что означает, что у него могут быть зависимости, конфликты и т. Д.

MiJyn
источник
0

Metapackage не является вашей обычной посылкой. Это способ всегда устанавливать новейшие пакеты программного обеспечения. Например, в ubuntu метапакет 'emacs' всегда устанавливает последнюю доступную версию emacs.

humble_wolf
источник