Wie man LinuxBrew auf einem Linux VPS installiert und verwendet

Status: Veraltet

Dieser Artikel ist veraltet und wird nicht mehr gewartet.

Grund

Homebrew bietet nun offizielle Unterstützung für Linux.

Stattdessen ansehen

Dieser Artikel kann immer noch als Referenz nützlich sein, funktioniert jedoch möglicherweise nicht mehr oder folgt nicht den besten Praktiken. Wir empfehlen dringend, einen aktuellen Artikel für das von Ihnen verwendete Betriebssystem zu verwenden.

Einführung


LinuxBrew ist ein Linux-Fork des beliebten Mac OS X-Paketmanagers HomeBrew.

LinuxBrew ist eine Paketverwaltungssoftware, die die Installation von Paketen aus dem Quellcode ermöglicht, zusätzlich zur Standard-Paketverwaltung des Systems (z. B. „apt/deb“ in Debian/Ubuntu und „yum/rpm“ in CentOS/RedHat).

Warum LinuxBrew verwenden?


  • HomeBrew wurde ursprünglich für Mac OS X entwickelt (das kein standardisiertes Open-Source-Paketverwaltungssystem hat). Es hat Paketverwaltungen wie MacPorts und Fink abgelöst. LinuxBrew ist Homebrew für Linux portiert.

  • Die meisten Linux-Distributionen verfügen über ein gutes Paketverwaltungssystem (z. B. „apt/deb“ in Debian/Ubuntu und „yum/rpm“ in CentOS/RedHat), jedoch

    • Pakete in den Standard-Repositories sind oft älter als die neuesten verfügbaren Versionen, und

    • Viele Open-Source-Pakete sind nicht in den Standard-Repositories verfügbar (z. B. gängige bioinformatische Werkzeuge).

  • LinuxBrew stellt ein Repository von Softwareinstallationsrezepten bereit (Pakete werden aus Quellen installiert und lokal auf dem Rechner kompiliert), um die Pakete aus dem Standard-Repository der Distribution zu ergänzen.

  • LinuxBrew bietet eine einfache Methode, um eigene Repositories zu erstellen (d.h. eine Liste von Open-Source-Paketen, die auf Ihre Bedürfnisse zugeschnitten sind).

  • LinuxBrew installiert Software in einem vom Benutzer festgelegten Verzeichnis (nicht systemweit) und erfordert keinen sudo-Zugriff.

  • LinuxBrew (und HomeBrew) integrieren sich sehr gut mit GitHub und ermöglichen so ein einfaches Teilen von Installationsrezepten.

Insbesondere bei DigitalOcean, das (zum Zeitpunkt dieser Schreibens) keine gemeinsam nutzbaren Droplet-Images (mit benutzerdefinierter installierter Software) bereitstellt, kann ein LinuxBrew-Repository eine schnelle Methode bieten, um spezifische Pakete und Versionen auf einem Standard-Linux-Rechner zu installieren.

Das Wesentliche von LinuxBrew


Einfach ausgedrückt, übernimmt LinuxBrew das Herunterladen der tar.gz-Datei und das Ausführen von ./configure && make && make install für Sie (oder welche Befehle auch immer zur Installation des Pakets benötigt werden).

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

Oder so kompliziert wie emacs.rb.

Sobald eine Formeldatei ordnungsgemäß definiert ist, erfolgt die Installation des Pakets einfach durch Ausführen:

$ brew install FORMULA

Vorbereitung für LinuxBrew – Debian/Ubuntu


Für Debian/Ubuntu-basierte Systeme führen Sie die folgenden Befehle aus:

$ 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

Vorbereitung für LinuxBrew – CentOS/RedHat


Für RedHat/CentOS-basierte Systeme führen Sie die folgenden Befehle aus:

$ 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 von LinuxBrew


Die Installation von LinuxBrew ist einfach eine Frage des Klonens des LinuxBrew-Repositorys.

Schritt 1 – Klonen von LinuxBrew


Um die Dinge ordentlich zu halten, klonen Sie LinuxBrew in ein verstecktes Verzeichnis im Home-Verzeichnis des Benutzers:

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

Aber jedes andere Verzeichnis würde genauso gut funktionieren.

Schritt 2 – Aktualisieren von Umgebungsvariablen


Der nächste Schritt besteht darin, LinuxBrew zu den Umgebungsvariablen des Benutzers hinzuzufügen.

Fügen Sie die folgenden Zeilen am Ende der Datei ~/.bashrc des Benutzers hinzu:

# Bis LinuxBrew behoben ist, ist das Folgende erforderlich.
# Siehe: 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
## Setup 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

HINWEIS: Wenn Sie LinuxBrew in ein anderes Verzeichnis installiert haben, ändern Sie den Pfad in LINUXBREWHOME oben.

