10.11 El Capitan Récupérer l'ancien «Utilitaire de Disque» dans El Capitan

  • Créateur du sujet Créateur du sujet Membre supprimé 1060554
  • Date de début Date de début
M

Membre supprimé 1060554

Invité
Bonus de week-end par le Schtroumpf macomaniac farceur

Le plus grand « outrage à l'intelligence » des utilisateurs occasionné par «El Capitan» est manifestement la nouvelle version de l'«Utilitaire de Disque» : un grand logiciel classique, non seulement amoindri dans ses fonctionnalités (notamment : plus d'affichage des partitions invisibles, plus d'affichage de l'espace libre à sa place, plus de menu RAID, plus de menu "Effacer" permettant de choisir à la fois une Table de Partition et un Format de partition, plus de menu "Partitionner" permettant de définir en une fois un nombre n de partitions, dans des formats voulus d'une Table de Partition choisie) ; mais encore bogué (impossibilité de créer une image-disque vide de + de 100 Mo, si l'on renseigne une taille en octets comme y invite l'affichage de 100 Mo par défaut, mais nécessité de renseigner une taille en bytes - MB, GB - comme l'affichage n'y invite pas) ; et enfin offrant une imagerie illisible (le camembert dont les "quartiers" n'ont pas de noms affichés et dont la circularité donne l'illusion que la première partition voisinerait avec la dernière représentée comme un quartier revenu à son contact).

Confronté à ce « sinistre », je n'ai pas été loin de réagir comme Moonwalker :coucou:déclare l'avoir fait dans ce fil : ☞Disque dur externe Plus de mot de passe☜ :

L'inutilitaire de disque de El Capitan est une des raisons pour lesquels je suis revenu à Yosemite après deux mois. :D

Je me suis accroché sous «El Capitan» malgré tout, en remplaçant cet «Inutilitaire de Disque» que je ne n'ouvre plus désormais par des commandes dans le «Terminal» lorsque besoin est. En sentant vivement toutefois cet « enfant amoureux de cartes et d’estampes » qui persiste en moi s'affliger qu'on lui ait cassé un de ses jouets favoris.


En fouillant dans les poubelles de l'Internet, il arrive nonobstant quelques fois qu'on soit favorisé par un de ces accidents de la Bonne Fortune qui s'appelle : sérendipité. C'est ce qui m'est arrivé il y a deux jours : le patch habile de 2 octets du code de l'exécutable Disk Utility dans l'«Utilitaire de Disque» de «Yosemite 10.10.5» permet à ce logiciel (qui est "self-contained" : copiable simplement dans un OS sans installation) d'être copié dans le répertoire des Applications d'«El Capitan» et d'être lancé sans aucun problème, en parallèle même si l'on veut de son avatar ringard, avec toutes ses fonctionnalités opérationnelles, à part la vérification / réparation des permissions qui n'est plus supportée dans «El Capitan» selon l'ancienne modalité (suite à la modification du DiskManagement.framework).

