blacktop / ipsw

iOS/macOS Research Swiss Army Knife
https://blacktop.github.io/ipsw
MIT License
1.89k stars 147 forks source link

extract -d failed "mkdir /tmp/078-65147-105.dmg.mount: file exists" but actually no dir is there #253

Closed clipsheep6 closed 1 year ago

clipsheep6 commented 1 year ago

try to get dylib from ipsw file it kept got below error , any idea that may solve this problem ?

ubuntu@HP-ProDesk:~/$ ipsw extract -d ./iPhone15,3_16.1_20B82_Restore.ipsw 
   • Extracting dyld_shared_cache
      • Mounting DMG 078-65147-105.dmg
   ⨯ failed to IPSW FS dmg: failed to create temporary mount point /tmp/078-65147-105.dmg.mount: mkdir /tmp/078-65147-105.dmg.mount: file exists
ubuntu@HP-ProDesk:~/$ ll /tmp/078-65147-105.dmg.mount
ls: cannot access '/tmp/078-65147-105.dmg.mount': No such file or directory
anat0m1a commented 1 year ago

It's likely under /private/tmp/<dmg>, does it tell you where it's mounted if you just enter mount

blacktop commented 1 year ago

Hm, I do notice you are running on ubuntu (for the linux OSes ipsw relies on apfs-fuse to do the mounting etc. Do you have that installed on your host? I would have thought ipsw would error out if it didn't find it.

clipsheep6 commented 1 year ago

@blacktop Thanks for your reply, I use ubuntu 22.04 and apfs-fuse is already installed. And I notice that after a reboot , when I call ipsw extract first time , it returns apfs-fuse not found

ubuntu@HP-ProDesk:~/dex$ ipsw extract -d ./iPhone15,3_16.1_20B82_Restore.ipsw 
   • Extracting dyld_shared_cache
      • Mounting DMG 078-65147-105.dmg
   ⨯ failed to IPSW FS dmg: failed to mount 078-65147-105.dmg: utils.Mount: apfs-fuse not found (required on non-darwin systems): exec: "apfs-fuse": executable file not found in $PATH
ubuntu@HP-ProDesk:~/dex$ which apfs-fuse 
/home/ubuntu/tool/apfs-fuse/build/apfs-fuse
ubuntu@HP-ProDesk:~/dex$ apfs-fuse
apfs-fuse [options] <device> <dir>

but when I call ipsw again ,the file exist error reproduce until I reboot, and the not found show again

ubuntu@HP-ProDesk:~/$ ipsw extract -d ./iPhone15,3_16.1_20B82_Restore.ipsw 
   • Extracting dyld_shared_cache
      • Mounting DMG 078-65147-105.dmg
   ⨯ failed to IPSW FS dmg: failed to create temporary mount point /tmp/078-65147-105.dmg.mount: mkdir /tmp/078-65147-105.dmg.mount: file exists
ubuntu@HP-ProDesk:~/$ ll /tmp/078-65147-105.dmg.mount
ls: cannot access '/tmp/078-65147-105.dmg.mount': No such file or directory

also tried mount biggest dmg with apfs-fuse, it seems worked ,but strange only a few dylib is find in the dir

blacktop commented 1 year ago

please try again w/ the latest release