Passer au contenu principal
Jamf Blog
Jamf Blog
November 11, 2019 Par Bill Smith

Réinstaller macOS Catalina en un clic

Découvrez comment effacer et réinstaller un Mac en un clic par le biais de deux règles Jamf Pro. Lisez l'article pour en savoir plus !

Apple a introduit la possibilité d'effacer et d'installer de zéro le système d'exploitation macOS dans macOS High Sierra 10.13.4 à l'aide d'une commande en ligne appelée startosinstall. Deux ans plus tard, Apple continue d'améliorer ce précieux outil pour les administrateurs Mac.

Lors de notre récent webinaire Réinstaller un macOS propre avec un seul bouton, nous avons discuté de ces améliorations et offert des conseils pour créer un workflow efficace pour les administrateurs Mac, à utiliser dans leur environnement. Ici, nous allons récapituler le webinaire et tenter de répondre aux questions de notre audience.

Un bref historique

Chaque installeur de macOS depuis OS X El Capitan 10.11 a inclus l'outil de ligne de commande startosinstall dans son bundle d'application. Cet outil a permis aux administrateurs Mac de créer un script d'installation de macOS, leur permettant de déployer des mises à niveau de leurs flottes de Mac via des outils de gestion comme Jamf Pro.

macOS High Sierra 10.13.4 incluait une nouvelle option --eraseinstall dans l'outil startosinstall, permettant aux administrateurs non seulement de mettre à jour ou de mettre à niveau les Mac existants, mais aussi de les effacer complètement et de réinstaller proprement macOS. Cela changeait complètement la donne car les administrateurs pouvaient désormais rafraîchir les Mac sur le terrain sans avoir besoin d'équipement supplémentaire tels que des disques externes bootables. Tous les paramètres de gestion, applications, comptes d'utilisateur et données utilisateur étaient effacés.

Apple a étendu ces fonctionnalités dans macOS Catalina 10.15 en ajoutant l'option --forcequitapps à l’outil startosinstall afin d’empêcher les applications en cours d'exécution d'interférer avec le processus d'installation ; ainsi que l’option --fetch-full-installer à la commande softwareupdate afin de télécharger et installer les mises à jour macOS.

Voyons comment nous pouvons rassembler tous ces éléments afin de réinstaller macOS Catalina avec un seul bouton.

1. Télécharger un nouvel installeur macOS

L'application Installer macOS Catalina apparaît dans l'App Store sur Mac, mais lorsqu'elle est téléchargée sur un Mac exécutant déjà Catalina, le téléchargement est transféré vers le panneau Mise à jour de logiciels dans les Préférences Système. Le téléchargement d'un nouvel installeur du système d'exploitation est désormais géré par le même mécanisme que l'obtention de Safari, des mises à jour de sécurité et des autres mises à jour du système d'exploitation.

La ligne de commande équivalente à la mise à jour de logiciels est softwareupdate et elle prend en charge le téléchargement non seulement de Catalina, mais également des installeurs pour Mojave et High Sierra, qui ne sont plus disponibles sur l'App Store.

Pour télécharger manuellement la dernière version complète de 8 Go Installer macOS Catalina, ouvrez l'application Terminal située dans Applications > Utilitaires et exécutez la commande softwareupdate avec la nouvelle option --fetch-full-installer. Cela nécessite que vous soyez connecté avec des privilèges d'administrateur. (La barre oblique inversée à la fin d'une ligne de commande signifie simplement qu'elle passe à la ligne suivante. Chaque fois que vous voyez cela, vous pouvez omettre la barre oblique et écrire la commande entière sur une seule et même ligne.)

 sudo /usr/sbin/softwareupdate --fetch-full-installer

Le terminal affichera la progression pendant le téléchargement et l'installation de l'application. « Installer » dans ce sens revient à installer l’application comme n'importe quelle autre application téléchargée depuis l'App Store : cela signifie que l'application Installer macOS Catalina est téléchargée et placée dans le dossier Applications - elle ne va pas se lancer et démarrer le programme d'installation.

Cela devrait ressembler à ceci dans la fenêtre du Terminal :

 sudo softwareupdate --fetch-full-installer
Downloading and installing (null) installer
Installing: 51.0%|

Le téléchargement de l’installeur à l'aide du Terminal prend environ le même temps que le téléchargement via le panneau de mise à jour de logiciels.

Pour récupérer une version antérieure de macOS, ajoutez l'option --full-installer-version suivie du numéro de version de macOS. Cette commande obtient par exemple le dernier installeur de Mojave.

 sudo /usr/sbin/softwareupdate \
