É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
-
brew tap
a utilisé le nom d’utilisateuragordon
et le suffixe du dépôtgordon
(suffixe de ‘homebrew-gordon’) et a déduit l’URL GitHub pour y accéder. -
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.
<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