Archive for Guillaume

Comprendre les conteneurs APFS : partitionner pour mieux régner

J’ai pas mal parlé du système de fichiers APFS ces derniers jours, et voici un autre sujet peu expliqué sur le Net, alors qu’il me semble particulièrement intéressant : la notion de conteneur APFS. Pour la comprendre, il faut revenir à la notion de volume sur un disque.

Normalement, quand vous initialisez un disque, vous créez ensuite un ou plusieurs volumes dessus. Un volume est une partie de l’espace de stockage préparé pour recevoir des données. Traditionnellement, vous voyez un volume sur votre Mac, et il s’appelle Macintosh HD (alors que le petit du pangolin se serait appelé Gérard).

Cependant, pour plein de raisons historiques, il a été possible depuis la nuit des temps de préparer un disque pour créer non pas un mais plusieurs volumes, qu’on a appelé partitions. Et c’était fort pratique pour séparer des données les unes les autres, typiquement : pour installer deux versions de système sur un même disque dur. Cependant, une partition n’est pas forcément un volume : on peut très bien créer une partition sans lui appliquer de système de fichier. Dans ce cas, cette partition ne sera juste pas visible ou exploitable par votre ordinateur.

Donc : un disque peut contenir des partitions, chacune étant ou non préparée pour être un volume.

C’est clair pour tout le monde ? Je peux passer à la suite ?

La partition sur un disque classique

Sur un système de fichier classique, on détermine la taille de la partition lors de sa création. Les systèmes d’exploitation modernes comme macOS sont capables de créer une nouvelle partition simplement en diminuant la taille de la partition en cours, et en créant la nouvelle partition dans l’espace restant. C’est ce que permet Utilitaire de disque quand vous ajoutez une partition sur un système de fichier macOS Étendu (HFS+).

Prenons un cas pratique. J’ai un disque de 500 Go. J’ai initialisé le disque et formaté une partition A pour y créer un volume A1. Tout va bien pour le moment.

Je souhaite maintenant installer un autre système d’exploitation dessus sans toucher à mon système existant. Dans ce cas, je crée une nouvelle partition B de 250 Go, sur lequel j’applique un volume, que j’appelle B1 , et j’installe mon système dessus. Tout va bien aussi.

Le hic, c’est qu’il me faut décider à l’avance de la taille de ma partition, et l’espace alloué lui est définitivement réservé. Ici, chaque volume prend 250 Go, et si une partition est remplie, et bien… tant pis ! Dans certains cas, on pourra éventuellement réduire la taille de la partition, mais c’est une opération quelque peu complexe… et un poil dangereuse (oui, il vaut quand même mieux éviter de triturer les tables de partition dans la mesure du possible même si en cas de problème, Utilitaire de disque saura remettre normalement tout dans l’état avant le partitionnement du disque).

Et alors, et alors, et alors ? APFS est arrivéééééééééééé…

Contrairement à un disque HFS+, un volume APFS est un conteneur intégrant plusieurs volumes distincts. Avec Utilitaire de disque, si on sélectionne le conteneur APFS, on note par exemple un volume VM avant même le volume principal.

Le point le plus intéressant est que l’espace entre les différents volumes du conteneur est fluide, dans le sens où il est partagé entre les différents volumes. Vous disposez de la même quantité d’espace sur votre conteneur APFS, et tous les volumes voient la totalité de l’espace du conteneur comme disponible.

Quel intérêt ? Très simple : ne plus avoir à décider à l’avance la taille d’une partition… et regretter plus tard ce choix. Là, si vous avez décidé de rajouter un volume sur votre conteneur APFS, ça n’a aucune incidence sur l’espace disponible pour les autres partitions. Si vous aviez 300 Go d’espace libre précédemment dans votre conteneur pour votre volume A1, après avoir créé un nouveau volume APFS, le volume A1 verra toujours 300 Go de disponible ! L’espace disponible indiqué pour chaque volume sera toujours exactement le même.

Exemple pratique : j’ai du il y a quelques jours installer un système de test sur un Mac. Plutôt que de partitionner le disque (ce qui peut prendre beaucoup de temps si votre disque contient beaucoup de données, et là encore, manipuler les tables de partition, plutôt bof) sans savoir de combien de place j’aurai besoin, j’ai rajouté un volume au sein du conteneur APFS sans me prendre la tête sur la quantité d’espace nécessaire pour ce volume. Temps de l’opération : 30 secondes, impact sur ma façon de gérer mes données sur mon volume actuel : nul.