--fetch-full-installer \
--full-installer-version 10.14.6

2. Identifier les Mac compatibles avec l’effacement et la réinstallation

Avant d'exécuter startosinstall pour effacer et réinstaller nos Mac, nous devons d'abord identifier ceux qui répondent aux caractéristiques techniques d’Apple.

Configuration générale requise

  • OS X 10.9 ou version ultérieure
  • 4GB de mémoire
  • 12.5GB d’espace de stockage disponible pour les systems OS X El Capitan 10.11.5 ou version ultérieure (J’aime doubler cette valeur afin d’avoir une marge confortable)

Configuration matérielle requise

  • MacBook (début 2015 ou plus récent)
  • MacBook Air (mi‑2012 ou plus récent)
  • MacBook Pro (mi‑2012 ou plus récent)
  • Mac mini (fin 2012 ou plus récent)
  • iMac (fin 2012 ou plus récent)
  • iMac Pro (2017)
  • Mac Pro (fin 2013 ou plus récent)

Pour ce faire, nous allons créer un nouveau groupe intelligent d'ordinateurs, le nommer « Mac compatibles macOS Catalina » et ajouter les critères suivants :

 Operating System Version: greater than or equal to 10.9
and Total RAM MB more than 4095
and Boot Drive Available MB more than 25600
and Model Identifier matches (see regex below)

Nous devons utiliser l'identifiant de modèle des Mac pour identifier les modèles exacts qu'Apple confirme éligibles pour Catalina. Cette liste regroupe près de 60 modèles. Plutôt que de remplir notre groupe d'ordinateurs intelligents avec 60 lignes de critères supplémentaires, nous pouvons utiliser une expression régulière (ou regex) pour ce faire. Regex nous permet de créer un modèle qui peut correspondre à certaines chaînes de caractères spécifiques telles que les identificateurs de modèle. Cette ligne de texte correspondra à tous les modèles éligibles, y compris le nouveau MacBook Pro 16 pouces sorti ce mois-ci. Copiez et collez cette ligne dans le champ de valeur du critère Model Identifier du groupe intelligent d'ordinateurs ci-dessus.

 (MacBookAir[5-8]|MacBookPro(9|1[0-6])|MacPro6|iMac(Pro)?1[3-9]?|MacBook(10|9|8)|Macmini[6-8]),.*

Après l'enregistrement, assurez-vous de cliquer sur le bouton Afficher pour vérifier que le groupe fonctionne comme prévu.

Profitez-en pour créer un deuxième groupe intelligent d'ordinateurs nommé « Installeur macOS Catalina en cache » et ajoutez les critères suivants :

 Application Title is Install macOS Catalina.app
and Application Version like 15.3

Cela nous aidera à identifier les Mac sur lesquels l’installeur de macOS Catalina est déjà téléchargé, afin d’empêcher Jamf Pro de la télécharger à nouveau. Assurez-vous d'obtenir la version actuelle de l'application d'installation (15.3 à l’écriture de cet article) en sélectionnant l’installeur désiré et en choisissant Fichier > Lire les informations.

3. Déployer l’installeur de macOS Catalina

Nous devons déployer l'application Installer macOS Catalina sur nos machines cibles identifiées par le groupe intelligent d'ordinateurs « Mac compatibles macOS Catalina ».

