Что является стандартом для именования имени файла deb?

Я хочу выяснить стандарт имен файлов deb. Например, у меня есть файл с именем foo_1.0.0-1_all.deb. Как я выяснил в FAQ Debian , существует такое соглашение:

<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb

Но это не стандарт. Он не отвечает на множество вопросов. Например: как долго это может быть? Какие символы разрешены? Какие значения могут быть?

Существует ли какой-либо стандарт, подробно описывающий имя файла deb?

10
задан 8 August 2013 в 09:20

2 ответа

Вот некоторые соображения по поводу соглашений об именах:

Если вы использовали Debian какое-то время, вы могли заметить, что все файлы пакетов Debian следуют определенным соглашениям об именах. Каждый двоичный пакет Debian должен иметь имя файла в следующем формате: packagename_version_arch.deb, где «packagename» - это имя пакета, «version» - это версия пакета с номерами старшего, младшего номера и версии, а «arch» - это архитектура для пакета. < ..>

Из IBM.com

Несмотря на то, что это для RPM, оно также имеет довольно хорошее соглашение об именах: имя - версия - выпуск . архитектура .rpm

где:

  • name - это имя, описывающее упакованное программное обеспечение.

  • версия является версией упакованного программного обеспечения.

  • выпуск - это количество раз, когда эта версия программного обеспечения была упакована.

  • архитектура - это сокращенное название, описывающее тип компьютерного оборудования, на котором должно работать упакованное программное обеспечение. Это также может быть строка src или nosrc. Обе эти строки указывают, что файл является исходным пакетом RPM. Строка nosrc означает, что файл содержит только файлы сборки пакета, а строка src означает, что файл содержит необходимые файлы сборки пакета и исходный код программного обеспечения.

С RPM.org

0
ответ дан 8 August 2013 в 09:20

Ну, как вы сказали, имя foo_VVV-RRR_AAA.deb для файла deb - это просто соглашение для именования файлов .deb, где VVV, RRR и AAA - версия, ревизия и архитектура пакет foo.

Также это соглашение предлагается (продиктовано) при сборке пакетов с debuild или git-buildpackage .

Если вы согласны с тем, что с соглашением все в порядке, если нет, вы можете переименовать свои .deb файлы по своему желанию, , но только следуя этим правилам (в этом случае возможно вы должны запустить dpkg --info <deb_file>, чтобы найти простую информацию, которую обычно можно получить, используя вышеуказанное соглашение для имени файла deb).

Теперь, как вы можете прочитать в Filename - Wikipedia :

Нет общего стандарта кодирования для имен файлов.

Поскольку имена файлов должны обмениваться между программными средами (например, передача файлов по сети, хранение файловой системы, программное обеспечение для резервного копирования и синхронизации файлов, управление конфигурацией, сжатие и архивирование данных и т. Д.), Очень важно не потерять информацию об именах файлов. между приложениями. Это привело к широкому принятию Unicode в качестве стандарта для кодирования имен файлов, хотя устаревшее программное обеспечение может не поддерживать Unicode.

[...] Максимальная длина имени файла не является стандартной и может зависеть от размера единицы кода. Хотя это серьезная проблема, в большинстве случаев это ограниченная проблема.

Итак, если вообще нет стандарта для имен файлов, я почти уверен, что не существует специального стандарта для .deb имен файлов. Или, если вы все еще в замешательстве, примите соглашение в качестве стандарта и следуйте этим правилам .

0
ответ дан 8 August 2013 в 09:20

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

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