Homebrew: software per il Mac fatto in casa

Homebrew è un sistema di gestione dei pacchetti (package) che semplifica l’installazione su OS X del software open source di derivazione Unix/Linux.

Homebrew si autodefinisce “The missing package manager for OS X” (Il gestore di pacchetti per OS X che mancava), una definizione un po’ sfrontata — in particolare nelle prime fasi dello sviluppo alcuni anni fa — ma ormai non troppo lontana dalla realtà.

La sua semplicità di installazione e di uso l’hanno fatto crescere rapidamente in popolarità nell’ultimo anno, a scapito dei sistemi concorrenti più affermati, Fink e MacPorts (quest’ultimo supportato direttamente da Apple).

A differenza di questi ultimi, Homebrew cerca di usare per quanto è possibile gli strumenti software di base già presenti in OS X — gcc, perl, python, ruby, git, mysql, sqlite — e non obbliga l’utente ad installare duplicati inutili. I package suddetti sono comunque disponibili nell’archivio (repository) di Homebrew, per chi avesse bisogno di utilizzare versioni più recenti (e a volte meno stabili) di quelle utilizzate dalla Apple.

Da qualche mese Homebrew fornisce anche un gran numero di pacchetti precompilati (bottles), velocizzando notevolmente il processo di installazione e di aggiornamento dei pacchetti, che non devono più essere obbligatoriamente compilati uno alla volta.

Questa pagina su Stack Exchange approfondisce i pro e contro dei tre principali sistemi di gestione dei pacchetti su OS X.
The state of package management on Mac OS X è una analisi piuttosto approfondita dei pregi e dei difetti di tutti i sistemi di gestione dei pacchetti per OS X, considerando anche quelli meno diffusi e supportati.

Una delle questioni più controverse riguardanti Homebrew riguarda il fatto che tutti i pacchetti sono installati all’interno della cartella (directory) /usr/local/. Alcuni critici osteggiano questa scelta, notando fra l’altro che:

  • /usr/local/ è una cartella di sistema che non dovrebbe essere usata da Homebrew ma solo dal software installato dall’utente root (l’amministratore onnipotente dei sistemi basati su Unix);

  • Homebrew modifica i permessi di alcune cartelle contenute all’interno di /usr/local/ assegnandoli all’utente che installa il gestore di pacchetti, mentre i permessi dovrebbero essere configurati in modo che le suddette cartelle siano usabili da tutti gli utenti del sistema;

  • è da preferire invece la scelta di MacPorts o Fink di usare delle cartelle create ad-hoc, rispettivamente /opt/ o /sw/.

Personalmente mi sembrano critiche risibili e che i vantaggi in termini di praticità e di sicurezza delle scelte fatte dagli sviluppatori di Homebrew superino di gran lunga i presunti svantaggi.

Del resto /usr/local/ e le cartelle in esso contenute sono fatte apposta per installare software specifico per la macchina in uso, vengono usate ad esempio da MacTeX e da Ghostscript, e non capisco cosa impedisca di usarle liberamente anche per altre applicazioni.

Assegnare i permessi di installazione e di uso dei pacchetti di Homebrew ad un singolo utente, piuttosto che a root, limita i rischi di sicurezza che il software installato potrebbe creare nel sistema. Inoltre è difficile negare che il Mac sia un sistema fondamentalmente monoutente, per cui questa scelta dovrebbe comunque andare bene nella maggior parte dei casi.

Nei casi rimanenti di un Mac condiviso da più utenti, indipendentemente dal fatto che ci giri OS X liscio o OS X Server, chi gestisce il sistema dovrebbe essere facilmente in grado di assegnare il gruppo utente giusto a chi è interessato ad usare i pacchetti di Homebrew.

Di sicuro una cosa non più complicata di dover aggiungere al PATH di ciascun utente il percorso della cartella (/opt/ o /sw/ a seconda dei casi) in cui vengono installati i pacchetti gestiti da MacPorts o Fink.

Nel corso del tempo ho usato tutti e tre i sistemi di gestione dei pacchetti, stabilizzandomi da almeno due anni su Homebrew che trovo complessivamente molto più lineare e usabile, senza le troppe opzioni di compilazione di MacPorts, che portano fin troppo spesso a incompatibilità con i pacchetti installati successivamente, o la confusione fra pacchetti binari e sorgenti, con comandi diversi di installazione, di Fink.

Dopo questa lunga introduzione, nel prossimo post vedremo come installare (ma anche disinstallare) Homebrew, esaminando anche i principali comandi di gestione dei pacchetti.

Annunci
Tagged with: , , , , , , ,
Pubblicato su software
One comment on “Homebrew: software per il Mac fatto in casa
  1. kOoLiNuS ha detto:

    buono a sapersi… io sto cominciandone il setup su un iMac che ho avuto come ‘postazione secondadia’ in ufficio. seguirò con interesse la tua esplorazione…

    Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Informativa
Questo sito utilizza cookie di terze parti per inviarti pubblicità e servizi in linea con le tue preferenze. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, clicca qui. Scorrendo questa pagina, cliccando su un link o su qualunque altro elemento o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.
Follow MelaBit on WordPress.com
Categorie
Archivi
%d blogger hanno fatto clic su Mi Piace per questo: