Какие существуют условные обозначения для ubuntu?

Трудно описать этот вопрос. Давайте посмотрим на пример:

Пакет blender зависит, например, от blender-data. Я просмотрел оба пакета. blender содержит только приложение, файл .desktop и что-то в этом роде, в то время как blender-data также содержит значки приложений и т. д. Если я загружаю блендер с исходного сайта, я не получаю пакет, кроме папки со всем, что мне нужно.

Почему есть пакет данных для блендера? Есть ли еще эти конвенции? Какие пакеты существуют? Где я могу узнать больше об этом? Я нашел много информации о том, как упаковывать и внутренние детали, но ничего о соглашениях об именах и причине создания пакетов *-data.

1
задан 12 January 2015 в 01:47

1 ответ

В дополнение к ответу Фабби есть еще один момент: архитектура зависимости содержимого пакета.

Например, сама программа blender, очевидно, будет зависеть от архитектуры ОС - вы можете запускать исполняемые файлы amd64 только на amd64 операционных системах. Однако много данных не так уж и так, например, файлы значков, переводы, программы, написанные на таких языках, как Python или Java, могут быть одинаковыми для всех архитектур.

Таким образом, первым шагом в оптимизации содержимого пакета является разделение таких файлов на общие пакеты, зависящие от конкретной архитектуры. Обычные файлы, обычно в пакетах с -data, имеют архитектуру all. Бинарные и библиотечные пакеты имеют значения архитектуры amd64, i386, armhf и т. Д.

Это на самом деле одна из лучших рекомендаций по упаковке, рекомендованная Debian:

Это не редкость иметь большой объем независимых по архитектуре данных, упакованных вместе с программой. Например, аудиофайлы, коллекция значков, шаблонов обоев или других графических файлов. Если размер этих данных пренебрежимо мал по сравнению с размером остальной части пакета, вероятно, лучше всего сохранить его в одном пакете. Однако, если размер данных значителен, рассмотрите его разделение на отдельный независимый от архитектуры пакет (_all.deb). Делая это, вы избегаете ненужного дублирования одних и тех же данных в одиннадцать или более .debs, по одному на каждую архитектуру. Хотя это добавляет дополнительные лишние накладные расходы в файлы Packages, это экономит много места на зеркалах Debian. Разделение независимых от архитектуры данных также сокращает время обработки lintian (см. Раздел A.2 «Инструменты пакета lint») при работе по всему архиву Debian.

Такие файлы, не зависящие от архитектуры, часто входят в /usr/share - на самом деле это нарушение правил имеет файлы, зависящие от архитектуры, в этом дереве каталогов.

Затем способ организации вещей естественно:

all
├── doc      # man pages, documentation in other formats
├── icons
├── themes
├── translations
└── etc.
arch
├── bin      # binaries
├── dbg      # binaries with debug symbols
├── lib      # shared library files
└── lib-dev  # header files and other shared library files for development
2
ответ дан 24 May 2018 в 00:14
  • 1
    MGM: Я преклоняюсь перед твоей мудростью и почтительно повышаю! ;-) – Fabby 14 January 2015 в 00:02

Другие вопросы по тегам:

Похожие вопросы: