Catalina a introduit une nouvelle fonctionnalité qui recouvre et renforce les protections du système de fichiers que SIP fournit. Ce qu'il fait, c'est répartir les fichiers entre deux volumes : un volume système contenant les fichiers système fournis par Apple, et un volume "données" contenant tous les fichiers non-Apple et modifiables. Le volume système est monté en lecture seule sous le nom de / (le système de fichiers racine), et le volume de données est monté avec un accès en lecture-écriture sous le nom de /System/Volumes/Data. Il existe également des "firmlinks" qui fusionnent le contenu du volume de données là où il "appartient" (par exemple, /System/Volumes/Data/Users apparaît dans /Users). Si vous modifiez quelque chose dans un répertoire lié fermement, les modifications sont stockées sur le volume de données. Si vous essayez de modifier quelque chose dans un répertoire non lié fermement, cela échouera parce qu'il est sur un volume en lecture seule (même si SIP est complètement désactivé).
Pour plus de détails, voir le Critique de Catalina par Ars Technica le WWDC2019 sesson "What's New in Apple File Systems" (Quoi de neuf dans les systèmes de fichiers Apple) et un Carte du système de fichiers de l'Eclectic Light Company .
Si vous avez vraiment besoin d'apporter des modifications au contenu du volume système en lecture seule, c'est possible, mais je vous le déconseille s'il existe une alternative. La plupart des choses que vous voulez normalement modifier/ajoutez/etc peuvent être faites à partir de parties modifiables du système de fichiers (par exemple, en utilisant la fonction /usr/local
au lieu de /usr
). Le reste est donc accompagné d'un avertissement.
Avertissement : Je n'ai pas beaucoup testé cela, et je ne fais aucune promesse du tout sur ce que seront les conséquences (y compris à la fois les conséquences immédiates, et ce qui se passe la prochaine fois qu'une mise à jour de l'OS change les choses). Avez-vous des fichiers importants sur ce Mac ? Avez-vous une bonne sauvegarde ? Vous sentez-vous chanceux ?
[Mise à jour : Dans Big Sur, le volume du système n'est pas seulement en lecture seule, mais aussi signé, ce qui rend sa modification encore plus difficile. Voir "Le Mont Root est accessible en écriture à Big Sur" pour plus d'informations].
Pour apporter des modifications au volume normalement en lecture seule, vous devez à la fois désactiver la protection du système de fichiers de SIP et remonter le volume avec un accès en lecture :
-
Redémarrez en mode Recovery (Command-R au démarrage), ouvrez le Terminal (dans le menu Utilitaires), et désactivez la protection du système de fichiers SIP avec :
csrutil enable --without fs
-
Redémarrez normalement, ouvrez Terminal, et remontez le volume Root pour un accès en lecture :
sudo mount -uw /
À ce stade, vous devriez être en mesure d'effectuer des modifications partout (sous réserve des protections normales du système de fichiers) jusqu'au prochain redémarrage. La désactivation de la protection du système de fichiers de SIP survit aux redémarrages, mais pas le remontage avec accès en écriture. Si vous voulez que tout soit accessible en écriture après le redémarrage, vous devrez répéter la commande sudo mount
après chaque redémarrage. Ce que je recommande, cependant, c'est de tout verrouiller à nouveau dès que vous avez effectué les changements nécessaires. Pour ce faire, redémarrez en mode Recovery, exécutez csrutil enable
puis redémarrez normalement.