Como instalar e usar o LinuxBrew em um VPS Linux

Estado: Obsoleto

Este artigo está obsoleto e não é mais mantido.

Motivo

O Homebrew agora oferece suporte principal para o Linux.

Veja em vez disso

Este artigo ainda pode ser útil como referência, mas pode não funcionar ou seguir as melhores práticas. Recomendamos fortemente o uso de um artigo recente escrito para o sistema operacional que você está utilizando.

Introdução


O LinuxBrew é um fork para Linux do popular gerenciador de pacotes HomeBrew do Mac OS X.

LinuxBrew é um software de gerenciamento de pacotes, que permite a instalação de pacotes a partir do código-fonte, sobre o sistema de gerenciamento de pacotes padrão do sistema (por exemplo, “apt/deb” no Debian/Ubuntu e “yum/rpm” no CentOS/RedHat).

Por que usar o LinuxBrew?


  • HomeBrew foi originalmente desenvolvido para o Mac OS X (que não possui um sistema padrão de gerenciamento de pacotes de código aberto). Ele substituiu gerenciadores de pacotes como MacPorts e Fink. LinuxBrew é o Homebrew adaptado para o Linux.

  • A maioria das distribuições Linux possui um bom sistema de gerenciamento de pacotes (por exemplo, “apt/deb” no Debian/Ubuntu e “yum/rpm” no CentOS/RedHat), no entanto

    • Os pacotes nos repositórios padrão costumam ser mais antigos do que as versões mais recentes disponíveis, e

    • Muitos pacotes de código aberto não estão disponíveis nos repositórios padrão (por exemplo, ferramentas comuns de bioinformática).

  • O LinuxBrew fornece um repositório de receitas de instalação de software (os pacotes são instalados a partir do código-fonte e compilados na máquina local) para complementar os pacotes do repositório padrão da distribuição.

  • O LinuxBrew fornece um método fácil para construir seus próprios repositórios (ou seja, uma lista de pacotes de código aberto adaptados às suas necessidades).

  • O LinuxBrew instala software em um diretório especificado pelo usuário (não no sistema inteiro) e não requer acesso sudo.

  • O LinuxBrew (e o HomeBrew) integra muito bem com o GitHub, possibilitando o compartilhamento de receitas de instalação facilmente.

Especialmente com o DigitalOcean, que (no momento desta redação) não fornece imagens de Droplet compartilháveis (com software instalado customizado), um repositório do LinuxBrew pode fornecer um método rápido para instalar pacotes e versões específicas em uma máquina Linux padrão.

A Essência do LinuxBrew


Simplesmente, o LinuxBrew cuida de baixar o arquivo tar.gz e executar ./configure && make && make install para você (ou quaisquer comandos necessários para instalar o pacote).

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

Ou tão complicado quanto emacs.rb.

Uma vez que um arquivo de fórmula é devidamente definido, instalar o pacote é simplesmente uma questão de executar:

$ brew install FORMULA

Preparando para o LinuxBrew – Debian/Ubuntu


Para sistemas baseados em Debian/Ubuntu, execute os seguintes 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

Preparando para o LinuxBrew – CentOS/RedHat


Para sistemas baseados em RedHat/CentOS, execute os seguintes 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

Instalando o LinuxBrew


Instalar o LinuxBrew é simplesmente uma questão de clonar o Repositório do LinuxBrew.

Passo 1 – Clonar o LinuxBrew


Para manter as coisas organizadas, clone o LinuxBrew em um diretório oculto no diretório inicial do usuário:

$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

Mas qualquer outro diretório funcionaria igualmente bem.

Passo 2 – Atualizar variáveis de ambiente


O próximo passo é adicionar o LinuxBrew às variáveis de ambiente do usuário.

Adicione as seguintes linhas ao final do arquivo ~/.bashrc do usuário:

# Até que o LinuxBrew seja corrigido, o seguinte é necessário.
# Veja: 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ção do 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 você instalou o LinuxBrew em um diretório diferente, altere o caminho em LINUXBREWHOME acima.