Schritt 3 – Installation testen


Um sicherzustellen, dass diese Änderungen wirksam werden, melden Sie sich ab und wieder an. Die Shell sollte dann diese neuen Einstellungen verwenden.

Um diese neuen Einstellungen zu testen, versuchen Sie:

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

Pakete mit LinuxBrew installieren


Welche Pakete sind verfügbar?


Geben Sie brew search ein, um die Liste aller verfügbaren Pakete anzuzeigen (alle Pakete, die derzeit in der Installation von LinuxBrew bekannt sind – siehe unten, wie Sie Repositories hinzufügen können).

Geben Sie brew search WORT ein, um alle Pakete (im HomeBrew-Jargon als Formeln bezeichnet) anzuzeigen, die WORT enthalten. Beispiel:

$ 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

Ein Paket installieren


Um ein Paket zu installieren, führen Sie brew install PAKET aus.

Beispiel, Installation von jq – JSON-Prozessor:

$ 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

Die Nützlichkeit von LinuxBrew ist offensichtlich: Während Ubuntu jq in den neuesten Repositories hat, ist die Version veraltet (1.2). Debian Stable und Testing haben das jq-Paket überhaupt nicht. Die Version von LinuxBrew ist die neueste (1.3). Darüber hinaus installiert LinuxBrew das Programm an einem Pfad, der nicht mit dem Standardstandort des Systems in Konflikt steht.

Vorhandene HomeBrew-Repositories hinzufügen


Die HomeBrew/LinuxBrew-Repositories werden TAPS genannt. Dies sind einfach GitHub-Repositories, die Ruby-Skripte (‚Formulas‘) enthalten. Der HomeBrew-GitHub-Benutzer hat mehrere gemeinsame Repositories.

Beispiel: Hinzufügen des homebrew-science-Repository (das viele nützliche Open-Source-wissenschaftliche Programme enthält) und des HomeBrew-Games-Repository:

$ 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 verfügbarer Taps:

$ brew tap
homebrew/science
homebrew/games

Installieren Sie jedes Paket aus diesen Repositories:

$ 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

Aktualisierung von TAPs und Paketen


Um Updates für Formeln herunterzuladen, führen Sie aus:

$ brew update

Um Pakete zu aktualisieren (falls Updates verfügbar sind), führen Sie aus:

$ brew upgrade PACKAGE

Erstellen von benutzerdefinierten/privaten TAPs (Repositories)


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

Formeln in lokalen Dateien


Um eine Formel aus einer lokalen Datei zu installieren, führen Sie aus:

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

Dies ist nützlich beim Erstellen (und Debuggen) einer neuen Formel.

Formeln in GitHub-Repositories


Um ein benutzerdefiniertes TAP-Repository in GitHub zu erstellen, erstellen Sie ein neues GitHub-Repository (in Ihrem GitHub-Benutzerkonto) und benennen Sie es homebrew-NAME. Es muss mit „homebrew-“ beginnen, um als HomeBrew/LinuxBrew-Tap zu funktionieren. NAME kann ein beliebiger Name sein, den Sie möchten.

Beispiel:

GitHub-Benutzer agordon hat ein HomeBrew-Repository namens gordon, die vollständige URL lautet: https://github.com/agordon/homebrew-gordon.

Um dieses Repository zu verwenden („anzapfen“):

$ 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

ANMERKUNGEN

  1. brew tap verwendete den Benutzernamen agordon und das Repositoriesuffix gordon (Suffix von ‚homebrew-gordon‘) und deduzierte die GitHub-URL zum Zugriff.

  2. Formeln in benutzerdefinierten Repositories können mit Formeln in den offiziellen HomeBrew-Repositories in Konflikt geraten. Das ist völlig normal. Siehe unten, wie solche Pakete installiert werden.

Um nicht konfliktaufällige Pakete aus benutzerdefinierten Repositories zu installieren, führen Sie Folgendes aus:

$ brew install libjson

Um Pakete aus bestimmten Taps zu installieren, führen Sie Folgendes aus:

$ brew install agordon/gordon/coreutils

Weitere Informationen


HINWEIS: Beim Lesen von HomeBrew-bezogenen Informationen beachten Sie bitte, dass HomeBrew für Mac OS X entwickelt wurde.

LinuxBrew (der Linux-Port von HomeBrew) weist viele Gemeinsamkeiten mit HomeBrew auf, aber auch einige Linux-spezifische Unterschiede.

HomeBrew Wiki

HomeBrew FAQ

HomeBrew Formula Cookbook

HomeBrew Fehlerbehebung

LinuxBrew-Website

LinuxBrew bekannte Probleme

<div class=“author”>Eingereicht von <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