Montage en écriture d'une partition Mac (hfs+) sous Jessie

[size=200]Montage en écriture d’une partition Mac (hfs+) avec journalisation activée sous Debian Jessie[/size]

Ces manipulations ont été effectuées sur un ordi sous Debian «Jessie» ayant XFCE. Elles sont à effectuer pour la plupart en étant root.

L’état de l’art, c’est que quand on branche un disque dur externe formaté en hfs+ (avec journalisation activée), on peut accéder aux fichiers, mais pas écrire dessus.
On va donc revoir les options de montage, pour permette à votre utilisateur d’écrire sur ce disque.

Avertissement: l’écriture sur un système journalisé en hfs+ sous Linux n’est pas 100% fiable, donc évitez d’effectuer ceci sur un disque dur contenant des données importantes (ou faites-en une copie de sauvegarde).

Pour que ces opérations se déroulent bien, prenez soin d’éviter d’effectuer le montage automatique (qui s’effectue en clickant sur le périphérique qui apparaît dans votre gestionnaire de fichiers). Sinon, démontez-le, débranchez la prise USB et remettez-la.

[size=150]Préparation - à effectuer une seule fois[/size]

Préparez le répertoire /mnt/ pour accueillir les points de montage:

mkdir /mnt/mac_temp mkdir /mnt/mac

Explication: le 1er répertoire servira à effectuer un montage «classique». Le second servira à réeffectuer un montage avec [mono]bindfs[/mono], qui donnera une «vue» sur les fichiers du disque dur avec les permissions utilisateur permettant l’écriture.

Installez bindfs:

C’est une bonne idée d’installer également [mono]hfsprogs[/mono], qui contient des outils de vérification pour les partitions Mac (fsck.hfsplus)

[size=150]Montage[/size]

Repérez sous quel nom la partition de votre disque dur externe est identifiée:

Note: chez moi, c’est [mono]/dev/sdb3[/mono]

Repérez l’UUID de cette partition, en vous référant au lien symbolique qui lui correspond, visible avec:

Ensuite, effectuez un montage manuel (en remplaçant l’UUID par le votre à la suite du paramètre [mono]-U[/mono]):

Note: l’option [mono]rw[/mono] est nécessaire pour que le montage de la partition avec journalisation se fasse.

A partir de là, on a re-monté la partition, mais votre utilisateur ne peut toujours pas écrire dessus.

Repérez l’identifiant utilisateur auquel ont été associés les droits sur le point de montage:

Note: chez moi, elles sont associées à l’utilisateur numéro (l’UID) 99, qui ne correspond à aucun utilisateur existant sur le système.

Le but est maintenant de réassocier les permissions à votre utilisateur courant.

Si votre système est une Debian installée de façon classique, votre 1er compte utilisateur a sans doute l’UID 1000. Vérifiez, par exemple avec:

Maintenant, on créé la «vue» en réassociant les permissions de sorte que votre utilisateur puisse écrire sur la partition:

Note: remplacez [mono]99[/mono] et [mono]1000[/mono] par les UID que vous avez relevés précédemment.

Voilà ! Vous devriez pouvoir désormais accéder à votre partition en vous rendant dans [mono]/mnt/mac[/mono].

[size=150]Script pour faciliter les montages ultérieurs[/size]

Placez un fichier où vous le souhaitez, dont le contenu ressemblera (selon l’UUID de la partition, etc…) à:

#!/bin/bash mount -t hfsplus -o rw,force -U abcdefghijklmnopqrstuvwxyz12345 /mnt/mac_temp bindfs --map=99/1000 /mnt/mac_temp /mnt/mac
Enregistrez ce fichier sous le nom [mono]montage_mac.sh[/mono].

Rendez éxécutable ce fichier:

Il vous suffira alors d’éxécuter ce script (en étant root) pour effectuer le montage.

[size=150]Addendum[/size]

  • Pensez à démonter les partitions avant de débrancher le disque dur.
  • Il semblerait qu’on puisse aussi désactiver la journalisation du disque si l’on a un Mac sous le coude, et que cela soit plus arrangeant pour effectuer le montage. Mais cette solution n’a pas été essayée.

Effectivement, c’est possible :
Depuis le Mac, on ouvre un terminal (dans finder > applications > utilitaires > terminal) :

Si le volume n’a pas été nommé, on le repère grâce à la commande :

Et ensuite :

J’ai réalisé cette astuce depuis un I-Mac G5 (64 bit powerpc), pour pouvoir monter la partition de stockage commune formatée en hfs+ sur une Debian 7.7 Xfce que j’ai installé à côté en double boot.

Le problème auquel j’ai été confronté : les permissions pour pouvoir lire ET écrire depuis les deux OS.
J’ai contourné la chose comme suis (après avoir désactiver la journalisation):
1-j’ai modifié l’Uid de l’utilisateur de debian à 501 pour que cela corresponde à celui de l’utilisateur MAC
2-J’ai inséré la ligne suivante à /etc/fstab (oui ya deux ligne, je sais, mais la première est juste un commentaire ):

