Estado: Obsoleto
Este artículo está obsoleto y ya no se mantiene.
Razón
Homebrew ahora proporciona soporte principal para Linux.
Ver en su lugar
Este artículo aún puede ser útil como referencia, pero es posible que no funcione o siga las mejores prácticas. Recomendamos encarecidamente utilizar un artículo reciente escrito para el sistema operativo que esté utilizando.
Introducción
LinuxBrew es una bifurcación de Linux del popular gestor de paquetes HomeBrew de Mac OS X.
LinuxBrew es un software de gestión de paquetes que permite instalar paquetes desde el código fuente, sobre el sistema de gestión de paquetes predeterminado del sistema (por ejemplo, “apt/deb” en Debian/Ubuntu y “yum/rpm” en CentOS/RedHat).
¿Por qué usar LinuxBrew?
-
HomeBrew fue desarrollado originalmente para Mac OS X (que no tiene un sistema estándar de gestión de paquetes de código abierto). Reemplazó a sistemas de gestión de paquetes como MacPorts y Fink. LinuxBrew es el port de HomeBrew para Linux.
-
La mayoría de las distribuciones de Linux tienen un buen sistema de gestión de paquetes (por ejemplo, “apt/deb” en Debian/Ubuntu y “yum/rpm” en CentOS/RedHat), sin embargo
-
Los paquetes en los repositorios estándar a menudo son más antiguos que las últimas versiones disponibles, y
-
Muchos paquetes de código abierto no están disponibles en los repositorios estándar (por ejemplo, herramientas comunes de bioinformática).
-
-
LinuxBrew proporciona un repositorio de recetas de instalación de software (los paquetes se instalan desde el origen y se compilan en la máquina local) para complementar los paquetes del repositorio estándar de la distribución.
-
LinuxBrew proporciona un método fácil para construir tus propios repositorios (es decir, una lista de paquetes de código abierto adaptados a tus necesidades).
-
LinuxBrew instala el software en un directorio especificado por el usuario (no a nivel de sistema) y no requiere acceso
sudo
. -
LinuxBrew (y HomeBrew) se integra muy bien con GitHub, lo que permite compartir recetas de instalación fácilmente.
Especialmente con DigitalOcean, que (en el momento de escribir esto) no proporciona imágenes de Droplet compartibles (con software instalado configurado personalizado), un repositorio de LinuxBrew puede proporcionar un método rápido para instalar paquetes y versiones específicos en una máquina Linux estándar.
La esencia de LinuxBrew
En pocas palabras, LinuxBrew se encarga de descargar el archivo tar.gz
y ejecutar ./configure && make && make install
por usted (o los comandos que sean necesarios para instalar el paquete).
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 tan complicado como emacs.rb.
Una vez que un archivo de fórmula está correctamente definido, instalar el paquete es simplemente cuestión de ejecutar:
$ brew install FORMULA
Preparación para LinuxBrew – Debian/Ubuntu
Para sistemas basados en Debian/Ubuntu, ejecute los siguientes comandos:
$ 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
Preparación para LinuxBrew – CentOS/RedHat
Para sistemas basados en RedHat/CentOS, ejecute los siguientes comandos:
$ 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
Instalación de LinuxBrew
Instalar LinuxBrew es simplemente cuestión de clonar el Repositorio de LinuxBrew.
Paso 1 – Clonar LinuxBrew
Para mantener las cosas ordenadas, clone LinuxBrew en un directorio oculto en el directorio personal del usuario:
$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
Pero cualquier otro directorio funcionaría igual de bien.
Paso 2 – Actualizar variables de entorno
El siguiente paso es agregar LinuxBrew a las variables de entorno del usuario.
Agrega las siguientes líneas al final del archivo ~/.bashrc
del usuario:
# Hasta que se corrija LinuxBrew, se requiere lo siguiente.
# Ver: 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
## Configuración de 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: Si instalaste LinuxBrew en un directorio diferente, cambia la ruta en LINUXBREWHOME
arriba.
Paso 3 – Probar la instalación
Para asegurarte de que estos cambios surtan efecto, cierra sesión y vuelve a iniciar sesión. Luego, el shell debería utilizar esta nueva configuración.
Para probar esta nueva configuración, intenta:
$ 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:
Instalar paquetes con LinuxBrew
¿Qué paquetes están disponibles?
Escribe brew search
para ver la lista de todos los paquetes disponibles (todos los paquetes que la instalación actual de LinuxBrew conoce, consulta a continuación cómo agregar repositorios).
Escribe brew search PALABRA
para ver todos los paquetes (llamados Fórmulas en la jerga de HomeBrew) que contienen PALABRA. Ejemplo:
$ 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
Instalar un paquete
Para instalar un paquete, ejecuta brew install PAQUETE
.
Ejemplo, instalando jq – Procesador 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
La utilidad de LinuxBrew es evidente: Mientras que Ubuntu tiene jq en los últimos repositorios, su versión es antigua (1.2). Debian Stable y Testing no tienen el paquete jq en absoluto. La versión de LinuxBrew es la más reciente (1.3). Además, LinuxBrew instala el programa en una ruta que no entrará en conflicto con la ubicación predeterminada del sistema.
Agregando Repositorios Existentes de HomeBrew
Los repositorios de HomeBrew/LinuxBrew se llaman TAPS. Estos son simplemente repositorios de GitHub que contienen scripts de Ruby (‘Formulas’). El Usuario de GitHub de HomeBrew tiene varios repositorios comunes.
Ejemplo: agregar el repositorio homebrew-science (que contiene muchos programas científicos de código abierto útiles) y el repositorio 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
Lista de TAPS disponibles:
$ brew tap
homebrew/science
homebrew/games
Instalar cualquier paquete de esos repositorios:
$ 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
Actualización de TAPs y Paquetes
Para descargar cualquier actualización de Formulas, ejecuta:
$ brew update
Para actualizar paquetes (si hay actualizaciones disponibles), ejecuta:
$ brew upgrade PACKAGE
Creación de TAPs (Repositorios) Personalizados/Privados
A HomeBrew TAP/Repository is simply a collection of Formulas – Ruby scripts stored in local files or in GitHub repositories.
Formulas en archivos locales
Para instalar una fórmula desde un archivo local, ejecuta:
$ brew install /full/path/to/file.rb
Esto es útil al crear (y depurar) una nueva fórmula.
Fórmulas en repositorios de GitHub
Para crear un repositorio TAP personalizado en GitHub, crea un nuevo repositorio de GitHub (en la cuenta de GitHub de tu usuario) y nómbralo homebrew-NOMBRE
. Debe comenzar con ‘homebrew-‘ para funcionar como un tap de HomeBrew/LinuxBrew. NOMBRE
puede ser cualquier nombre que desees.
Ejemplo:
El usuario de GitHub agordon tiene un repositorio de HomeBrew llamado gordon, la URL completa es: https://github.com/agordon/homebrew-gordon.
Para usar este repositorio (“hacer tap en él”):
$ 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
NOTAS
-
brew tap
utilizó el nombre de usuarioagordon
y el sufijo del repositoriogordon
(sufijo de ‘homebrew-gordon’) y dedujo la URL de GitHub para acceder a él. -
Las fórmulas en repositorios personalizados pueden entrar en conflicto con fórmulas en los repositorios oficiales de HomeBrew. Eso es perfectamente normal. Consulta a continuación cómo instalar dichos paquetes.
Para instalar paquetes que no entren en conflicto desde repositorios personalizados, ejecuta:
$ brew install libjson
Para instalar paquetes de grifos específicos, ejecuta:
$ brew install agordon/gordon/coreutils
Más información
NOTA: Al leer información relacionada con HomeBrew, ten en cuenta que HomeBrew fue desarrollado para Mac OS X.
LinuxBrew (el puerto de HomeBrew para Linux) tiene muchas similitudes con HomeBrew, pero también algunas diferencias específicas de Linux.
Cookbook de fórmulas de HomeBrew
Solución de problemas de HomeBrew
Problemas conocidos de LinuxBrew
<div class=“author”>Enviado por <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