Si on ouvre Utilitaire de disque, on a bien ici un conteneur, qui contient d’ailleurs déjà un volume TARDIS.

Conteneur APFS 01

Si on clique sur Partitionner, on obtient un étrange message qui propose de partitionner « à l’ancienne », ou de rajouter plutôt un conteneur APFS.

Conteneur APFS 02

Notez qu’effectivement, il y a bien comme indiqué un menu Ajouter un volume APFS dans le menu Édition. Notez-le si vous décidez de devenir un maniaque du volume APFS.

Conteneur APFS 03

Nommez le volume, et cliquez enfin sur le bouton Ajouter.

Conteneur APFS 04

Et hop : en quelques secondes, le volume APFS était dispo, sans que cela ampute le volume d’origine d’un seul octet (bon, allez, sûrement quelques octets, mais vraiment c’était pas cher payé, et c’était rapide).

Notez bien : désormais, chaque volume dispose du même espace disque disponible. Bon, pas tout à fait, presque disponible, pour des raisons sûrement passionnantes, le volume additionnel peut présenter une taille un peu différente (une vingtaine de Go quand même dans notre cas…). Mais si vous copiez un élément sur le nouveau volume, vous constaterez que l’espace perdu le sera également sur la première.

APFS Comparaison Volumes

Bref, les conteneurs APFS, ce sont les joies de la création de volumes en quelques secondes, et sans toutes les emmerdes habituelles du partitionnement, c’est pas génial ça ? Si, bon.

Pour supprimer le conteneur, cliquez dessus, puis sur le bouton moins, et validez. Hop, le volume disparaît quasi instantanément et toutes ses données avec lui, et vous retrouvez votre volume de démarrage préféré tout seul aux commandes.

Déterminer une taille de réserver et/ou un quota sur un volume APFS

Malgré cela, vous aurez peut-être envie de limiter la place prise par un volume au sein du conteneur APFS. C’est pourquoi, au moment de la création du volume, vous pouvez cliquer sur Options de taille puis déterminer une taille de réserve et un quota de réserve.  La taille de réserve, c’est l’espace minimum garanti pour ce volume APFS : quoi qu’il arrive, il ne pourra descendre en dessous de la taille indiquée. Du coup, il lui sera donné priorité si l’espace venait à manquer entre les deux volumes. La taille de quota, c’est en fait la taille maximale du volume : vous ne pourrez pas le remplir de données au-delà de la quantité indiquée (sinon il hurle et alerte Alexandre Benalla).

Conteneur APFS 06

Considération philosophique du jour : à quand un volume APFS… réservé au système ?

La gestion des conteneurs APFS apporte, mine de rien, un changement assez important dans la façon dont nous traitons les volumes sur nos Mac. Cela peut même avoir certains intérêts pour, par exemple, sécuriser des données dans un volume particulier d’un conteneur dédié (et oui, chaque volume APFS peut avoir son propre chiffrement).

Mai je vois sur le long terme qu’Apple pourrait profiter de son expérience avec iOS pour répliquer le même fonctionnement sur macOS. À savoir : stocker le système des Mac de façon sécurisée dans un volume APFS, et rendre ce dernier quasiment inaccessible. En terme de sécurité, cela serait un progrès non négligeable, et l’intérêt de l’APFS serait de s’assurer que dans tous les cas, les données de l’utilisateur bénéficient toujours du maximum d’espace disponible sur le disque malgré la partition. Les données de l’utilisateur resteraient alors localisées uniquement sur un conteneur séparé du système. Peut-être que je me méprends, mais vu l’iOSsification de macOS, je ne serais pas surpris de voir cela arriver un jour, et peut-être même plus tôt que vous pourriez le croire.

Faire un nettoyage des snapshots de macOS

J’ai abordé hier la notion de snapshot avec APFS, une fonction super puissante et très pratique pour créer un instantané d’un volume. Suite à cet article, j’ai reçu une question sur le stockage de macOS qui prend parfois bien plus de place qu’il ne devrait. Par exemple une partition macOS qui occupe 300 Go d’espace alors que l’utilisateur n’exploite réellement que quelques Go du disque. Et cela m’a fait penser à un problème que j’ai rencontré récemment avec ces fameux snapshots.

