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

10

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

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

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

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

Бессарабов
источник

Ответы:

5

Ну, как вы сказали, имя 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

Вот некоторые мысли о соглашениях об именах:

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

С IBM.com

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

где:

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

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

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

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

С RPM.org

Паулюс Шукис
источник