SIP : Homebrew s’adapte aux nouvelles règles de Sierra

Nicolas Furno |

Homebrew est un gestionnaire de paquets très pratique, en particulier pour les développeurs qui ont besoin d’outils contrôlés par le terminal. Il simplifie l’installation de nombreux utilitaires et programmes en ne demandant qu’une commande à saisir pour récupérer une version compilée et prête à l’emploi ou, en cas de besoin, télécharger et compiler le code source.

Avec macOS Sierra, Homebrew était toutefois bloqué par un petit changement apporté par Apple au System Integrity Protection (SIP) en place depuis El Capitan. Cette nouvelle sécurité verrouille les dossiers utilisés par le système et empêche ainsi un logiciel tiers, malveillant ou non, d’y toucher (lire : OS X El Capitan : comment SIP parachève la politique sécuritaire d’Apple). La mise à jour qui sortira ce soir renforce cette protection en bloquant le dossier utilisé jusque-là par cet outil.

À chaque mise à jour de Sierra, Homebrew ne pouvait plus fonctionner sans une intervention de l’utilisateur. Cliquer pour agrandir
À chaque mise à jour de Sierra, Homebrew ne pouvait plus fonctionner sans une intervention de l’utilisateur. Cliquer pour agrandir

Apple autorise les développeurs à exploiter le dossier /usr/local et c’est justement là que Homebrew était installé. Mais avec Sierra, le constructeur a modifié légèrement sa politique : ce dossier est toujours accessible, mais les développeurs doivent utiliser un sous-dossier. La racine reste la propriété du système et pour que l’utilitaire s’y installe, il devait changer le propriétaire du dossier. Problème : il aurait fallu changer les permissions après chaque mise à jour de macOS.

Avant : Homebrew directement dans le dossier /usr/local. Cliquer pour agrandir
Avant : Homebrew directement dans le dossier /usr/local. Cliquer pour agrandir

Plutôt que de se battre contre SIP, la dernière version de Homebrew prend acte du changement de politique et s’adapte. Quand vous mettrez à jour l’utilitaire, celui-ci va créer un sous-dossier et s’y déplacer. Les permissions de ce sous-dossier permettront son bon fonctionnement et macOS ne viendra pas y toucher.

Après : Homebrew s’est installé dans un sous-dossier. Cliquer pour agrandir
Après : Homebrew s’est installé dans un sous-dossier. Cliquer pour agrandir

Si vous le souhaitez, vous pouvez restaurer les permissions correctes sur le dossier /usr/local après la mise à jour avec cette commande :

sudo chown root:wheel /usr/local

Sinon, la prochaine mise à jour du système réglera le problème pour vous. Par ailleurs, nous utilisons Homebrew sur plusieurs Mac équipés de Sierra et s’il y avait de nombreux bugs pendant l’été, ils sont maintenant tous réglés pour nous. Rencontrez-vous encore des problèmes avec la dernière version de macOS ?

avatar SkeletonGamer | 

Pour ma part, la migration s'est déroulée sans accroc ;)

avatar Dark-mac | 

Ah c'était donc ça le changement de dossier

CONNEXION UTILISATEUR