首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >genisoimage文件名

genisoimage文件名
EN

Stack Overflow用户
提问于 2015-04-07 17:25:07
回答 3查看 6.4K关注 0票数 4

我正在尝试为脱机RPM存储库构建一个ISO映像。我有我需要的文件和结构,但是当我创建ISO映像时,文件名会被混淆:

代码语言:javascript
复制
ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm

化作

代码语言:javascript
复制
ConsoleKit-32bit-0.2.10-64..r

我在命令行中尝试了以下选项,并取得了相同的结果:

代码语言:javascript
复制
genisoimage -f -U -o update.iso /data/iso
genisoimage -f -l -allow-lowercase -o update.iso /data/iso
genisoimage -f -l -allow-leading-dots -relaxed-filenames -allow-lowercase -allow-multidot -no-iso-translate -o update.iso /data/iso

有什么我可能遗漏的东西可以保存文件名吗?这对于ISO回购系统的正常工作至关重要。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-07 18:00:38

正如David的回答所表明的那样,您启用的标志实际上不允许您的文件名为它们的完整长度。

纯ISO 9660只支持31个字符文件名,包括3个字符扩展名(genisoimage通常将其限制为8.3格式,但您使用的是-l,它禁用该限制并允许完整的31)。您提到的具有截断名称的文件被截断为29个字符(包括扩展名中的一个字符),因此31包含扩展名中的两个空白字符。

Joliet允许最多64个unicode字符名,并且可以使用David建议的更长的(103)号。然而,这只适用于Windows,在某种程度上也适用于Linux。genisoimage手册页建议使用-R (或者-r,它有更好的默认所有权),因为Ridge标准支持255个字节文件名和大于8个目录的文件夹深度,并且与joliet不同,它是一个真正的标准。

没有提到Windows是否支持Ridge,但我怀疑它是否支持,所以我建议使用这两种方法,这样Windows用户就不会在他们的驱动器中挂载ISO来检查它并查看破损的文件名。

-J -joliet-long -r添加到您的命令中,您应该没有问题。

根据nakedhitman的评论更新最后命令:

代码语言:javascript
复制
genisoimage -f -J -joliet-long -r -allow-lowercase -allow-multidot -o update.iso /data/iso
票数 10
EN

Stack Overflow用户

发布于 2015-04-07 17:41:07

你想-joliet-long了。

加上-U -r,它应该是好的。

票数 4
EN

Stack Overflow用户

发布于 2018-09-12 07:53:23

我只能使用"-U -R“(未翻译的文件名和Ridge属性)(我相信有超过8个文件夹深)来实现这些功能:

汤:structures-2092-articles

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

https://stackoverflow.com/questions/29497462

复制
相关文章

相似问题

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