En effet, en voulant faire du nettoyage sur mon Mac, j’ai dégagé une grosse partie des machines virtuelles que j’utilisais avec VMware Fusion. Mais une fois la corbeille vidée, surprise : impossible de récupérer l’espace-disque pris par ces machines ! Soit plusieurs centaines de Go…

Il faut savoir que normalement, les snapshots sont automatiquement nettoyés lorsque de l’espace-disque est nécessaire. Ils sont donc à ce titre considérés comme de l’espace-disque disponible et comptés comme tel. En clair : même si un Snapshots prend 200 Go sur votre disque, macOS n’affichera pas cette espace comme occupé.

Sauf que dans mon cas, ça n’est pas exactement ce qui s’est produit. Et cela était à priori dû à une fonction de macOS : les instantanés locaux de Time Machine. Cette fonction suuuuuuper utile permet de sauvegarder régulièrement les données de votre poste même quand votre disque Time Machine n’est pas disponible. Dans ce cas, macOS passe par les sauvegardes locales pour vous permettre quand même de récupérer vos données en cas de pépin (genre un fichier que vous avez effacé par erreur).

Revenons sur notre problème. Dans mon cas, je ne sais pas si c’était dû à un bug ou pas, mais la seule solution a été pour moi de supprimer les snapshots locaux. Pour cela, il a fallu à nouveau passer par le Terminal et la commande tmutil.

tmutil listlocalsnapshotdates /

Affiche les dates des snapshots disponibles pour votre Mac :

Time machine snapshots

On aurait pu utiliser aussi

tmutil listlocalsnapshots /

Mais la première commande est préférable car elle liste uniquement les dates des snapshots, et comme vous le verrez ensuite, ça sera plus pertinent.

À priori, peu de chances que votre disque soit gavé jusqu’à la moelle de snapshots. Mais si vous devez en effacer, vous disposez de deux options.

Supprimer une certaine quantité de données

Pour cela, tapez :

tmutil thinlocalsnapshots / TailleEnOctets UrgenceDe1à4

Vous pouvez spécifier dans la commande :

– La taille en octets à récupérer. Par exemple, si vous voulez récupérer 10 Go, tapez 10000000000 (Oui je sais qu’un Go ça fait pas 10 000 000 000 octets précisément MERCI, c’est pour simplifier enfin) ;

– Eventuellement, le degré d’urgence, qui sera un chiffre compris entre 1 et 4.. Ce qui est rigolo, c’est qu’Apple ne précise pas ce que ça fait exactement. Mais on peut penser que ça permet, euh, de faire agir la commande plus vite. Ou pas. Bref.

Supprimer des dates précises de snapshots

C’est dans ce cas précis qu’il vaut mieux avoir les dates uniquement affichées avec listlocalsnapshotdates.

tmutil deletelocalsnapshots date

Où vous remplacerez date par une date de snapshot à supprimer.

Evidemment, vous voyez le souci : il est impossible de facilement savoir quelle est la taille utilisée réellement par un snapshot APFS et donc de viser un snapshot précis. C’est fort dommage. Mais c’est comme ça.

Dans mon cas, donc, je n’ai vu regagner de la place sur mon disque qu’après avoir supprimé tous les snapshots locaux.

Un peu de philosophie sur la façon dont nous appréhendons le stockage

J’aurais quand même tendance à devoir de nos jours expliquer que le stockage s’use si on s’en sert. Mais pour le coup, les snapshots sont une BONNE façon d’occuper de l’espace de façon intelligente. Dans l’absolu, sauf horreur ou que vous ne trouvez vraiment pas votre compte de stockage, ne vous forcez pas à supprimer les snapshots locaux. Il vaut mieux les avoir sous la main et en disposer en cas de pépin plutôt que de vouloir absolument chercher à récupérer le moindre octet quand cela n’est pas nécessaire.

Bref : sauf cas extrême, laissez votre Mac gérer votre espace de stockage pour vous.

Faire un snapshot de macOS avant un déploiement