Si nos Mac cibles exécutent déjà Catalina, le moyen le plus efficace de leur envoyer l’installeur est de leur demander de le télécharger eux-mêmes. Sinon, nous devrons utiliser un outil de packaging comme Composer pour empaqueter l’installeur et le déployer de cette manière. (Les clients Jamf Pro trouveront Composer après s'être connecté à Jamf Nation et avoir consulté la zone My Assets. Cliquez sur le premier gros bouton Download.)

Créez une nouvelle règle dans Jamf Pro nommée « Mettre en cache Install macOS Catalina.app ». Dans ce contexte, « mettre en cache » signifie simplement que nous allons placer l’installeur dans le dossier Applications des machines ciblées. Nous n'exécutons pas encore le programme d'installation. Configurez les payloads et le périmètre suivants dans la règle :

Général

  • Nom d’affichage : Mettre en cache Install macOS Catalina.app
  • Déclencheur : Check-In récurrent
  • Fréquence d’exécution : Ongoing

Maintenance

  • Mettre à jour l’inventaire: Activé

Fichiers et processus

  • Exécuter la commande: /usr/sbin/softwareupdate --fetch-full-installer

Périmètre

  • Targets: Mac compatibles macOS Catalina (Groupe intelligent d’ordinateurs)
  • Exclusions: Installeur macOS Catalina en cache (Groupe intelligent d’ordinateurs)

Lorsque vous affichez la règle dans la liste des règles, elle devrait ressembler à ceci :

Pour déployer l’installeur de macOS Catalina sur un Mac exécutant macOS Mojave ou une version antérieure, utilisez tout d’abord Composer pour créer un package qui placera cet installeur dans le dossier Applications, puis sauvegardez ce package en tant que PKG. Uploadez-le sur votre point de distribution Jamf Pro.

Utilisez les mêmes paramètres de règle ci-dessus, mais remplacez le payload Fichiers et processus par le payload Paquets et ajoutez le package de l’installeur de macOS Catalina créé à partir de Composer.

Lors de la prochaine connexion des Mac durant le check-in (toutes les 15 minutes par défaut), ils téléchargeront et mettront en cache l’installeur sans interrompre les utilisateurs finaux. Notre périmètre garantit que l’installeur ne se télécharge que s'il n'existe pas déjà sur la machine.

Ceci nous permet donc de déployer l'application Installer macOS Catalina sur nos Mac cibles. Notre prochaine étape est de rendre la commande startosinstall disponible dans Self Service pour nos utilisateurs finaux.

4. Créer notre commande

Comme nous l’avons mentionné plus tôt, l'option --eraseinstall fait partie de l'outil de ligne de commande startosinstall qui se trouve directement dans le bundle de l’installeur de macOS Catalina. Pour trouver l'outil de ligne de commande, cliquez avec le bouton droit ou Ctrl-cliquez sur le fichier Installer macOS Catalina.app et choisissez Afficher le contenu du paquet > Contents > Resources. Localisez et faites glisser le fichier startosinstall dans une fenêtre du Terminal et ajoutez --usage à la fin.

 '/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall' ‑‑usage

Cette commande répertorie plusieurs arguments (chacun commençant par des tirets doubles) et explique l’effet de chacun. Nous voulons utiliser ce qui suit:

  • --eraseinstall - l'option grâce à laquelle la magie opère
  • --agreetolicense - requis pour automatiser entièrement le processus
  • --forcequitapps - empêche les applications en cours d'exécution d'entraver l'installation
  • --newvolumename - facultatif, nomme ou renomme Macintosh HD

En rassemblant l'ensemble de la commande sur une seule ligne, cela ressemble à ceci :

 '/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall' --eraseinstall
--agreetolicense --forcequitapps --newvolumename 'Macintosh HD'
image:alt_text

Comment ça marche ?

Lorsque nous copions l’installeur macOS Catalina sur nos Mac cibles et que nous exécutons la commande startosinstall avec les options ci-dessus, il prend rapidement de l'espace libre sur le Mac et s’en sert pour créer une partition temporaire. Après le partitionnement, la commande copie Installer macOS Catalina sur la partition temporaire, en fait le nouveau volume de démarrage et redémarre le Mac.

Quelques minutes après avoir cliqué sur le bouton Effacer et installer, le Mac redémarre et commence l'installation.

image:alt_text

Ensuite, à partir de la partition temporaire, l’installeur s'exécute et supprime la partition principale. Cela efface efficacement toutes les données de la partition. Puis il installe un nouveau système macOS Catalina sur la partition principale, rend celle-ci bootable et redémarre le Mac. Il ne reste plus qu'à supprimer la partition temporaire et le Mac est prêt.

5. Créer le bouton

Maintenant, mettons notre commande startosinstall dans une règle et rendons-la disponible dans Self Service.

Notre première règle ci-dessus place l'application Installer macOS Catalina sur nos Mac cibles. Lorsque cela réussit, notre groupe intelligent d'ordinateurs « Installeur macOS Catalina en cache » devrait maintenant répertorier les Mac prêts à être effacés et installés.

Créez une nouvelle règle dans Jamf Pro nommée « Effacer et installer macOS Catalina ». Configurez les payloads et le périmètre suivants dans la règle :

Général

  • Nom d’affichage : Effacer et Installer macOS Catalina
  • Déclencheur : Aucun (activez Self Service à la place, voir plus bas)
  • Fréquence d’exécution : Ongoing

Fichiers et processus

  • Exécuter la commande: '/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall' --eraseinstall --agreetolicense --forcequitapps --newvolumename 'Macintosh HD'

Périmètre

  • Targets: Installeur macOS Catalina en cache (Groupe intelligent d’ordinateurs)

Self Service

  • Rendre la règle disponible dans Self Service : Activé
  • Nom du bouton: Effacer & Installer
  • Description: ATTENTION — Votre Mac est sur le point d'être entièrement effacé et de réinstaller macOS. Avant de continuer, copiez tous les fichiers importants et les données utilisateur sur un autre ordinateur ou système de sauvegarde. Une fois votre Mac effacé, vous ne pouvez pas récupérer les données supprimées. (Pensez à utiliser le markdown pour mettre l'accent sur votre message. Voir l'exemple dans la capture Self Service plus loin.)
  • S’assurer que les utilisateurs consultent la description: Activé

Ajoutez une icône de bouton, attribuez des catégories et enregistrez la règle. Lorsque vous affichez celle-ci dans la liste des règles, elle devrait ressembler à la capture suivante :

image:alt_text

6. Utiliser le bouton

Après avoir ouvert Self Service sur l'un des Mac cibles et cliqué sur le bouton Effacer et installer, les utilisateurs finaux devraient voir l'avertissement avant de continuer.

Quelques minutes après avoir cliqué sur le bouton Effacer et installer, le Mac devrait redémarrer et commencer l'installation.

D’ici environ 10 à 15 minutes, le Mac terminera l'installation, redémarrera et affichera l'Assistant de configuration macOS.

7. Mettre à jour plutôt qu’effacer

Avec un simple changement, l'ensemble de ce workflow peut à la place mettre à niveau un Mac vers macOS Catalina à partir d'un système d'exploitation OS X 10.9 ou version ultérieure, tout en préservant les applications, les données et les paramètres utilisateur. Ou il peut réinstaller Catalina sur un système d'exploitation Catalina existant. La réinstallation de la même version de macOS peut parfois réparer des installations corrompues.

Modifiez la règle « Effacer et installer macOS Catalina » ou clonez-la pour en créer une nouvelle et renommez-la « Mettre à niveau vers macOS Catalina ». Ensuite, modifiez le champ Exécuter la commande dans le payload Fichiers et processus pour supprimer les options --eraseinstall et --newvolumename.

 '/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall' --agreetolicense --forcequitapps

Foire aux Questions

Q: Puis-je utiliser startosinstall pour rétrograder un Mac vers une version antérieure de macOS ?
R: Non, seule l'installation du même système ou la mise à niveau vers une version macOS plus récente est prise en charge..

Q: Puis-je utiliser startosinstall sur un Mac sur lequel FileVault 2 est activé ?
R: Oui! Si vous utilisez l'option --eraseinstall, la partition principale sera supprimée, qu'elle soit chiffrée ou non. Lorsque ce processus est utilisé pour mettre à niveau un système d'exploitation existant vers un système plus récent, le disque est déjà déverrouillé et l’installeur effectuera des redémarrages authentifiés, selon les besoins, afin de fonctionner avec les volumes compatibles FileVault.

Q: Puis-je définir le nom de l'ordinateur ou effectuer d'autres actions telles que l'activation de la gestion à distance à l'aide de ce workflow ?
R: Non, le nom de l'ordinateur est défini lors de l'assistant d'installation, qui vient plus tard. Utilisez un script ou une règle pour renommer les Mac après leur enrôlement dans Jamf Pro. La gestion à distance doit être activée à l'aide d'une commande MDM envoyée par Jamf Pro.

Q: Lorsque j'utilise l'option --installpackage de startosinstall, puis-je télécharger le package depuis Jamf Pro ?
R: Oui, mais il doit être placé à l'emplacement de votre choix sur le Mac avant d'exécuter la commande startosinstall et la commande doit fournir le chemin d'accès au package.

Q: Puis-je installer un package QuickAdd à l'aide de l'option --installpackage ?
R: Oui! L'installation d'un package QuickAdd à l'aide de startosinstall enrôlera un Mac dans Jamf Pro avant de terminer l'assistant de configuration. Cependant, cela n'activera pas le MDM approuvé par l'utilisateur (UAMDM). Un utilisateur assis devant le Mac devra approuver manuellement le profil MDM.

Q: Combien de packages puis-je installer à l'aide de l'option --installpackage ?
R: Cette option prend en charge plusieurs installations de packages, mais Apple n'a publié aucune limite maximale.

Q: Comment empêcher les utilisateurs non autorisés d'accéder à la règle d'effacement et d'installation dans Self Service ?
R: Changez le périmètre de la règle pour inclure (ou limiter) des utilisateurs ou groupes d’utilisateurs et activez la connexion d’utilisateurs dans Self Service. Seuls les utilisateurs dans le périmètre pourront alors voir la règle dans Self Service.

Q: Puis-je utiliser l'option --fetch-full-installer avec macOS Mojave ou une version antérieure ?
R: Non, cette fonctionnalité est uniquement disponible pour macOS Catalina.

Q: Est-ce que Jamf Now supporte ce workflow?
R: Non, le jeu de fonctionnalités de Jamf Now n'inclut pas tout le support nécessaire pour ce workflow.

Q: Puis-je utiliser les Achats en Volume pour acheter des licences pour Catalina et déployer l'application de cette façon?
R: L'utilisation d’Achats en Volume pour déployer Installer macOS Catalina n'a par le passé téléchargé qu'un installeur tronqué et non l’installeur complet. Cependant, l'invocation de la commande startosinstall déclenche le téléchargement du reste de l’installeur. Cela signifie que le Mac doit être connecté à Internet et que le téléchargement allongera considérablement le temps d'effacement et d'installation. En outre, macOS peut alerter de manière inattendue l'utilisateur et exécuter le programme d'installation. Cette méthode ne doit être utilisée que pour les Mac de laboratoire sans surveillance, voire pas du tout.

Q: Ne serait-il pas plus facile et plus rapide de créer des disques d'installation USB pour effacer et installer Catalina?
R: Pas nécessairement. Les Mac équipés de la puce T2 devraient d'abord être démarrés sur la partition de Récupération et la sécurité manuellement réduite pour permettre le démarrage à partir d'un support externe. De plus, l'effacement du disque avant d'installer un système d'exploitation propre nécessite une étape manuelle supplémentaire. Pour gagner du temps et préserver la sécurité, suivez ce workflow d’effacement et d’installation à la place.

Q: Quelles versions de Jamf Pro supportent ce workflow?
R: Tous les environnements Jamf Pro prennent en charge ce workflow. Les fonctionnalités utilisées ici sont disponibles depuis plusieurs années.

Q: L'option --fetch-full-installer me permettra-t-elle de télécharger High Sierra et les versions antérieures?
R: Cette option prend en charge le téléchargement de macOS Mojave 10.14.6 et macOS High Sierra 10.13.6. Pour télécharger des installeurs antérieurs, consultez la page du programme d'installation d'Apple.

Q: Est-ce que ce workflow nécessite DEP?
R: Non. Pour un déploiement plus facile d’une flotte de Mac, vous pouvez utiliser un serveur de gestion comme Jamf Pro, mais ce workflow ne dépend pas des technologies d'inscription automatique des appareils (Automated Device Enrollment).

Q: Ce workflow nécessite-t-il une connexion Internet?
R: Pour les mises à niveau d'une version macOS majeure vers une autre (par exemple de Mojave vers Catalina), le Mac doit être connecté à Internet pour télécharger les mises à jour nécessaires du micrologiciel (firmware). La réinstallation de la même version du système d'exploitation peut ne pas nécessiter une connexion Internet, mais est toujours recommandée.

Q: Est-il important que je construise mon package de déploiement de l’installeur de Catalina dans Composer en tant que PKG ou DMG?
R: Pour le déploiement par Jamf Pro, non, cela n'a pas d'importance. Jamf Pro traitera les deux de la même manière. Pour le déploiement par un autre outil de gestion, la meilleure pratique consiste à créer un PKG.

Q: Dois-je toujours passer par l'assistant de configuration Apple sur chacun de mes Mac?
R: Oui, ce workflow ne permet pas d’automatiser ou de contourner l'assistant de configuration.

Q: Puis-je accélérer le processus de téléchargement?
R: Lorsque vous utilisez la commande softwareupdate pour télécharger l’installeur de Catalina, l'activation du service de Mise en cache de contenu sur un Mac robuste sur le réseau peut réduire les temps de téléchargement de 50% ou plus.

Q: La commande softwareupate agit comme si elle téléchargeait mon installeur, mais c'est toujours le même ancien installeur. Que se passe-t-il?
R: Si le Finder reconnaît un autre installeur sur Macintosh HD ou sur un lecteur externe, il le trouvera et tentera de l'utiliser à la place. Assurez-vous de supprimer tous les anciens installeurs et de vider la corbeille pour vous assurer qu'une nouvelle copie est bien téléchargée.

Pour plus de discussion, n’hésitez pas à poster sur Jamf Nation.

Parcourir le blog
par catégorie :
S'abonner au blog

Recevez directement dans votre boîte mail les tendances du marché informatique, les mises à jour Apple et les actualités Jamf.