使用`fuseiso`挂载ISO会产生与`mount`不同的文件名。如何改变这种行为?

使用`fuseiso`挂载ISO会产生与`mount`不同的文件名。如何改变这种行为?

 

我需要以非 root 身份安装 ISO。已安装 ISO 内的文件名很重要。因为我是“非root”,fuseiso所以是最合乎逻辑的选择,但它不会产生“正确的文件名”,而mount会产生“正确的文件名”。对于fuseiso,空格将替换为下划线,并且大写字母将变为非大写。

有没有办法改变fuseiso的行为来复制 的行为mount

 

带安装的 ISO 的正确内容:

[me@pc stalkersoup]$ sudo mount 'STALKERSOUP Game Install.iso' mnt 
[me@pc stalkersoup]$ ls mnt
'STALKERSOUP game setup-10.bin'  'STALKERSOUP game setup-4.bin'  'STALKERSOUP game setup-8.bin'
'STALKERSOUP game setup-1.bin'   'STALKERSOUP game setup-5.bin'  'STALKERSOUP game setup-9.bin'
'STALKERSOUP game setup-2.bin'   'STALKERSOUP game setup-6.bin'  'STALKERSOUP game setup.exe'
'STALKERSOUP game setup-3.bin'   'STALKERSOUP game setup-7.bin'

ISO 内容不正确fuseiso

[me@pc stalkersoup]$ fuseiso 'STALKERSOUP Game Install.iso' mnt/
[me@pc stalkersoup]$ ls mnt/
stalkersoup_game_setup_10.bin  stalkersoup_game_setup_4.bin  stalkersoup_game_setup_8.bin
stalkersoup_game_setup_1.bin   stalkersoup_game_setup_5.bin  stalkersoup_game_setup_9.bin
stalkersoup_game_setup_2.bin   stalkersoup_game_setup_6.bin  stalkersoup_game_setup.exe
stalkersoup_game_setup_3.bin   stalkersoup_game_setup_7.bin

 

上下文,以避免 XYZ 问题情况:

  • setup.exe文件名很重要,因为我想用innoextract提取内容,并且所有bin文件都包含提取所需的数据,并且它们的路径是硬编码的
  • 我这样做是因为我正在编写 PKGBUILD(用于构建 arch 包的 bash 脚本)。这是一个必须以非 root 身份运行的 bash 脚本。因此,我只能以非 root 身份使用 CLI 工具
  • 我这样做是为了个人用途,这是合法的,因为游戏是免费分发的
  • 无法重命名,因为安装的 ISO 是只读的
  • 例如,我可以使用 p7zip 提取 ISO 的内容,这就是我目前正在做的事情
  • 但这不是一个好的解决方案,因为它浪费时间和存储
  • 我无法修改存档,因为我必须“按作者发布的方式”使用它

 

预先感谢您的帮助和专业知识:)

答案1

在reddit的帮助下找到了答案。我就总结到这里,大家可以参考一下这个 Reddit 话题

选项 1:使用 guestmount

guestmount -a 'STALKERSOUP Game Install.iso' -m /dev/sda mnt/

在哪里找到 /dev/sda :

virt-filesystems -a "STALKERSOUP Game Install.iso"

选项 2:使用 U 盘

# Setup loop file with udisksctl 
udisksctl loop-setup --file "STALKERSOUP Game Install.iso"
bdev="/dev/loop0"                          # can change
udisksctl mount --block-device "$bdev" 
mpoint="/media/STALKERSOUP Game Install"   # can change

相关内容