加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – genisoimage garbles文件名

发布时间:2020-12-14 01:20:13 所属栏目:Linux 来源:网络整理
导读:我正在尝试为脱机RPM存储库构建ISO映像.我有我需要的文件和结构,但是当我创建ISO映像时,文件名是乱码: ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm 变 ConsoleKit-32bit-0.2.10-64..r 我在命令行上使用以下选项尝试了此操作并获得了相同的结果: genisoima
我正在尝试为脱机RPM存储库构建ISO映像.我有我需要的文件和结构,但是当我创建ISO映像时,文件名是乱码:

ConsoleKit-32bit-0.2.10-64.65.1.x86_64.rpm

ConsoleKit-32bit-0.2.10-64..r

我在命令行上使用以下选项尝试了此操作并获得了相同的结果:

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 repo正常工作至关重要.

解决方法

正如David Bugg的回答所示,你启用的标志实际上并不允许你的文件名是全长.

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

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

没有提到Windows是否支持Rock Ridge,但我对此表示怀疑,所以我建议同时使用两者,因此Windows用户不会在其驱动器中安装ISO来检查它并查看损坏的文件名.

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

最后命令从nakedhitman的评论中更新:

genisoimage -f -J -joliet-long -r -allow-lowercase -allow-multidot -o update.iso /data/iso

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读