如何在不需要 root 的情况下从命令行替换 ISO 文件中的文件

mar*_*ans 13 command-line iso

我有一个 ISO 文件,我想从命令行更改其中一个文件的内容。我知道我可以使用

sudo mount -o loop <etc...>
rsync -ra a b
edit b/file
mkisofs <options>
Run Code Online (Sandbox Code Playgroud)

但我需要一个不需要 root 权限的解决方案。

mar*_*ans 22

我终于设法自己找到了答案。我可以使用 fuse 挂载 ISO 文件,在 Ubuntu 存储库中甚至有一个工具:

sudo apt-get install fuseiso
Run Code Online (Sandbox Code Playgroud)

然后我可以这样做:

fuseiso -p file.iso mounted_iso/
rsync -ra mounted_iso/ copy/
fusermount -u mounted_iso

chmod -R +w copy/
edit copy/file

mkisofs <many options> -o remastered.iso copy/
Run Code Online (Sandbox Code Playgroud)