Pour susciter la convoitise de l'aimable assistance de ce fil, voici une capture d'une portion du bureau de mon Mac (MacBook Pro 17" Late_2011) montrant l'ouverture en simultanée des 2 logiciels : «Utilitaire de Disque» New_Age (10.11.4) et «Utilitaire de Disque» Vieille École (10.10.5) dans l'environnement d'«El Capitan» :

475119_800.png

Le patch permettant à l'«Utilitaire de Disque» de «Yosemite 10.10.5» d'être fonctionnel dans «El Capitan» une fois recopié dans cet OS est décrit dans cet article de l'honorable Justus Beyer, son auteur : ☞Restore old Disk Utility in OS X El Capitan

En substance, au lancement de l'«Utilitaire de Disque 10.10.5», en fonction d'une instruction du code de son exécutable, il y a comparaison entre la version attendue de l'OS («Yosemite») et la version actuelle («El Capitan» dans notre contexte) : si le résultat trouvé est « not equal » (différent), alors l'instruction est de faire quitter le logiciel. L'astuce subtile de l'auteur est de remplacer « not equal » par « equal », ce qui donne l'instruction suivante : si le résultat trouvé est « equal » (l'OS actuel est conforme à l'OS attendu = «Yosemite»), alors l'intruction est de faire quitter le logiciel (il s'ensuit que le seul OS dans lequel le logiciel patché ne fonctionnera pas est son OS d'origine = «Yosemite») ; par contre, si le résultat est que l'OS n'est pas « equal » (égale à «Yosemite»), alors l'instruction de faire quitter le logiciel ne s'exécutera pas (il s'ensuit que le logiciel se lancera pour tout OS différent de son OS d'origine «Yosemite», à la condition qu'il ne lui soit pas inférieur, soit incidemment : «El Capitan»).

D'un point de vue logique, j'admire le tour de raisonnement de l'auteur que j'ai essayé de restituer ci-dessus.


D'un point de vue technique, nul doute que les happy few non seulement familiers de la langue de Shakespeare mais également du «Terminal» et des scrutations de code dans un utilitaire comme l'excellent «Hex Fiend» ne trouvent la confection du patch assez enfantine. Ce qui risque de paraître discriminatoire pour beaucoup, d'autant plus que pour parfaire le procédé décrit par Justus Beyer encore faut-il disposer d'un modèle du logiciel : «Utilitaire de Disque 10.10.5», càd. de l'OS «Yosemite» - ce qui fera défaut à nombre d'utilisateurs éventuellement intéressés qui auraient sauté la case «Yosemite» dans une mise-à-niveau depuis un OS antérieur à ce dernier, ou encore qui auraient supprimé cet OS et ne pourraient plus le re-télécharger depuis l'AppStore (sans compter que, faute de ré-installer l'OS pour disposer de son «Utilitaire de Disque», il faudrait sinon accéder au paquet correspondant dans son installateur grâce à «Pacifist»).

Afin de faciliter les choses à ceux qui aimeraient bénéficier ex abrupto des résultats de l'ingéniosité de Justus Beyer, je propose en téléchargement depuis le dossier public de ma «DropBox» le logiciel complet préalablement patché par mes soins dans le code de son exécutable : ☞Disk Oldility.app.zip☜ (14,2 Mo).


☞ Quelques remarques : outre une re-colorisation en vert de l'icône du logiciel, j'ai modifié le nom de l'application de «Disk Utility.app» en «Disk Oldility.app» afin qu'il n'y ait pas de confusion avec le logiciel New Age mais que l'identité d'«Utilitaire de Disque» Vieille École saute immédiatement aux yeux. Les Américains parlent de : « oldies » pour de vieux machins (comme des photos vintage) : je me suis payé l'audace d'un néologisme rigolo, combinant « oldies » & « utility » en un improbable « oldility » tel que seul un Français écorchant l'« Angliche » peut en concevoir. L'autre avantage de ce renommage, est que le logiciel est logeable au voisinage de la version New Age (at: Applications/Utilities) sans conflit d'intitulés identiques obligeant à choisir [NB. Le logiciel lancé, la fenêtre de sa GUI garde l'intitulé classique : Utilitaire de Disque].

À cause du patch de l'instruction de vérification de la version de l'OS, le lancement du logiciel est un peu plus long qu'à l'accoutumé (10"). Mais une fois ouvert, le «Disk Oldility» fonctionne comme il avait coutume de le faire (sauf les fonctions de vérification / réparation des permissions, supprimées du PrivateFramework : DiskManagement.framework comme mentionné). Dans la version mise en téléchargement, le menu "Déboguer" est préactivé. Pour ceux qui continuent de souhaiter "Réparer les permissions" dans «El Capitan», outre le logiciel «Onyx» qui maintient ce service, il faut passer dans le «Terminal» la commande (copier-coller) :

Bloc de code:
sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
et ↩︎ (presser la touche "Entrée" du clavier pour activer la commande) --> une demande de password s'affiche (commande sudo) --> taper le mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef ↩︎.

Pour installer l'application : dézipper, et simplement déplacer (avec authentification par mot de passe admin) l'application «Disk Oldility.app» dans le répertoire des Applications/Utilitaires. Mais il est aussi possible de la déplacer simplement dans le sous-dossier Applications du dossier de compte personnel d'utilisateur. Dans ce dernier cas, tout est dit ; dans le premier cas, il ne serait pas mauvais de restaurer récursivement les propriétaires à root pour l'user et wheel pour le group (propriétés que la manipulation par l'utilisateur a transformées en username:staff). Alors, dans le «Terminal», si le logiciel a bien été déplacé dans Applications/Utilitaires, copier-coller de la commande :

Bloc de code:
sudo chown -R root:wheel /Applications/Utilities/Disk\ Oldility.app
et exécution de la commande. Pour une adaptation manuelle, en cas de localisation folklorique => copier simplement la séquence intiale :

Bloc de code:
sudo chown -R root:wheel
et sauter un espace => faire alors un glisser-déposer direct dans la fenêtre du «Terminal» de l'application «Disk Oldility.app» où qu'elle ait été localisée, ce qui renseigne automatiquement le chemin au logiciel et son nom.

367024_original.gif
 
Dernière édition par un modérateur:
Merci à toi, grand farceur ! :up:

J'attends toujours un utilitaire tiers qui rende les fonctions Yosemite d'Utilitaire de Disque dans El Capitan,
et tu nous donnes un patch à ta sauce : je le mets de côté en prévision de ma future mise à niveau.
 
Je n'avais pas oser en parler, mais je l'ai fait en utilisant une autre méthode et ma foi, ça fonctionne très bien. :)

Yosemite
Capture d’écran 2016-02-06 à 10.09.35.webp
El Capitan
Capture d’écran 2016-02-06 à 10.09.42.webp

Il est bien vrai, du moins pour moi, que les camemberts m'horripilaient et d'une utilisation plus que perturbante pour partitionner proprement un disque dur. :(
 
Moi, j'ai un petit problème, le fichier rebondit en permanence dans le Dock. :(

Edit : ne fonctionne pas du tout chez moi.
 
Dernière édition:
Bonjour,

Un grand merci, macomaniac:coucou:,
Ton initiative me permet de formater directement en NTFS avec Tuxera et en Ext1/2/3 avec Paragon ExtFS… Plus rien n'était en effet possible avec le nouvel utilitaire sans passer par des commandes dans Terminal.
 
Bon, après avoir rentré l'ésotérique commande "sudo chown -R root:wheel /Applications/Utilities/Disk\ Oldility.app"

Ca fonctionne parfaitement

:merci: :merci: :merci:

En revanche je n'avais pas attention à cette histoire de réparation des autorisations (mon Capitaine est sur un disque externe, et je l'utilise peu)
Même l'excellent AppleJack qui fonctionne toujours, ne répare plus les autorisations…
 
Dernière édition:
Ceci n'est pas une « blague » (à tabac), c'est une « blague » (dominicale)

:coucou: JLB & Invité

Merci de vos retours qui prouvent que le logiciel patché «Disk Oldility» que j'ai proposé en téléchargement... fonctionne sur d'autres Macs que le mien. Car...

[mais d'abord une « pseudo-citation » latine : « Timeo LociClaustrum, et falsa ferentem » <je redoute le "Loquet_du_Local" - i.e. Locke - lorsqu'il se fait le rapporteur d'erreurs>
361608_original.png
]

... je me suis senti inquiété par ce retour de LociClaustrum Locke :coucou::

Moi, j'ai un petit problème, le fichier rebondit en permanence dans le Dock. :(

Edit : ne fonctionne pas du tout chez moi.

Aurais-je foiré mon patch du code de l'exécutable du «Disk Utility 10.10.5» ? - non, car j'avais scruté à la loupe les caractères à éditer, et parce que le logiciel patché «Disk Oldility» se lance et fonctionne dans mon «El Capitan 10.10.4». Le logiciel en question aurait-il une spécificité liée à un type de plateforme (MacBook Pro) qui le rendrait invalide sur d'autres (genre iMac) ? - pas possible : c'est un paquetage self-contained absolument passe-partout. Serait-ce dû à un problème de droits sur l'élément ? - le simple fait de manipuler graphiquement le logiciel issu du téléchargement l'approprie automatiquement à username:staff et j'ai fait l'expérience qu'il se lance sans problème avec ce type d'accédants propriétaires. Sinon, passer la commande sudo chown -R 0:0 sur l'élément dans le «Terminal» suffirait à établir récursivement les accédants root:wheel règlementaires pour une application logée dans le répertoire des /Applications[/Utilities].

Et puis, subitement :
342641_original.gif

Bon_sang_mais_c'est_sûr : c'est encore un « coup » du Poltergeist  ! - Vous savez, l'esprit_farceur qui « frappe » systématiquement d'erreur les tentatives de rétro-clonage de Locke décrites dans ce fil irrésolu à ce jour : ☞Boire et déboire☜ - oui, ça doit être encore un de ses « coups » pendables, qui « frappe » «Disk Oldility» en l'empêchant de démarrer en local chez Locke
361608_original.png


--------------------​

Blague à part : à supposer que «Disk Oldility.app» ait été déplacé dans /Applications/Utilities, alors passer dans le «Terminal» la commande :
Bloc de code:
sudo chown -R root:wheel /Applications/Utilities/Disk\ Oldility.app
ou (identique) :
Bloc de code:
sudo chown -R 0:0 /Applications/Utilities/Disk\ Oldility.app
et ce rétablissement récursif des accédants officiels débloquera peut-être le lancement, si le logiciel s'obstine à sautiller dans le Dock...
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Bigdidou
C'est tout bon avec la commande dans le Terminal. ;)

Par contre, ma version modifiée fonctionne partout ou je la mets.

Les 2 versions ensemble...

Capture d’écran 2016-02-07 à 13.00.38 2.webp

...j'ai changé la couleur de ma version en bleu. ;)

Oui mais, pourquoi devoir passer une commande sudo pour donner l'autorisation, alors qu'avec le même programme modifié d'une autre façon, il n'y en a pas besoin ?
 
Dernière édition:
  • J’aime
Réactions: Bigdidou
Comme Locke, Oldility.app (quelle trouvaille :D) sautillait sans cesse dans le Dock.

Et comme Locke :coucou: la commande ci dessous
Bloc de code:
sudo chown -R root:wheel /Applications/Utilities/Disk\ Oldility.app
ou (identique) :
a réglé le problème.

Thanks a lot :merci: Macomaniac :up:
 
Merci pour les retours gagnants, Sly :coucou: & gmaa :coucou:

Il y a sans doute lieu de penser que le problème de Locke :coucou: n'était pas dû à la malignité d'un Poltergeist
361608_original.png
, mais à une incohérence interne de droits d'accès dans l'arborescence du logiciel «Disk Oldility».

Une application est un « paquet » : un répertoire (le répertoire Contents) dissimulé sous une apparence de fichier. Le répertoire Contents de «Disk Oldility» inclut lui-même des fichiers (Info.plist, PkgInfo & Version.plist) et des sous-dossiers (_CodeSignature, Frameworks, MacOS, Plugins, Resources), le sous-dossier MacOS incluant notamment l'exécutable Disk Utility de l'application. Il s'agit donc d'une arborescence logique.

Chaque « nœud » de cette arborescence est associé comme il se doit à des droits d'accès (un utilisateur, un groupe principal et un groupe secondaire, chacun de ces accédants nanti de permissions déterminées). Pour qu'une application fonctionne, une cohérence des droits d'accès est requise de "haut" en "bas" de l'arborescence du paquet du logiciel, ce qui veut dire notamment un seul & même utilisateur associé à l'emballage du paquet, au dossier Contents, au sous-dossier MacOS, au fichier exécutable Disk Utility...

En cas d'in-cohérence de l'identité de l'utilisateur de "haut" en "bas" de l'arborescence du paquet, l'application est susceptible de "ratatouiller" indéfiniment au lancement et je pense que c'est là la raison de la mésaventure de Locke. La faute m'en incombe personnellement, en ce que lorsque de mon patch du code de l'exécutable Disk Utilility dans le sous-dossier MacOS via «Hex Fiend», j'ai dû imprimer à l'utilitaire notamment une identité d'utilisateur local. Laquelle a dû se conserver sur l'élément inclus Disk Utility lors de la réception du paquet par téléchargement, alors que la manipulation de ce paquet dans la session d'utilisateur bénéficiaire a dû approprier le paquet à l'identité d'utilisateur du récepteur. D'où une incohérence interne d'identité d'utilisateur sur l'arborescence du paquet.

En conséquence, il y a 2 sortes de choix :

- soit, après localisation de «Disk Oldility» dans /Applications/Utilities, passation de la commande :

Bloc de code:
sudo chown -R root:wheel /Applications/Utilities/Disk\ Oldility.app
où la récursivité de l'option -R restaure la cohérence d'identité de l'utilisateur en faveur de root, le System Administrator (comme c'est la règle dans les applications Apple natives recelées dans le répertoire /Applications ou son sous-dossier Utilities) - ce qui n'empêche nullement l'application d'être lancée par un utilisateur domicilié dans l'OS qui n'est pas root ;

- soit, après localisation de «Disk Oldility» dans les ~/Applications (dossier d'Applications du compte de l'utilisateur) ou même dans les /Applications (où le logiciel sera traité comme une application tierce possédée par un admin) ; ouverture par ⌘I sur le paquet du logiciel d'une fenêtre d'information du Finder et instauration de l'utilisateur dont la session est ouverte comme propriétaire, et de staff (voire admin) comme groupe - avec extension récursive de cette identité d'utilisateur à toute la profondeur de l'arborescence grâce à l'engrenage du bas de la fenêtre. Option sans doute choisie par Locke qui s'est instauré (récursivement) comme propriétaire du paquet sous l'identité Admin => ce qui instaure une cohérence de l'identité de l'utilisateur de "haut" en "bas" du paquet permettant au logiciel d'être lancé...​
 
Dernière édition par un modérateur:
Macomaniac : merci, merci, merci, merci... Mais cette autorisation que tu donnes via le terminal est-elle pérenne ? Par exemple si je clone mon système puis le restaure (ce qui suppose maintenant une réinstallation d'El Capitan), ou après une mise à jour, voire un réparation maintenant automatique des permissions, pas de soucis ?
Excuse moi pour la naïveté de la question, mis ces histoire me dépassent un peu...

Locke : mais quelle est, de ton côté ta méthode, si elle est diffusable ici (ou à défaut un petit indice, genre un lien l'air de rien... :D) ?
 
:coucou: Bigdidou.

J'ai testé en démarrant sur mon clone d'«El Capitan» => «Disk Oldility» (cloné du volume de mon disque interne dans le clone du DDE) est parfaitement fonctionnel. Aucune MÀJ d'«El Capitan» n'est susceptible d'affecter l'application, qui devrait être respectée à l'identique, dans la mesure où elle n'a pas comme intitulé un nom d'application Apple_native (comme si elle remplaçait «Disk Utility.app»), mais un nom distinct. Auquel cas elle ne sera pas « substituée par écrasement » comme les applications Apple_natives lors d'une MÀJ, mais « échappée » ("shuntée"), comme toute applications tierce ajoutée par l'utilisateur. Le sous-dossier /Applications/Utilities de mon OS est bourré d'applications tierces que j'ai ajoutées : elles sont toujours préservées par les mises-à-jour / mises-à-niveau (sauf si elles ne sont plus supportées par un nouvel OS - bien sûr).

Un rétro_clonage au disque interne du Mac à partir d'un clone incluant «Disk Oldility» doit restaurer une image de l'OS avec un «Disk Oldility» fonctionnel à l'identique (sauf pour Locke évidemment, chez qui les rétro_clonages demeurent des écritures virtuelles incapables d'affecter le disque interne du Mac).
 
Dernière édition par un modérateur:
:coucou: Jean

Salut Macomaniac :coucou:

Merci pour ce partage. Un parfait retour vers le futur.:)

J'ai utilisé «Disk Oldility» à partir d'«El Capitan» démarré pour re-partitionner, en mode live le SSD de mon MacBook Pro, avec création volontaire d'espace libre hors-partitionnement, puis récupération toujours en mode live : la parfaite lisibilité du logiciel classique et une effectuation sans bavures.

J'attends toujours un patch de l'exécutable translate (le moteur de «Rosetta») mais comme disait toujours Rudyard Kipling : « C'est une autre histoire » (car il s'agirait de plus qu'un patch - et néanmoins à n'en pas douter, une révision du code du traducteur PPC => Intel absolument réalisable en terme d'ingéniérie).

Il m'arrive de me dire : si Apple ouvrait, en parallèle à ses OS gratuits, un "magasin" à logiciels obsolètes « rétro-compatibilisés » en des versions payantes : eh bien ! je serais prêt à payer pour récupérer l'usage d'un certain nombre d'entre eux...
361608_original.png
 
Dernière édition par un modérateur:
:coucou: Jean



J'attends toujours un patch de l'exécutable translate (le moteur de «Rosetta») mais comme disait toujours Rudyard Kipling : « C'est une autre histoire » (car il s'agirait de plus qu'un patch - et néanmoins à n'en pas douter, une révision du code du traducteur PPC => Intel absolument réalisable en terme d'ingéniérie).

Il m'arrive de me dire : si Apple ouvrait, en parallèle à ses OS gratuits, un "magasin" à logiciels obsolètes « rétro-compatibilisés » en des versions payantes : eh bien ! je serais prêt à payer pour récupérer l'usage d'un certain nombre d'entre eux...
361608_original.png
Je te comprends. Ne te méprends pas sur le sens de mon message, c'est avec un parfait bonheur que j'ai retrouvé l'ancien utilitaire de disque.
Le nouveau va rouiller dans un coin, en attendant qq améliorations. :)
 
Bonjour,

il ne se passe pas un jour sans que je me félicite d'avoir pris Yosemite au temps où des sirènes bien intentionnées me vantaient le tout frais émoulu El Capitan.
Comme il ne se passe pas un jour –quand je passe ici, de me réjouir de la prose circonvoluée à l'envi de @macomaniac The Missing manual que tous les Machins et Machines devraient avoir comme livre de chevet.
 
En cas d'in-cohérence de l'identité de l'utilisateur de "haut" en "bas" de l'arborescence du paquet, l'application est susceptible de "ratatouiller" indéfiniment au lancement et je pense que c'est là la raison de la mésaventure de Locke. La faute m'en incombe personnellement, en ce que lorsque de mon patch du code de l'exécutable Disk Utilility dans le sous-dossier MacOS via «Hex Fiend», j'ai dû imprimer à l'utilitaire notamment une identité d'utilisateur local. Laquelle a dû se conserver sur l'élément inclus Disk Utility lors de la réception du paquet par téléchargement, alors que la manipulation de ce paquet dans la session d'utilisateur bénéficiaire a dû approprier le paquet à l'identité d'utilisateur du récepteur. D'où une incohérence interne d'identité d'utilisateur sur l'arborescence du paquet.
J'ai utilisé exactement le même logiciel Hex Fiend pour modifier et Pacifist pour extraire l'Utilitaire de disque de Yosemite. Ce fut quand même un peu galère, car si je me souviens bien il y a trois possibilités pour extraire depuis le paquet.

De plus, c'est depuis un article du même auteur que j'ai fait la modification et je constate que la taille du fichier n'est pas la même. Par curiosité, si tu as le temps, regarde donc avec ma version... Utilitaire de disque Yosemite