Avec l’arrivée d’APFS, Apple a introduit dans son système de fichiers une fonction très puissante : les snapshots. L’idée est de pouvoir rapidement prendre une sorte de photographie instantanée du disque, et de pouvoir rapidement y retourner en cas de problème. Par exemple : vous installez une mise à jour système, mais la mise à jour échoue : en quelques secondes, vous pouvez utiliser le snapshot fait avant l’installation pour revenir à un état de votre Mac exactement tel qu’il était avant le plantage. Puissant et très pratique !

C’est encore plus pratique pour pouvoir tester par exemple un processus de déploiement de Mac et rapidement revenir à l’état du poste avant le déploiement, en conjonction avec l’astuce précédente qui consistait à appeler le Terminal lors du premier démarrage du Mac. Une fois la fenêtre du Terminal apparue, tapez simplement :

tmutil localsnapshot

Et validez avec Entrée. Un message apparaitra pour confirmer le snapshot avec sa date de création.

Createlocalsnapshot

Si vous souhaitez revenir à l’état du Mac avant le snapshot, démarrez sur la partition Recovery avec Cmd +R puis sélectionnez Restaurer une sauvegarde Time Machine. Sélectionnez alors votre volume APFS, puis la sauvegarde à restaurer. Après quelques secondes, votre Mac redémarre tel qu’il était au moment du snapshot.

Time Machine Restore local snapshot 2

Time Machine Restore local snapshot 1

Attention cependant : les snapshots effectués ainsi expirent au bout de 24 heures. Il faut donc penser à recréer régulièrement un nouveau snapshot pour éviter tout souci !

Conférence : Apple et le Design, 24 janvier 2019, Paris (confirmé)

280px Macintosh 128k transparency

À l’occasion des 35 ans du Mac, je donnerai une conférence Apple et le Design, le 24 janvier 2019, avec le Club Photoshop à Paris. Je reviendrai sur l’importance du design chez Apple, les processus industriels, l’évolution du design du Mac à travers les âges… Une conférence haute en couleurs et en anecdotes !

Il faut s’inscrire sur le site http://www.photoshop-paris.org. Si vous êtes membre du club Photoshop, l’inscription est gratuite, sinon, la participation vous en coûtera 15 euros (l’association ayant des frais à couvrir), avec également la participation de l’exceeeeeeeeellent Michel Netzer d’Apple qui causera déploiement de parc et du non moins exceeeeeeeeellent Hervé Petit qui viendra parler colorimétrie. Pour info, il n’y aura pas de captation vidéo des conférences.

Et si vous avez envie de voir cette conférence Apple et le Design, et que vous vous sentez l’âme d’organiser un tel événement, n’hésitez pas à me contacter !

Modifier le fond d’écran d’ouverture de session de macOS

Je continue la série des articles techniques un peu velus (ça vous a manqué hein !) avec la réponse à cette question de Jean-Pierre Liégeois, jeune lecteur du Var : comment modifier le fond d’écran affiché derrière la fenêtre d’ouverture de session ou sur la fenêtre de verrouillage de macOS ?

Merci d’avoir posé cette question, ami lecteur. En fait, comme bien souvent… ça dépend de votre version de macOS.

Sous macOS Sierra et High Sierrra

macOS 10.12 et 10.13 utilisent une image au format PNG, placée dans /Library/Caches/ et appelée com.apple.desktop.admin.png. La solution au problème est donc toute simple : il suffit de copier votre fond d’écran dans ce dossier, et éventuellement de le verrouiller avec Cmd + I > Verrouiller.

Sous macOS Mojave

