Aggiornare Homebrew

A suo tempo ho scritto un articolo per spiegare come installare Homebrew su OS X.
L'articolo aveva due grosse pecche:

  1. Un errore nell'indicare come installare i programmi. Me ne sono accorto subito dopo avere pubblicato, mi sono detto "adesso correggo" e, ovviamente, non l'ho mai fatto.
    Per installare un programma con Homebrew il comando è brew install $programma e non quello che avevo scritto (ed ora corretto).
  2. Mancavano le indicazioni su come aggiornare i programmi installati tramite Homebrew.

Aggiornare Homebrew (ed i programmi che ha installato)

Chi conosce un minimo GNU / Linux saprà che il sistema operativo ed i programmi installati vengono aggiornati simultaneamente dal terminale (il comando specifico varia a seconda della distribuzione, con Debian è, ad esempio apt-get update && apt-get upgrade).

Riprendendo lo stesso approccio (sano), Homebrew permette allo stesso modo di aggiornare i programmi che ha installato tramite la riga di comando.
In questi giorni la sintassi di questo comando sta per essere cambiata, ed è una buona occasione per pubblicare questo articolo.

Il comando da usare per aggiornare Homebrew è:

brew update && brew upgrade --all

E deve essere lanciato con privilegi di root: quindi preceduto da sudo o eseguito da una shell di root.

Precisazione

Parlo di "comando" al singolare, ma è impreciso. Per quanto infatti si tratti di una riga sola, i comandi che vengono dati alla shell sono due, concatenati dalla doppia e commerciale: &&

brew update

Homebrew funziona con il principio di una lista di riferimenti: vi vengono indicati i programmi disponibili, la loro versione.

Il primo comando richiede a Homebrew di aggiornare la lista dei riferimenti.

Alla fine di quest'operazione, Homebrew confronta i programmi installati con quelli disponibili, e segnala quali nuovi programmi sono disponibili, quali programmi sono stati aggiornati e quali programmi non sono più disponibili.

In questo caso, ad esempio, nessuna variazione dell'ultimo tipo:

==> New Formulae
gumbo-parser
==> Updated Formulae
ack                   gawk                  jenkins                 simple-tiles
asciidoc               gcc                  libetonyek             svtplay-dl
asciinema               homebrew/x11/rxvt-unicode      libexosip                 texapp
bwctl                   homebrew/x11/swi-prolog          logstash                 thefuck
cayley                   imagemagick              node                 ufraw
flow-tools               inspircd                  openwsman                 unrtf
fswatch                   iojs                  pidcat
gauge                   ioke                  python3

Questo permette di sapere in anticipo quali variazioni avverranno sulla propria macchina, e, a seconda della propria situazione, procedere, procedere solo dopo avere preso delle precauzioni, non procedere.

La mia situazione e le mie esigenze sono tuttavia abbastanza banali da permettermi di automatizzare il passaggio al punto successivo, senza problemi.

brew upgrade --all

Ecco l'aggiornamento vero e proprio. In questo passaggio Homebrew scarica, compila ed installa le nuove versioni dei programmi.

&&

Non è un dettaglio, e merita due parole anche la congiunzione tra i due comandi. La doppia e commerciale unisce due comandi, il secondo dei quali deve essere eseguito in caso il primo sia andato a buon fine. In questo modo Homebrew non cercherà di aggiornare i programmi in caso non sia riuscito ad aggiornare la sua lista di riferimento: logico.

Se invece volessimo stabilire una semplice successione temporale dei due comandi, senza condizioni (ossia non "fa' questo, e se va bene poi fa quest'altro", bensì "fa' questo, poi fa quest'altro") dovremmo usare un altro segno, il punto e virgola: ;.

Guardare l'output

Per quanto tutto funzioni abbastanza bene, in maniera fluida, è sempre bene scorrere attentamente l'output dei comandi, alla ricerca di eventuali indicazioni di errori o di passaggi consigliati per completare l'aggiornamento.

Riferimenti

Tags: , , ,

Shortlink: http://www.tevac.com/?p=15332

Nessun commento ancora.

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: