Comment installer et utiliser LinuxBrew sur un VPS Linux

État: Obsolète

Cet article est obsolète et n’est plus maintenu.

Raison

Homebrew propose désormais une prise en charge principale pour Linux.

Voir à la place

Cet article peut encore être utile comme référence, mais il peut ne pas fonctionner ou suivre les meilleures pratiques. Nous recommandons fortement d’utiliser un article récent écrit pour le système d’exploitation que vous utilisez.

Introduction


LinuxBrew est une version Linux du gestionnaire de paquets populaire HomeBrew pour Mac OS X.

LinuxBrew est un logiciel de gestion de paquets qui permet d’installer des paquets à partir des sources, en plus du système de gestion de paquets par défaut du système (par exemple, « apt/deb » dans Debian/Ubuntu et « yum/rpm » dans CentOS/RedHat).

Pourquoi utiliser LinuxBrew ?


  • HomeBrew a été initialement développé pour Mac OS X (qui ne dispose pas d’un système standard de gestion de paquets open source). Il a supplanté des gestionnaires de paquets tels que MacPorts et Fink. LinuxBrew est le portage de Homebrew vers Linux.

  • La plupart des distributions Linux disposent d’un bon système de gestion de paquets (par exemple, « apt/deb » dans Debian/Ubuntu et « yum/rpm » dans CentOS/RedHat), cependant

    • Les paquets dans les dépôts standard sont souvent plus anciens que les dernières versions disponibles, et

    • De nombreux paquets open source ne sont pas disponibles dans les dépôts standard (par exemple, des outils bioinformatiques courants).

  • LinuxBrew fournit un dépôt de recettes d’installation de logiciels (les paquets sont installés à partir du code source et compilés sur la machine locale) pour compléter les paquets du dépôt standard de la distribution.

  • LinuxBrew fournit une méthode facile pour créer vos propres dépôts (c’est-à-dire une liste de paquets open-source adaptés à vos besoins).

  • LinuxBrew installe les logiciels dans un répertoire spécifié par l’utilisateur (pas au niveau du système) et ne nécessite pas l’accès sudo.

  • LinuxBrew (et HomeBrew) s’intègre très bien avec GitHub, permettant le partage facile de recettes d’installation.

Particulièrement avec DigitalOcean, qui (au moment de la rédaction de ceci) ne fournit pas d’images de Droplet partageables (avec logiciels installés configurés sur mesure), un référentiel LinuxBrew peut fournir une méthode rapide pour installer des packages et des versions spécifiques sur une machine Linux standard.

L’Essentiel de LinuxBrew


En termes simples, LinuxBrew se charge de télécharger le fichier tar.gz et d’exécuter ./configure && make && make install pour vous (ou les commandes nécessaires à l’installation du package).

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 aussi compliqué que emacs.rb.

Une fois qu’un fichier de formule est correctement défini, l’installation du package est simplement une question d’exécution :

$ brew install FORMULA

Préparation pour LinuxBrew – Debian/Ubuntu


Pour les systèmes basés sur Debian/Ubuntu, exécutez les commandes suivantes :

$ 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

Préparation pour LinuxBrew – CentOS/RedHat


Pour les systèmes basés sur RedHat/CentOS, exécutez les commandes suivantes :

$ 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

Installation de LinuxBrew


L’installation de LinuxBrew est simplement une question de clonage du Dépôt LinuxBrew.

Étape 1 – Cloner LinuxBrew


Pour garder les choses propres, clonez LinuxBrew dans un répertoire caché du répertoire personnel de l’utilisateur :

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

Mais tout autre répertoire fonctionnerait tout aussi bien.

Étape 2 – Mettre à jour les variables d’environnement


La prochaine étape consiste à ajouter LinuxBrew aux variables d’environnement de l’utilisateur.

Ajoutez les lignes suivantes à la fin du fichier ~/.bashrc de l’utilisateur:

# Jusqu'à ce que LinuxBrew soit corrigé, ce qui suit est nécessaire.
# Voir: 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
## Configuration 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

NOTE: Si vous avez installé LinuxBrew dans un répertoire différent, modifiez le chemin dans LINUXBREWHOME ci-dessus.

Étape 3 – Tester l’installation


Pour que ces modifications prennent effet, déconnectez-vous puis reconnectez-vous. Le shell devrait ensuite utiliser ces nouveaux paramètres.

Pour tester ces nouveaux paramètres, essayez:

$ 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:

Installation de paquets avec LinuxBrew


Quels packages sont disponibles?


Tapez brew search pour voir la liste de tous les packages disponibles (tous les packages connus de l’installation actuelle de LinuxBrew – voir ci-dessous pour ajouter des dépôts).

Tapez brew search MOT pour voir tous les packages (appelés Formules dans le jargon de HomeBrew) qui contiennent le MOT. Exemple :

$ 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

Installer un package


Pour installer un package, exécutez brew install PACKAGE.

Exemple, installer jq – processeur 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é de LinuxBrew est évidente : alors qu’Ubuntu a jq dans les dépôts les plus récents, sa version est ancienne (1.2). Les versions Stable et Testing de Debian n’ont pas du tout le package jq. La version de LinuxBrew est la plus récente (1.3). De plus, LinuxBrew installe le programme dans un chemin qui ne conflictuera pas avec l’emplacement par défaut du système.

Ajout de dépôts HomeBrew existants


Les référentiels HomeBrew/LinuxBrew sont appelés TAPS. Ce sont simplement des référentiels GitHub contenant des scripts Ruby (‘Formules’). L’utilisateur HomeBrew GitHub a plusieurs référentiels communs.

Exemple : ajout du référentiel homebrew-science (contenant de nombreux programmes scientifiques open-source utiles) et du référentiel 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

Liste des taps disponibles:

$ brew tap
homebrew/science
homebrew/games

Installer n’importe quel paquet à partir de ces référentiels:

$ 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

Mise à jour des TAPs et des Packages


Pour télécharger les mises à jour des Formules, exécutez :

$ brew update

Pour mettre à niveau les packages (si des mises à jour sont disponibles), exécutez :

$ brew upgrade PACKAGE

Création de TAPs (Référentiels) Personnalisés/Privés


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

Formules dans des fichiers locaux


Pour installer une formule à partir d’un fichier local, exécutez :

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

Ceci est utile lors de la création (et du débogage) d’une nouvelle formule.

Formules dans les dépôts GitHub


Pour créer un dépôt TAP personnalisé dans GitHub, créez un nouveau dépôt GitHub (dans le compte GitHub de l’utilisateur) et nommez-le homebrew-NOM. Il doit commencer par ‘homebrew-‘ pour fonctionner comme un TAP HomeBrew/LinuxBrew. NOM peut être n’importe quel nom que vous voulez.

Exemple :

L’utilisateur GitHub agordon a un dépôt HomeBrew nommé gordon, l’URL complète est : https://github.com/agordon/homebrew-gordon.

Pour utiliser ce dépôt (le « tapoter ») :

$ 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

NOTES

  1. brew tap a utilisé le nom d’utilisateur agordon et le suffixe du dépôt gordon (suffixe de ‘homebrew-gordon’) et a déduit l’URL GitHub pour y accéder.

  2. Les formules dans les dépôts personnalisés peuvent entrer en conflit avec les formules dans les dépôts officiels HomeBrew. C’est parfaitement normal. Voir ci-dessous comment installer de tels paquets.

Pour installer des paquets sans conflit à partir de dépôts personnalisés, exécutez :

$ brew install libjson

Pour installer des paquets à partir de taps spécifiques, exécutez :

$ brew install agordon/gordon/coreutils

Plus d’informations


REMARQUE : Lorsque vous lisez des informations liées à HomeBrew, gardez à l’esprit que HomeBrew a été développé pour Mac OS X.

LinuxBrew (le port linux de HomeBrew) présente de nombreuses similitudes avec HomeBrew, mais aussi quelques différences spécifiques à Linux.

Wiki de HomeBrew

FAQ de HomeBrew

Cookbook de formules HomeBrew

Dépannage de HomeBrew

Site Web de LinuxBrew

Problèmes connus de LinuxBrew

<div class=“auteur”>Soumis par <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