命名deb文件名的标准是什么?


10

我想找出deb文件名的标准。例如,我的文件名为foo_1.0.0-1_all.deb。正如我在Debian FAQ中发现的那样,有这样的约定:

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

但这不是标准。它不能回答很多问题。例如:可以持续多久?允许使用什么字符?可以包含哪些值?

是否有任何标准详细描述了deb文件名?


Answers:


5

那么,如你所说,这个名字foo_VVV-RRR_AAA.deb对于一个deb文件仅仅是命名惯例.deb文件,其中VVVRRR并且AAA是包的版本,修订和架构foo

另外,在使用debuildgit-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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.