Terminal : Homebrew 1.3 respecte le bac à sable de macOS
Homebrew est un gestionnaire de paquet pour macOS, un outil qui facilite l’installation de programmes à exécuter dans un terminal. La version 1.3.0 qui vient de sortir respecte désormais complètement le sandbox de macOS. De plus en plus imposée par Apple, cette protection limite chaque application à un nombre de dossiers très limités et surtout définis à l’avance. L’idée étant d’empêcher une app malveillante d’accéder à vos données importantes sans prévenir.
Dans le cas d’un programme comme Homebrew, ce n’était pas du tout une évidence. Les outils conçus pour une utilisation dans le terminal peuvent par défaut lire et écrire n’importe où et ils échappent totalement au sandbox. Avec cette mise à jour, le gestionnaire de paquets devient un bon élève et reste cloisonné dans ses dossiers, au moins pour installer ou mettre à jour ses paquets.
Les outils installés par son biais conservent en revanche un accès complet et ils doivent être utilisés avec précaution. C’est néanmoins une bonne nouvelle en soi pour éviter les détournements potentiels de Homebrew. L’an dernier, l’outil avait déjà été mis à jour pour respecter certains dossiers désormais réservés au système (lire : SIP : Homebrew s’adapte aux nouvelles règles de Sierra).
Cette mise à jour améliore aussi l’installation de Python et évite de gêner la version préinstallée par macOS. Homebrew commence aussi à prendre en charge High Sierra et corrige notamment un bug lié à APFS. À l’usage, cela veut dire que les programmes ne seront plus compilés à chaque fois, ce qui ralentissait considérablement les installations et mises à jour.
Homebrew est un outil totalement gratuit et disponible sur tous les Mac depuis OS X 10.5. Une connaissance de base du terminal est nécessaire pour l’utiliser : notre guide Tout savoir sur le terminal vous donnera ces bases nécessaires, même si vous n’avez jamais ouvert le terminal de votre vie.
Bonne nouvelle ! C'est un logiciel qui me sert au quotidien. :-)
Au passage, excellent ouvrage que ce Tout savoir sur le Terminal.
@ Moonwalker
Merci… :-)
J’en profite, s’il y a des lecteurs qui passent par là : si vous avez des requêtes pour une mise à jour, des sujets que vous aimeriez voir abordés, des questions… n’hésitez pas !
@nicolasf
Après iOS 11, une mise a jour de Siri et Messages (que je possède) serait bien.
@ Giloup92 :
Oups, je parlais surtout du livre sur le terminal ! ?
Mais c’est noté ! Je suis en pleine rédaction du livre sur iOS 11 qui est ma priorité jusqu’à sa sortie. Pour la suite, on verra ce que l’on peut faire.
@nicolasf
Je prendrai les Nouveautés d'iOS 11, comme j'ai pris les précédents.
@nicolasf
Bonjour Nicolas, pour répondre à votre requête :
Si vous pouviez étoffer un petit peu la section sur iTerm2 dans une prochaine édition de votre ouvrage, je pense que cela rendrait service à de nombreux lecteurs.
iTerm2 est en train d'évoluer assez rapidement, et plutôt bien.
Ceci dit, j'apprécie beaucoup votre bouquin, tel qu'il est.
Il est sur ma liste de références standard dont je gratifie collègues et amis. Si j'avais le temps, je vous proposerais d'en faire une traduction anglaise.
@occam
Merci pour ce retour. ?
Pourquoi pas en faire plus sur iTerm en effet. C’est une bonne idée, je vais la noter.
Oh my ZSH
Une question, moi qui utilise Macport depuis des années... ils en sont où sur tous ses points ?
J'avais (re)testé Homebrew il y a 8 mois, je suis revenu a MacPort.
Le hic, avec MacPort, c'est qu'il va etre bloqué a un moment donné par MacOS et SIP. Mais sinon, il est plus complet.
@C1rc3@0rc
Qu’est ce qui vous manque dans Homebrew ? J’ai toujours eu l’impression que c’était l’inverse et que MacPort est moins complet. ?
En fait ils se ressemblent, mais :
- Macport a beaucoup plus de packages
- Macport est une application native (contrairement à Homebrew en Ruby, pour moi Ruby → direct poubelle)
- Macport gère les groupes : https://cl.ly/loHM
À toi de me dire ce que tu entends par "moins complet".
@ SpleenXXX :
Moins de paquets et/ou moins à jour. Mais il faudrait peut-être que je réessaie MacPort, ça fait des années que je n’ai pas essayé.
Pour le non natif, en quoi est-ce que cela pose un problème à l’usage ? ?
Essentiellement la rapidité d'exécution (recherche, compilation).
Par contre, je me posais une vraie question quant à l'intégration de Macport aux systèmes récents (quid SIP, APFS, etc). Homebrew semble par contre très dépendant (mieux intégré) de macOS, là où MP vie sa vie.
@SpleenXXX
La recherche, je demande à voir, même si je ne trouve pas Homebrew lent. Éventuellement la recherche de nouvelles versions…
La compilation, quand elle est nécessaire, se fait probablement avec les mêmes outils UNIX de base dans les deux cas. En tout cas, Homebrew utilise le trio configure/make/make install comme si on le faisait à la main, Ruby n’entre pas en ligne de compte.
@Nicolas Furno
C'est parce que tu n'utilises pas des apps multiplateformes "exotiques" ciblées à la base pour linux/win.
@harisson
Sans doute, en tout cas, j’ai jamais trouvé une app ou un outil absent de Homebrew, du moins à ma connaissance.
Ou alors il nécessitait npm ou un gestionnaire équivalent dans un autre langage, mais ça me semble normal dans ce cas de figure.
@Nicolas Furno
Par exemple, je dois utiliser OpenVibe en ce moment et l'INRIA n'a pas les ressources pour proposer une version Mac (sic !), je me suis mis en tête de me compiler une version Mac et (outre le fait qu'il y a du code à modifier) quelques dépendances ne sont pas présentes dans Homebrew.
@harisson
Je vois, c‘est en effet un usage pointu. :-)
Toutes les dépendances étaient proposées dans MacPort ?
Oui, je ne me souviens plus trop de tous les détails mais je sais qu'il manquait, entre autres, le sdk Ogre 3D dans Homebrew.
"Homebrew est un gestionnaire de paquet pour macOS, un outil qui facilite l’installation de programmes à exécuter dans un terminal"
Et pas seulement ! Grace aux cask, il est aussi possible de télécharger, désarchiver et installer une application .app compatible avec son système en une ligne de commande.
Exemple: ~$ brew cask install iina
Homebrew est vraiment un outil fantastique oué !
Il faut qu'ils travaillent certains points comme l'automatisation du suivit de certain cask et la mise à jour, car Brew est très bien pour installer, mais pas pour mettre jour les applications qui sont dans le dossier Applications. Pour les binaires dans leur arborescence, ça va.
J'ai aidé pour faire un script pour générer une recette
https://pastebin.com/W5LsvG2e
Ils n'ont jamais voulu le coller dans leur source ou ailleurs afin de suivre les mises à jours de LibreOffice, et je ne sais pas pourquoi.
Quand on voit les changements dans la recette :
https://github.com/caskroom/homebrew-cask/pull/37187/files
on n’a pas envie de le faire à la main ;p
Sinon j'utilise principalement MacPort puis ensuite Brew.
J'aimerais qu'Apple sorte un gestionnaire de package pour gérer tout ce qui sort de son MAS et ses mises à jour système.
La réponse que te sortirait Apple si tu le leur suggérais, c'est « tout doit passer par le MAS ».
Mais sinon, en effet un gestionnaire de paquet est vraiment ce qu'il manque de base sur le système.
Moais un MAS en ligne de commande en sorte ;)
@bunam
L'App Store est utilisable en ligne de commande : https://github.com/mas-cli/mas
Pour les software updates, il y a aussi la commande softwareupdate bien pratique.
Ca me permet d'avoir un script qui me réinstalle toutes mes apps lors de changement de Mac ou d'installation d'une VM macOS : 1. Prends les apps de l'app store 2. Installe brew 3. Installe les apps brew 4. Passe les updates. ...le temps d'aller manger, tout est fait quand je reviens.
@Nico S
Je connais 'mas' mais :
- ce n'est pas Apple
- comment faire pour avoir la liste des apps que tu as dans ta liste d'achat (je ne vois que les apps que j'ai déjà téléchargés) (https://github.com/mas-cli/mas/issues/2)
Pour softwareupdate, je ne m'en sert par pour le moment, j'utilise App Store.
En fait Apple a une vision bien trop monolithique de son système, et quand on connaît bien yum sur CentOS on est bien content de trouver MacPorts, Brew, gem, npm sur MacOS !!
Bon, il faudra toujours jongler entre MacPort et Homebrew ^_^
Merci pour l'article. Question de forme et pas de fond (désolé, c'est encore l'été) : comment vous faites pour avoir ce thème "dark", y compris les bordures ?
@ GloubiBoulga :
C’est la version bêta d’iTerm qui est comme ça, je ne crois pas que ce soit une option standard par ailleurs.
Thanks.
C'est joli cette barre de titre du Terminal en noir, c'est lié à High Sierra ou il y a une astuce ?
EDIT : c'est marqué juste au-dessus, désolé :D