#Stockage partition on /dev/sda7 /dev/sda7 /media/Stockage hfsplus rw,nodev,relatime,umask=22,uid=0,gid=0,nls=utf8 0 0
À adapté en fonction du numéro de la partition bien entendu.

Si vous vous demandez pourquoi ce choix d’options, la réponse est qu’après avoir effectué plusieurs test, je me suis aperçu que dans /etc/mtab, ce qui est vraiment effectif c’est ça et pas autre chose (que j’essaye de modifier umask, uid, gid, 0 2 à la fin, peu importe, ce qui est vraiment effectif c’est cette liste d’option).

Ensuite peut-être y a-t-il plus malin à faire…
Le défaut de la technique est que seul le première utilisateur pourra avoir accès à cette partition en lecture écriture… Mais il doit y avoir une solution simple en créant un groupe sous Debian et Mac avec le même gid qui puisse accéder en lecture/écriture à cette partition (d’abord depuis Mac, puis ensuite chez Debian).
Quoi qu’il en soit, cette méthode fonctionne chez moi.

sources relatives au sujet :
desactiver-la-journalisation-sur-hfs-t44058.html
ecrire-sur-une-partition-hfs-t30564.html
forum.macbidouille.com/index.php … pic=269166
forum.ubuntu-fr.org/viewtopic.php?id=147587
forum.ubuntu-fr.org/viewtopic.php?id=153898

Prochainement in cha Allah je vais faire (ici ou sur Debian facile) un tuto pour faire un double boot Debian/Mac OSX sur une architecure PowerPC avec partition de stockage commune pour concentrer tout ce que j’ai trouvé sur le net afin de réaliser cela en un seul endroit, car je n’ai pas vu ça nulle part ni en anglais ni en français…
L’aide et les commentaires/reproches (constructifs) seront les bienvenus !

à AbdelQahar, merci de ton dévouement, j’évalue mal le risque*, mais n’y-a-t-il pas dans ce cas ( les systèmes Mac pour powerPC ) une possibilité de transférer les risques d’infection et les vulnérabilités de Mac à Linux puisque les systèmes Mac pour powerPC ne sont plus mis à jour ?

Pour voir les effets de cette absence de mise à jour voir la longue marche d’un bénévole pour compiler les rustines de bash afin de combler les dernières failles sur les systèmes Mac PowerPC : tenfourfox.blogspot.fr/2014/09/b … dated.html

*Si quelqu’un d’expert pourrait nous dire son évaluation

Je ne sais pas quoi te dire… À part que c’est la même problématique sous Windows, et sue je trouve beaucoup de tuto sur internet qui préconise le NTFS pour par la partition d’échange de données, sans soulever ce point…

Donc je ne sais pas, il faut faire attention à ne pas télécharger n’importe quoi pour ne pas contaminer l’autre système.

Pour mon tuto c’est ici.

Si tu veux participer ou faire des remarque tu es le bienvenue.
Tu penses donc que je devrai mettre une note dedans pour alerter les gens sur ce point ?

J’ai retrouvé ces notes personnelles anciennes, utilisées efficacement sur Squeeze, mais je ne pense pas que mount ait pu perdre cette fonctionnalité:

En cas de problème d’autorisation d’écrire sur une partition hfs+ lisible:

1 Vérifier les droits, le propriétaire, et faire ce qu’il faut
2 mount -o remount -o force /media/son_nom ( si c’est sous root, revérifier les droits et le propriétaire )
( Il faut parfois démonter avant de remonter avec l’option force )
(l’option -o force de mount n’est pas documentée dans le man, mais fonctionne )

Exemple: sudo umount /home/hfsplus/ && sudo mount /dev/sdh2 /home/hfsplus/ -t hfsplus -o rw -o force
avec /media/untitled, cela ne marche pas, car la partition de montage untitled est effacé avec le démontage ( USB )
donc si ça marche sans démonter, s’en contenter doit être plus simple.

[size=85]PS, depuis déjà pas mal de temps, j’ai pris la bonne habitude de faire précéder mes notes de l’ url des sources qui m’ont appris ou inspiré, ainsi que de la date. Ce n’étais pas encore le cas (sinon, une entorse à mes habitudes!); donc,je ne peux pas vous en dire plus.[/size]

On peut, bien sûr, utiliser d’autres systèmes de fichiers que HFS+.

Dans mon vague souvenir, il était même impossible d’utiliser HFS+ en écriture.

Il faut faire attention à diverses petites partitions de Mac nécessaires à son démarrage.

Dans mon souvenir, Le dual boot n’était jamais utilisé. Seul Skype nécessitait macOS X, car il ne fournissait pas de version Linux sur Mac. Et je n’utilise pas Skype.

[size=85]J’ai renoncé très vite à utiliser le matériel Mac:
1 Le clavier n’est pas pratique pour coder.
2 Le matériel est coûteux, fragile et rarement standard.
3 Il est de plus en plus fermé aux autres systèmes.

Malgré tout, je garde mon vieux G4 avec la vague idée que je pourrais un jour peut-être lui redonner vie avec Debian, et dépanner quelqu’un ou une association.[/size]