Stato: Deprecato
Questo articolo è deprecato e non è più mantenuto.
Motivo
Homebrew ora fornisce supporto principale per Linux.
Vedi invece
Questo articolo potrebbe ancora essere utile come riferimento, ma potrebbe non funzionare o seguire le migliori pratiche. Raccomandiamo vivamente di utilizzare un articolo recente scritto per il sistema operativo che stai utilizzando.
Introduzione
LinuxBrew è una versione per Linux del popolare gestore di pacchetti HomeBrew per Mac OS X.
LinuxBrew è un software di gestione dei pacchetti che consente l’installazione di pacchetti dalla sorgente, sopra al sistema di gestione dei pacchetti predefinito del sistema (ad esempio “apt/deb” in Debian/Ubuntu e “yum/rpm” in CentOS/RedHat).
Perché utilizzare LinuxBrew?
-
HomeBrew è stato originariamente sviluppato per Mac OS X (che non dispone di un sistema di gestione dei pacchetti open-source standard). Ha sostituito sistemi di gestione dei pacchetti come MacPorts e Fink. LinuxBrew è la porta di Homebrew su Linux.
-
La maggior parte delle distribuzioni Linux ha un buon sistema di gestione dei pacchetti (ad esempio “apt/deb” in Debian/Ubuntu e “yum/rpm” in CentOS/RedHat), tuttavia
-
I pacchetti nei repository standard sono spesso più vecchi delle versioni più recenti disponibili, e
-
Molti pacchetti open-source non sono disponibili nei repository standard (ad esempio, strumenti bioinformatici comuni).
-
-
LinuxBrew fornisce un repository di ricette di installazione del software (i pacchetti vengono installati da sorgente e compilati sul computer locale) per integrare i pacchetti del repository standard della distribuzione.
-
LinuxBrew fornisce un metodo semplice per creare i propri repository (cioè un elenco di pacchetti open-source su misura per le proprie esigenze).
-
LinuxBrew installa il software nella directory specificata dall’utente (non a livello di sistema) e non richiede l’accesso
sudo
. -
LinuxBrew (e HomeBrew) si integra molto bene con GitHub, consentendo di condividere facilmente ricette di installazione.
In particolare con DigitalOcean, che (al momento della stesura di questo testo) non fornisce immagini Droplet condivisibili (con software installato personalizzato), un repository LinuxBrew può fornire un metodo rapido per installare pacchetti e versioni specifiche su una macchina Linux standard.
La Sintesi di LinuxBrew
In poche parole, LinuxBrew si occupa del download del file tar.gz
e dell’esecuzione di ./configure && make && make install
per te (o di qualsiasi altro comando sia necessario per installare il pacchetto).
A LinuxBrew Formula is a Ruby script which defines where to find the tar.gz
file, how to build the package, and how to install it.
A formula file can be as simple as hmmer.rb (a bioinformatics tool):
class Hmmer < Formula
homepage 'http://hmmer.janelia.org/'
url 'http://selab.janelia.org/software/hmmer3/3.1b1/hmmer-3.1b1.tar.gz'
def install
system "./configure", "--prefix=#{prefix}"
system "make"
system "make install"
end
end
O anche complesso come emacs.rb.
Una volta che un file di formula è correttamente definito, installare il pacchetto è semplicemente una questione di eseguire:
$ brew install FORMULA
Preparazione per LinuxBrew – Debian/Ubuntu
Per sistemi basati su Debian/Ubuntu, eseguire i seguenti comandi:
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo sudo apt-get install -y build-essential make cmake scons curl git \
ruby autoconf automake autoconf-archive \
gettext libtool flex bison \
libbz2-dev libcurl4-openssl-dev \
libexpat-dev libncurses-dev
Preparazione per LinuxBrew – CentOS/RedHat
Per sistemi basati su RedHat/CentOS, eseguire i seguenti comandi:
$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ sudo yum install -y \
autoconf automake19 libtool gettext \
git scons cmake flex bison \
libcurl-devel curl \
ncurses-devel ruby bzip2-devel expat-devel
Installazione di LinuxBrew
L’installazione di LinuxBrew è semplicemente questione di clonare il Repository di LinuxBrew.
Passaggio 1 – Clonare LinuxBrew
Per mantenere le cose ordinate, clonare LinuxBrew in una directory nascosta nella directory home dell’utente:
$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
Ma qualsiasi altra directory funzionerebbe altrettanto bene.
Passo 2 – Aggiornare le variabili d’ambiente
Il passaggio successivo è aggiungere LinuxBrew alle variabili d’ambiente dell’utente.
Aggiungi le seguenti righe alla fine del file ~/.bashrc
dell’utente:
# Fino a quando LinuxBrew non è risolto, quanto segue è richiesto.
# Vedi: https://github.com/Homebrew/linuxbrew/issues/47
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH
## Configura linux brew
export LINUXBREWHOME=$HOME/.linuxbrew
export PATH=$LINUXBREWHOME/bin:$PATH
export MANPATH=$LINUXBREWHOME/man:$MANPATH
export PKG_CONFIG_PATH=$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH
NOTA: Se hai installato LinuxBrew in una directory diversa, cambia il percorso in LINUXBREWHOME
sopra.
Passo 3 – Testare l’installazione
Per assicurarti che tali modifiche abbiano effetto, esci e rientra nuovamente. La shell dovrebbe quindi utilizzare queste nuove impostazioni.
Per testare queste nuove impostazioni, prova:
$ which brew
/home/ubuntu/.linuxbrew/bin/brew
$ echo $PKG_CONFIG_PATH
/home/ubuntu/.linuxbrew/lib64/pkgconfig:/home/ubuntu/.linuxbrew/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:
Installazione di pacchetti con LinuxBrew
Quali pacchetti sono disponibili?
Digita brew search
per vedere l’elenco di tutti i pacchetti disponibili (tutti i pacchetti che l’attuale installazione di LinuxBrew conosce – vedi sotto per l’aggiunta di repository).
Digita brew search PAROLA
per vedere tutti i pacchetti (chiamati Formule nel gergo di HomeBrew) che contengono la PAROLA. Esempio:
$ brew search xml
blahtexml libnxml libxml2 xml-coreutils xml2 xmlrpc-c
html-xml-utils libwbxml libxmlsec1 xml-security-c xmlcatmgr xmlsh
libmxml libxml++ tinyxml xml-tooling-c xmlformat xmlstarlet
Installare un pacchetto
Per installare un pacchetto, esegui brew install PACCHETTO
.
Esempio, installare jq – Processore JSON:
$ brew install jq
==> Downloading http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz
==> ./configure
==> make
/home/ubuntu/.linuxbrew/Cellar/jq/1.3: 7 files, 256K, built in 10 seconds
$ which jq
/home/ubuntu/.linuxbrew/bin/jq
$ jq --version
jq version 1.3
L’utilità di LinuxBrew è evidente: mentre Ubuntu ha jq nei repository più recenti, la sua versione è vecchia (1.2). Debian Stable e Testing non hanno affatto il pacchetto jq. La versione di LinuxBrew è la più recente (1.3). Inoltre, LinuxBrew installa il programma in un percorso che non entrerà in conflitto con la posizione predefinita del sistema.
Aggiunta di repository HomeBrew esistenti
I repository HomeBrew/LinuxBrew sono chiamati TAPS. Questi sono semplicemente repository GitHub che contengono script Ruby (‘Formulas’). L’Utente GitHub di HomeBrew ha diversi repository comuni.
Esempio: aggiungere il repository homebrew-science (contenente molti utili programmi scientifici open-source) e il repository HomeBrew-Games:
$ brew tap homebrew/science
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-science'...
Tapped 237 formula
$ brew tap homebrew/games
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-games'...
Tapped 57 formula
Elenco delle TAPS disponibili:
$ brew tap
homebrew/science
homebrew/games
Installare qualsiasi pacchetto da quei repository:
$ brew install gnu-go
==> Downloading http://ftpmirror.gnu.org/gnugo/gnugo-3.8.tar.gz
#################################################################
==> ./configure --prefix=/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8 --with-readline=/usr/lib
==> make install
/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8: 9 files, 7.0M, built in 60 seconds
Aggiornamento TAPs e Pacchetti
Per scaricare qualsiasi aggiornamento delle Formulas, eseguire:
$ brew update
Per aggiornare i pacchetti (se sono disponibili aggiornamenti), eseguire:
$ brew upgrade PACKAGE
Creazione di TAPs (Repository) Personalizzati/Privati
A HomeBrew TAP/Repository is simply a collection of Formulas – Ruby scripts stored in local files or in GitHub repositories.
Formulas in file locali
Per installare una formula da un file locale, eseguire:
$ brew install /full/path/to/file.rb
Questo è utile quando si crea (e si esegue il debug) una nuova formula.
Formule nei repository di GitHub
Per creare un repository TAP personalizzato su GitHub, crea un nuovo repository GitHub (nel tuo account GitHub) e chiamalo homebrew-NOME
. Deve iniziare con ‘homebrew-‘ per funzionare come un tap HomeBrew/LinuxBrew. NOME
può essere qualsiasi nome tu voglia.
Esempio:
L’utente GitHub agordon ha un repository HomeBrew chiamato gordon, l’URL completo è: https://github.com/agordon/homebrew-gordon.
Per utilizzare questo repository (“tap it”):
$ brew tap agordon/gordon
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/agordon-gordon'...
Warning: Could not tap agordon/gordon/libestr over Homebrew/homebrew/libestr
Warning: Could not tap agordon/gordon/coreutils over Homebrew/homebrew/coreutils
Tapped 12 formula
NOTE
-
brew tap
ha utilizzato il nome utenteagordon
e il suffisso del repositorygordon
(suffisso di ‘homebrew-gordon’) e ha dedotto l’URL di GitHub per accedere. -
Le formule nei repository personalizzati possono entrare in conflitto con le formule nei repository ufficiali di HomeBrew. È perfettamente normale. Vedi sotto come installare tali pacchetti.
Per installare pacchetti non in conflitto da repository personalizzati, eseguire:
$ brew install libjson
Per installare pacchetti da rubriche specifiche, eseguire:
$ brew install agordon/gordon/coreutils
Ulteriori informazioni
NOTA: Quando si leggono informazioni correlate a HomeBrew, tenere presente che HomeBrew è stato sviluppato per Mac OS X.
LinuxBrew (il porting per Linux di HomeBrew) ha molte somiglianze con HomeBrew, ma anche alcune differenze specifiche per Linux.
Raccolta di formule di HomeBrew
Risoluzione dei problemi di HomeBrew
<div class=“author”>Inviato da <a href=“https://github.com/agordon”>Assaf Gordon</a></div>
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-linuxbrew-on-a-linux-vps