#1 Le 08/10/2014, à 11:42
- Patrice Allais
[LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
Bonjour,
J'essaye d'accéder à l'arborescence du SDK IOS 7.1 au travers du .dmg
de XCode 5.1.1. Je l'ai converti en un .img avec dmg2img. Je cible la
3ème partition. Quand je monte le .img, des milliers de fichiers sont
considérés comme vides. L'auteur de l'outil me conseille de regarder
du côté du module hfsplus.
Toute piste sera la bienvenue. Voici les commandes passées (12.04):
allais@legolas:~$ uname -a
Linux legolas 3.2.0-69-generic #103-Ubuntu SMP Tue Sep 2 05:02:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
allais@legolas:~$ dpkg -l | grep hfs
ii hfsplus 1.0.4-12build3 Tools to access HFS+ formatted volumes
ii hfsprogs 332.25-10 mkfs and fsck for HFS and HFS+ file systems
ii hfsutils 3.2.6-11build3 Tools for reading and writing Macintosh volumes
ii libhfsp0 1.0.4-12build3 Shared library to access HFS+ formatted volumes
root@legolas:/media/dmg# ls -ltr
total 17231596
-rw-rw-r-- 1 allais allais 2285917493 sept. 24 18:17 xcode_5.1.1.dmg
root@legolas:/media/dmg# dmg2img -l xcode_5.1.1.dmg
dmg2img v1.6.5 (c) vu1tur (to@vu1tur.eu.org)
xcode_5.1.1.dmg --> (partition list)
partition 0: Driver Descriptor Map (DDM : 0)
partition 1: (Apple_Free : 1)
partition 2: Apple (Apple_partition_map : 2)
partition 3: disk image (Apple_HFS : 3)
partition 4: (Apple_Free : 4)
root@legolas:/media/dmg# dmg2img -p 3 -i xcode_5.1.1.dmg -o xcode_5.1.1-p3.img
dmg2img v1.6.5 (c) vu1tur (to@vu1tur.eu.org)
xcode_5.1.1.dmg --> xcode_5.1.1-p3.img
decompressing:
opening partition 3 ... 100.00% ok
Archive successfully decompressed as xcode_5.1.1-p3.img
You should be able to mount the image [as root] by:
modprobe hfsplus
mount -t hfsplus -o loop xcode_5.1.1-p3.img /mnt
root@legolas:/media/dmg# ls -ltr
total 20031184
-rw-rw-r-- 1 allais allais 2285917493 sept. 24 18:17 xcode_5.1.1.dmg
-rw-r--r-- 1 root root 2866774016 oct. 2 12:26 xcode_5.1.1-p3.img
root@legolas:/media/dmg# modprobe hfsplus
root@legolas:/media/dmg# mkdir xcode-5.1.1
root@legolas:/media/dmg# mount -t hfsplus -o loop $PWD/xcode_5.1.1-p3.img $PWD/xcode-5.1.1
root@legolas:/media/dmg# cd /media/dmg/xcode-5.1.1
root@legolas:/media/dmg/xcode-5.1.1# ls
Applications Resources Xcode.app
root@legolas:/media/dmg/xcode-5.1.1# find . -type d -name '*[Ss][Dd][Kk]*'
./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
./Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
./Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk
./Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Interface Builder/Plug-ins/IBSDKPlugin.ibplugin
./Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
./Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
./Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
root@legolas:/media/dmg/xcode-5.1.1# find ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -type f ! -empty -ls
86225 18544 -rwxr-xr-x 1 root root 18985184 mars 29 2014 ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/PrivateFrameworks/FaceCore.framework/FaceCore
87030 85048 -rwxr-xr-x 1 root root 87086496 avril 2 2014 ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/PrivateFrameworks/iWorkImport.framework/iWorkImport
86952 61016 -rwxr-xr-x 1 root root 62478768 mars 29 2014 ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/PrivateFrameworks/WebCore.framework/WebCore
J'ai aussi essayé avec kpartx mais je n'arrive pas plus à accéder à tous les fichiers "pleins" du SDK.
Le problème est similaire avec une Fedora 20.
Avec mes salutations,
Patrice Allais.
Dernière modification par Patrice Allais (Le 10/10/2014, à 15:38)
Hors ligne
#2 Le 08/10/2014, à 20:50
- jacobus77
Re : [LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
Si c'est un dmg récent possible qu'Apple ai encore modifié le format, regardes sur le site de dmg2img si c'est bien la dernière version dans ubuntu.
Sinon tu es sûr que ces fichiers ne sont pas réellement vide dans le dmg ?
Dernière modification par jacobus77 (Le 08/10/2014, à 20:50)
Hors ligne
#3 Le 10/10/2014, à 10:08
- Patrice Allais
Re : [LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
Bonjour,
Pour la 12.04 qui n'était pas à jour, j'ai généré le binaire de la dernière version; pour la 14.04 il y avait déjà la dernière version de l'outil. Le .dmg a été téléchargé du site Apple et est le paquet officiel de XCode 5.1.1. Lorsque le .img résultant est accédé sous MacOS, les fichiers ne sont pas vides. L'auteur de l'outil dmg2img suggère de chercher du côté d'une défaillance de hfsplus.
Avec mes salutations,
Patrice Alllais.
Hors ligne
#4 Le 10/10/2014, à 23:09
- jacobus77
Re : [LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
ls -lha ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/PrivateFrameworks/FaceCore.framework/FaceCore
-rwxr-xr-x 1 root root 19M mars 29 2014 ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/PrivateFrameworks/FaceCore.framework/FaceCore
J'avais XCode 5.1.1 de côté j'ai donc testé pour voir et pas de soucis.
Effectivement possible que ce soit un défaut de hfs corrigé depuis, pour info, j'utilises le noyau 3.17.0 d'ubuntu mainline kernel.
L'autre possiblité est que le dmg soit corrompu mais normalement dmg2img l'aurait détecté.
Dernière modification par jacobus77 (Le 10/10/2014, à 23:10)
Hors ligne
#5 Le 18/11/2014, à 15:12
- Patrice Allais
Re : [LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
Bonjour,
J'ai essayé sur la 12.04 les noyaux 3.11, 3.13, 3.16 et 3.17 sans plus de succès : la commande "find .... ! -empty" ne retourne que 3 fichiers qui ne sont pas vides : ceux que j'indique dans mon post originel. Les .h et les .a sont tous vides.
Les fichiers sont par contre "pleins" lorsque j'accède le fichier .dmg avec l'utilitaire darling-dmg. Je vais me contenter de cette solution pour l'instant.
Avec mes salutations,
Patrice Allais.
Hors ligne
#6 Le 20/11/2014, à 19:02
- jacobus77
Re : [LTS 12.04 & 14.04] HFSPLUS : certains fichiers sont vides
ah ay temps pour moi, j'avais juste cheké les fichiers pas vide, forcément... Merci pour l'info sur darling-dmg, je garde ça sous le coude.
Hors ligne