Évidemment, Apple étant Apple, elle n’a pas pu s’empêcher de modifier le comportement sous macOS 10.14. L’image au format PNG est toujours indispensable, mais elle doit être placée à un endroit très précis. À savoir dans un dossier /Library/Caches/Desktop Pictures/User_UUID, où User_UUID est l’identifiant unique de l’utilisateur, tel qu’on peut le trouver en accédant aux informations avancées d’une fiche d’utilisateur (préférence Système > Utilisateurs et groupes, déverrouiller la préférence puis clic droit sur un utilisateur dans la liste > Options avancées.

Et là, donc, ça complique un peu la tâche : en effet, il faut placer le fichier au bon endroit, puis le verrouiller. Pourquoi ? Parce que si l’utilisateur modifie son fond d’écran,  c’est une version non floutée qui apparaît et votre fond d’écran va dégager. Ça serait dommage.

Voici donc un petit script que vous pouvez lancer à l’ouverture de session d’un utilisateur (par exemple avec outset) pour copier votre fond d’écran de verrouillage dans le bon dossier, puis le verrouiller pour éviter toute modification par l’utilisateur.

#!/bin/bash
# On récupère le nom de l'utilisateur
consoleuser=`stat -f%Su /dev/console`
# Puis son UUID
UUID=`dscl . -read /Users/$consoleuser GeneratedUID| cut -c 15-50`
# On copie le fond d'écran lockscreen.png placé dans /Library/Desktop Pictures/ au bon endroit sur le disque
cp /Library/Desktop Pictures/lockscreen.png /Library/Caches/Desktop\ Pictures/$UUID/
# et on verrouille le fond copié
chflags uchg /Library/Caches/Desktop\ Pictures/$UUID/lockscreen.png
exit 0

Voilà le travail ! Et si l’utilisateur modifie son fond d’écran, le fond de verrouillage restera celui que vous avez choisi.

Notez encore que sous Mojave, le comportement est un peu différent puisque le nouveau fond apparaîtra quand l’utilisateur sélectionnera son compte. Avant ça, vous aurez encore droit au fond Mojave…

Comment déployer un fond d’écran sur macOS ?

Ça semble être une question idiote, mais elle est récurrente chez mes clients qui souhaitent appliquer un fond d’écran uniforme sur tous leurs postes (fond d’écran corporate comme on dit. Je ne vais pas donc vous donner ici d’explications sur comment utiliser la préférence Système Bureau et économiseur d’écrans mais plutôt vous donner des pistes sur la façon de déployer et appliquer le fond de votre choix.

Il existe plusieurs approches pour se faire. Mais commençons par le commencement…

Créer un package pour vos fonds d’écran

Tout d’abord, il faut bien se souvenir que les fonds d’écran par défaut sont situés dans /Bibliothèque/Desktop Pictures/. Si vous devez placer un nouveau fond d’écran, il faudra donc de préférence le copier dans ce dossier et pas ailleurs. Il vous faudra packager votre fond pour le déployer, et là-dessus, les méthodes ne manquent pas. Si vous devez utiliser un seul  outil de création de packages, Packages est sûrement celui qu’il vous faut (Jamf Composer est pas mal non plus, mais payant).

Une fois le package généré, vous le déployez sur vos Mac avec l’outil de votre choix. Si vous avez une solution de gestion de parc capable de déployer des packages, c’est le moment de l’exploiter !

Packages Fond Ecran

Remplacer le fond d’écran par défaut de macOS par une autre image.

C’est peut-être la méthode la plus simple, finalement : remplacer les fonds d’écran macOS par défaut par un autre fond d’écran avec le même nom. C’est une méthode qui fonctionne bien… à l’exception de Mojave, qui change un peu les règles en raison de son nouveau format de fichier. Et il est préférable de faire une copie des fonds d’écran d’origine, au cas où un utilisateur souhaiterait plutôt utiliser le fond d’écran proposé par Apple… Enfin, ça rend les choses un peu plus confuses, puisque le nom du fond d’écran affiché restera celui du fond d’écran Apple, donc par exemple sous High Sierra, il faudra choisir le fond d’écran High Sierra pour afficher le fond d’écran de l’entreprise. Pas très logique…

Déployer un fond d’écran puis l’appliquer par profil

C’est la méthode la plus efficace si vous disposez d’une solution de gestion de parc, mais elle a une limitation importante : le fond d’écran est imposé ET verrouillé pour tous vos utilisateurs. ET il faut que votre poste soit intégré dans une solution MDM (bon, ça peut se faire sans, avec un profil appliqué à la main, mais c’est clairement moins intéressant).

Pour appliquer cette méthode, il faut au préalable copier le fond d’écran à l’endroit de votre choix (par défaut, on dira dans /Bibliothèque/Desktop Pictures). Puis on utilisera un profil de configuration qui appliquera le bon réglage.

Notez qu’Apple définit deux clés :

locked : booléen, valeur TRUE ou FALSE – Verrouille le fond d’écran.

override-picture-path : string, valeur (exemple) : /Library/Desktop Pictures/supermario.jpg – Chemin du fond d’écran.

Mais en pratique, si vous définissez un chemin via le profil, quoi qu’il arrive, le fond d’écran est appliqué et on ne peut pas changer le fond. C’est moche.

En théorie on pourrait aussi jouer avec les préférences gérées (les fameux MCX bien connus des admins Mac) pour l’appliquer une seule fois, mais je n’ai pas réussi à faire un profil pour ça. Si vous avez des idées, je prends :-)

Déployer un fond d’écran par défaut avec desktoppr et outset

La méthode suivante requiert l’installation de deux outils open source en ligne de commande : desktoppr et outset.

desktoppr est un outil super simple à utiliser : vous lancez juste la ligne de commande desktoppr et le chemin d’accès du fond d’écran, et il est appliqué instantanément. Facile comme tout. Ça se télécharge par là.

Le problème : idéalement, il faudrait pouvoir le lancer une seule fois sur le poste pour définir le fond de notre choix comme fond par défaut, mais éviter que le fond d’écran soit ensuite à nouveau modifié. C’est là qu’intervient outset. Cet outil à télécharger ici permet de lancer des scripts, paquets d’installations ou profils de configuration au démarrage du Mac ou au démarrage d’une session, mais on peut l’utiliser pour lancer un élément uniquement à la première ouverture de session de l’utilisateur.

Une fois installé sur un poste, outset propose plusieurs dossiers dans /usr/local/outset/. Un seul nous intéresse ici : 

login-once : lance un script à la première ouverture de session d’un utilisateur 

Placez donc un script avec le contenu suivant :

#!/bin/bash
/usr/local/bin/desktoppr /Library/Desktop\ Pictures/MonFond.jpg
exit 0

Et enregistrez ce script dans /usr/local/outset/login-once/.

Attention : le script doit être exécutable (chmod 755 chemin/du/script par exemple).

Il semble aussi qu’il y ait un petit bug avec outset sur Mojave, pour le corriger, un coup de ligne de commande :

sudo chown -R root:admin /usr/local/outset/
sudo chmod -R 755 /usr/local/outset/

Quelques considérations techniques sur la qualité du fond d’écran

Votre fond d’écran doit être de très bonne qualité pour s’afficher sur un écran 5K maximum à l’heure actuelle, soit une définition de 5120 pixels de large sur 2880 pixels de haut.

Testez la lisibilité de votre fond d’écran avec des icônes. S’il le faut, modifiez le contraste du fond pour qu’il soit propre.

La marque de votre entreprise est peut-être importante… mais l’imposer ne doit pas se faire au détriment de la fonctionnalité. Si votre fond d’écran est trop lourd, trop chargé visuellement, il pourra être très mal perçu (surtout en environnement créatif, où les graphistes préfèrent souvent un fond gris neutre). Testez donc bien votre fond afin qu’il soit bien perçu.

Enfin, une considération plus philosophique que technique : nous passons pour certains plus de huit heures par jour sur nos satanées bécanes, et parfois, le simple fait de pouvoir mettre un fond d’écran conforme à nos passions peut suffire à embellir nos journées et à faire passer la journée un peu plus vite. Ne pensez donc pas forcément que la marque de votre entreprise prime sur le reste.

https://github.com/scriptingosx/desktoppr/releases

Appeler une fenêtre de Terminal dès le premier démarrage de macOS

Comme expliqué dans mon astuce précédente, on peut facilement faire ré-apparaître l’assistant de choix de langue de macOS au premier démarrage du Mac après une réinstallation complète du système. Mais cette astuce est plus stratégique qu’il n’y paraît.

En effet, elle permet aussi d’appeler une fenêtre de Terminal… en mode root ! Ce qui permet par exemple de lancer un script pour personnaliser le système avant même le premier démarrage du Mac après avoir monté un disque externe. Ce qui peut être fort utile puisque désormais, les Mac deviennent de plus en plus durs à configurer en sortie de carton, en dehors du programme Apple Business (ex-DEP). Dans certains environnements où je travaille, on me demande de préparer un poste avant de le livrer à l’utilisateur, et cette solution peut être intéressante pour rapidement remettre un poste à neuf, installer des mises à jour système ou quelques application, des fonds d’écran, etc.

Pour faire apparaître la fenêtre de Terminal, enfoncez donc simplement les touches : Cmd + T (pour certaines versions de macOS, c’est peut-être Cmd + Shift + Ctrl + T, mais en 10.13, Cmd + T semble suffire).

MacOS Root Terminal Language Chooser

Une fois que vous avez obtenu l’accès root, vous pouvez faire différentes opérations, mais le plus intéressant est bien évidemment de lancer un script d’installation via la ligne de commande. Pour monter un disque externe, tapez :

diskutil mountDisk disk2

En supposant qu’un seul disque externe soit connecté, sinon utilisez :

diskutil list

pour trouver le bon disque.

Si tout est OK, les volumes du disque externe seront montés dans /Volumes/, et vous pourrez vous y déplacer :

cd /Volumes/NomDuVolume

Ceci fait, vous n’avez plus qu’à lancer par exemple un script stocké sur votre disque externe :

./install.sh

Script dans lequel vous placerez toutes les actions à déclencher à la chaine, comme l’installation de packages avec la commande installer. N’oubliez donc pas de rajouter un shutdown à la fin du script pour éteindre le Mac avant de le livrer à son utilisateur final.

Faire apparaître à nouveau le choix de la langue au démarrage

Si vous avez suivi mon astuce précédente pour réinstaller entièrement macOS, vous aurez peut-être constaté un petit souci : le premier assistant de choix de la langue de macOS ne s’affiche pas.

Language chooser

Cet assistant ne se lance en effet qu’au tout premier démarrage de macOS, mais à la réinstallation, macOS conserve la langue choisie précédemment au premier démarrage. Il faut déjà savoir que macOS vérifie à chaque démarrage la présence du fichier /var/db/.AppleSetupDone et lance l’assistant de configuration s’il est absent.

Le problème vient de l’absence du fichier .RunLanguageChooserToo, présent habituellement dans le dossier /var/db/. Son nom commence par un point, et il est donc habituellement invisible.

Pour forcer l’affichage de cet assistant, il faut :

  1. Démarrer en mode Single User en enfonçant les touches Cmd + S ;
  2. Taper la commande suivante afin de monter le volume de démarrage en lecture / écriture (attention, la frappe clavier sera en QWERTY !)  :mount -uw /
  3. Placez-vous ensuite dans le bon dossier :

    cd /var/db
  4. Créez le fichier :touch .RunLanguageChooserToo
  5. Il ne reste plus qu’à redémarrer :reboot

MacOS Single User RunLanguageChooserToo

Au redémarrage suivant, la fenêtre de choix de la langue s’affichera à nouveau avant l’Assistant de démarrage.

Et si vous avez envie d’automatiser tout ça, je vous propose un petit package qui force le lancement de l’assistant de langue au démarrage en créant le fameux fichier. Vous pouvez ainsi l’automatiser avec la ligne de commande startosinstall, comme expliqué dans l’astuce précédente.

Télécharger RunLanguageChooserToo.pkg (18 Ko)

Et afficher cet écran de langue n’est pas forcément si anodin, comme je vous l’expliquerai dans une toute prochaine astuce…

Faire une installation propre de macOS depuis le logiciel d’installation de macOS avec startosinstall

macOS Install App

Si vous devez réinstaller macOS de façon totalement propre (clean install, comme on dit dans notre jargon d’informaticien), vous disposez de plusieurs méthodes : 

  • Démarrer depuis une clé de démarrage créée avec DiskMaker X (ou un autre outil) ou la ligne de commande, formater le disque et réinstaller le système;
  • Démarrer depuis la partition macOS Recovery, formater le disque et réinstaller le système depuis Internet ;

Mais depuis le logiciel d’installation de macOS 10.13.4, il existe une autre méthode : utiliser la commande startosinstall  en y ajoutant l’option eraseinstall. Cette commande est « cachée » dans le logiciel d’installation de macOS. Vous pouvez la lancer depuis le système en cours d’utilisation, ce qui aura pour effet de redémarrer le Mac, effacer le contenu de la partition en cours et réinstaller le système au propre. Et oui, tout d’un seul coup ! Evidemment, n’utilisez pas cette méthode si vous avez encore des données non sauvegardées à conserver !!!

Pour utiliser cette méthode, le plus simple est de laisser l’application Installer macOS Mojave (lien de téléchargement) ou Installer macOS High Sierra (lien de téléchargement) dans le dossier… /Applications.

Ensuite, lancez le Terminal, et tapez la commande suivante :

– Pour macOS Mojave :

sudo /Applications/macOS\ Mojave\ Install.app/Contents/Resources/startosinstall --eraseinstall

– Pour macOS High Sierra :

sudo /Applications/macOS\ High\ Sierra\ Install.app/Contents/Resources/startosinstall --eraseinstall

Vous devrez ensuite valider en tapant votre mot de passe d’administrateur, puis en tapant A pour valider le fait que vous souhaitez reformater le système, et encore une fois A pour accepter la licence de macOS. Votre Mac va alors redémarrer, puis réinstaller un système tout beau tout propre.

Quelques remarques :

  • Le système doit être installé sur une partition APFS. Si vous êtes encore en HFS+, ça ne fonctionnera pas.
  • L’application d’installation de macOS 10.13 doit installer macOS 10.13.4 minimum. Si vous essayez avec une version plus ancienne, ça ne passera pas. Téléchargez à nouveau macOS 10.13 depuis l’App Store pour récupérer la dernière version (10.13.6).
  • Cette astuce ne fonctionne que si le système installé est déjà en 10.13.4 minimum. Par exemple, vous ne pourrez pas faire un effacement / réinstallation si vous essayez d’utiliser startosinstall depuis un Mac ayant démarré sur un 10.12.
  • Si la partition est chiffrée avec FileVault, elle sera effacée et le système sera réinstallé sur le volume non chiffré. Il faudra donc réactiver FileVault derrière (en tout logique).
  • Si vous ne souhaitez pas afficher le message de licence, ajoutez après la commande l’option –agreetolicense
  • Par défaut, macOS crée sur un disque APFS un conteneur qui peut intégrer des volumes additionnels dont l’espace de stockage est partagé au sein du conteneur. Par exemple, un conteneur de 1 To peut intégrer deux volumes distincts mais dont le stockage est partagé entre les deux volumes. Si vous utilisez l’option eraseinstall, tous les volumes du conteneur APFS seront effacés. Pour éviter cela, ajoutez l’option –preservecontainer pour effacer uniquement le volume de démarrage courant sans toucher aux autres volumes.
  • Vous pouvez renommer automatiquement la partition avec le nom de votre choix en ajoutant l’option –-newvolumename suivie du nom de votre choix (pensez à mettre le nom entre guillemets si vous souhaitez le nommer avec des espaces). Exemple :
sudo /Applications/macOS\ High\ Sierra\ Install.app/Contents/Resources/startosinstall --eraseinstall --newvolumename "Macintosh HD"

 Notez que la réinstallation est alors assez rapide : comptez une quinzaine de minutes.

Si vous utilisez une solution de gestion de parc type Jamf Pro, FileWave, Munki… vous pouvez utiliser cette méthode pour facilement remettre un poste au propre, en déployant au préalable l’app d’installation puis en lançant la commande via un script.

Et si vous avez n’aimez pas le Terminal, il existe EraseInstall.app, une interface graphique pour cette commande.

Plombiers et champignons : le podcast consacré à Super Mario !

Plombiers et champignons Logo 500x500

Bon, vous le savez si vous me connaisssez un peu (si vous n’avez pas encore compris, regardez juste mon avatar Twitter), je suis un fan de Super Mario depuis pfiouuuuuuuu. Et l’année passée, j’ai décidé de lancer un nouveau podcast consacré à ce héros pas comme les autres. Il s’appelle Plombiers et Champignons, et je le co-anime avec l’exceeeeeeeeellent Antistar (un autre Guillaume). On revient sur ses aventures les plus marquantes, son importance, ses épisodes phares, ses séries dérivées, on polémique… Et on classe les épisodes emblématiques de la série dans la ROM !

 Si vous aimez les jeux vidéo, si vous avez la nostalgie de vos années passées sur console 8 ou 16-bit, si vous avez envie d’en savoir plus sur l’univers de notre plombier préféré, n’hésitez pas à écouter ce podcast réalisé avec amour par deux vrais passionnés. On a même réalisé des trucs rigolos, comme une interview de Michel Elias, la voix de Mario et Wario en France !

Pour plus d’informations, c’est sur le site officiel : http://plombiers-et-champignons.com/

Abonnez-vous au podcast, commentez, notez-nous sur iTunes… On espère que vous apprécierez autant ce podcast que nous avons à le réaliser.