Passo 3 – Testar a instalação


Para garantir que essas alterações tenham efeito, faça logout e login novamente. O shell deve então usar essas novas configurações.

Para testar essas novas configurações, tente:

$ 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 Pacotes com o LinuxBrew


Quais pacotes estão disponíveis?


Digite brew search para ver a lista de todos os pacotes disponíveis (todos os pacotes que a instalação atual do LinuxBrew conhece – veja abaixo sobre adicionar repositórios).

Digite brew search PALAVRA para ver todos os pacotes (chamados Fórmulas na terminologia do HomeBrew) que contenham PALAVRA. Exemplo:

$ 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 um pacote


Para instalar um pacote, execute brew install PACOTE.

Exemplo, instalando jq – processador 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

A utilidade do LinuxBrew é evidente: enquanto o Ubuntu possui jq nos repositórios mais recentes, sua versão é antiga (1.2). O Debian Stable e Testing não possuem o pacote jq de forma alguma. A versão do LinuxBrew é a mais recente (1.3). Além disso, o LinuxBrew instala o programa em um caminho que não entrará em conflito com o local padrão do sistema.

Adicionando Repositórios HomeBrew Existentes


Os repositórios do HomeBrew/LinuxBrew são chamados de TAPS. Estes são simplesmente repositórios do GitHub contendo scripts Ruby (‘Formulas’). O Usuário do GitHub do HomeBrew possui vários repositórios comuns.

Exemplo: adicionando o repositório homebrew-science (contendo muitos programas científicos de código aberto úteis) e o repositório 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 disponíveis:

$ brew tap
homebrew/science
homebrew/games

Instalar qualquer pacote desses repositórios:

$ 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

Atualizando TAPs e Pacotes


Para baixar quaisquer atualizações para Formulas, execute:

$ brew update

Para atualizar pacotes (se houver atualizações disponíveis), execute:

$ brew upgrade PACKAGE

Criando TAPs (Repositórios) Personalizados/Privados


A HomeBrew TAP/Repository is simply a collection of Formulas – Ruby scripts stored in local files or in GitHub repositories.

Formulas em arquivos locais


Para instalar uma fórmula de um arquivo local, execute:

$ brew install /full/path/to/file.rb

Isso é útil ao criar (e depurar) uma nova fórmula.

Fórmulas em repositórios do GitHub


Para criar um repositório TAP personalizado no GitHub, crie um novo repositório no GitHub (na conta do seu usuário) e nomeie-o homebrew-NOME. Ele deve começar com ‘homebrew-‘ para funcionar como um TAP HomeBrew/LinuxBrew. NOME pode ser qualquer nome que você queira.

Exemplo:

O usuário do GitHub agordon tem um repositório HomeBrew chamado gordon, a URL completa é: https://github.com/agordon/homebrew-gordon.

Para usar este repositório (“tappar”):

$ 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

  1. brew tap usou o nome de usuário agordon e o sufixo do repositório gordon (sufixo de ‘homebrew-gordon’) e deduziu a URL do GitHub para acessar.

  2. Fórmulas em repositórios personalizados podem conflitar com fórmulas nos repositórios oficiais do HomeBrew. Isso é perfeitamente normal. Veja abaixo como instalar esses pacotes.

Para instalar pacotes sem conflito de repositórios personalizados, execute:

$ brew install libjson

Para instalar pacotes de torneiras específicas, execute:

$ brew install agordon/gordon/coreutils

Mais informações


NOTA: Ao ler informações relacionadas ao HomeBrew, tenha em mente que o HomeBrew foi desenvolvido para o Mac OS X.

LinuxBrew (a porta do HomeBrew para Linux) tem muitas semelhanças com o HomeBrew, mas também algumas diferenças específicas do Linux.

Wiki do HomeBrew

FAQ do HomeBrew

Cookbook de Fórmulas do HomeBrew

Solução de Problemas do HomeBrew

Site do LinuxBrew

Problemas Conhecidos do 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