首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名标准命名的.deb文件安全吗?

重命名标准命名的.deb文件安全吗?
EN

Unix & Linux用户
提问于 2018-09-17 11:34:28
回答 2查看 2.4K关注 0票数 13

.deb文件名的已建立结构是package_version_architecture.deb

根据段落:

有些包不遵循名称结构package_version_architecture.deb。由dpkg名称重命名的包将遵循此结构。通常,这不会对dselect/dpkg安装包的方式产生影响,但是其他安装工具可能依赖于这个命名结构。

问题:

但是,在重命名.deb包文件时是否存在任何实际情况?为我的软件提供自定义的.deb文件名是一种正常的做法吗?

示例:

  • My Program for Linux v1.0.0 (Pro).deb -自定义命名
  • my-program_1.0.0-1_amd64.deb -正式命名

注:

我不打算创建一个回购,我只是托管我的软件的.deb包在我的网站上直接下载。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-09-17 12:41:51

多年来,我积累了大量非标准名称的.deb包,我不记得遇到任何问题。现在人们可能会遇到一些“著名”的非标准名称包,包括google-chrome-stable_current_amd64.debsteam.deb。(在这两种情况下,固定的、无版本的名称确保可以使用稳定的URL进行下载,并为安装说明使用稳定的名称。)

然而,我不记得遇到任何名字中有空格的用户;这也不应该导致工具的问题,但是它可能会给您的用户造成混乱(因为如果他们使用基于shell的工具,他们将需要引用文件名或转义空格)。

另一点需要注意的是,使用与您的包名不一样的非标准名称(存储在control文件中)也可能造成混淆,例如当试图删除包时(因为包名将不同于安装它的名称)。

因此,如果您不想坚持规范名称,我建议您使用类似my-program.debmy-program_amd64.deb的名称(取决于您是否支持多个体系结构)。如果希望允许下载旧版本,也可以将其设置为版本文件名的符号链接。

票数 26
EN

Unix & Linux用户

发布于 2018-09-17 14:44:54

文件名的标准化主要是为了便于档案维护软件和本地缓存。

在过去,在将m68k体系结构添加到Debian之前,文件名使用"package_version.deb",没有任何问题。当存档软件需要将相同包和版本的i386m68k包存储在同一个目录中时,就会将架构名称添加到文件名中。由于包列表始终包含两个长和8.3文件名,所以可以在不中断客户端的情况下实现。

Dpkg通常根本不关心包的文件名。在安装运行期间,APT将生成一个包含此安装运行的所有包文件的目录,并且每个文件的当前运行中的编号都将先于文件名(也就是说,如果您安装包foo版本1和包bar版本2 ( foo所依赖的),apt将将0-bar_2_all.deb1-foo_1_amd64.deb传递给dpkg)。

APT通常假定名称对于缓存目的是唯一的。如果您重用一个名称,则如果新文件较大,则已将此文件保存在缓存中的用户将尝试恢复下载,这将给他们留下一个无效的文件,当该文件通过校验和测试时,该文件将被丢弃。但是,这个错误会显示给用户,他们必须重新启动安装运行。

票数 10
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/469537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档