我正在尝试创建可执行文件的 ISO 映像,通过隐藏 ISO 映像中的几个文件,因为我希望用户在 PC(Windows)中打开时只看到 EXE 而不是其他目录,这是我的目标 ENV用户将启动该应用程序。
答案1
如果您想要将一组目录合并到 ISO 文件中,可以使用以下命令来完成:
% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
-graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"
上述命令开关如下:
-o = name of output .iso file
-r = set permissions to 0
-J = output's ISO using Joliet format (useful for Windows users of the final ISO)
-V = Volume ID
-hide-rr-moved = hides the directory RR_MOVED to .rr_moved
-graft-points = specifies names of locations in ISO and what goes into
them from local system
隐藏文件
我相信你可以修改上面的内容并添加开关-hide-joliet <pattern>
。这将过滤与<pattern>
.例如:
% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
-hide-joliet *files_to_ignore* \
-graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"
笔记: --hidden
也可用于“隐藏”文件。但这两种转变都是用词不当。这些文件仍然存在于磁盘上,任何具有管理员权限的人都可以在磁盘上看到它们。 ISO 文件系统上设置了一个属性,用于记录文件是否隐藏。这个隐藏的工具是 MS-DOS 和 Windows 命令特定的!
NTFS属性
OP 对 NTFS 文件系统属性有几个问题,例如 H(隐藏)和 S(系统文件)。
属性,包括:
- H——隐藏
- S-系统
- ETC。
...是属于 NTFS 一部分的文件系统属性(这些不是文件本身的一部分)。 Joliet/UDF 不直接支持这些属性。我相信 NTFS 属性已应用于 ISO 中的 UDF/Joliet 文件系统(在本例中仅支持隐藏)。
答案2
这取决于您使用什么软件来创建图像。mkisofs
有几种有关隐藏文件的选项,但我认为您需要的是-hidden
:
-hidden glob
Add the hidden (existence) ISO-9660 directory attribute for glob. This attribute will prevent glob from
being listed on DOS based systems if the /A flag is not used for the listing. glob is a shell wild-
card-style pattern that must match any part of the filename or path. In order to match a directory
name, make sure the pathname does not include a trailing '/' character. Multiple globs may be hidden.
由于它是一项有点深奥的功能,因此如果您使用它,可能无法通过图形前端使用它。