Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

cool:linuxbrew

Installation von Paketen im Userspace mit Linuxbrew

Wie toast ist Linuxbrew ein Paketmanager, der Software im Userspace für dich installiert. Linuxbrew kommt ursprünglich aus der Mac-Ecke und hat dort den Paketmanager Macports abgelöst. Linuxbrew funktioniert unter Linux genau so wie auf dem Mac, mit einer Ausnahme: Die Pakete werden standardmäßig nicht nach /usr/local (dort hättest du ja ohnehin keine Schreibrechte) installiert, sondern in das Verzeichnis ~/.linuxbrew. Das ist für den Einsatz auf einem Uberspace natürlich optimal. Ausserdem heißt das Projekt inzwischen nicht mehr Homebrew sondern Linuxbrew.

Im Gegensatz zu toast kann Linuxbrew nicht sämtliche Software aus jeder Quelle installieren. Es benötigt Meta-Informationen, die als Formeln bezeichnet werden. Wenn du dich damit aber nicht beschäftigen möchtest und stattdessen „auf gut Glück“ lieber einen Tarball aus einer beliebigen Quelle kompilieren möchtest, so sollte toast das Werkzeug deiner Wahl sein.

Installation

Zuerst klonst du das git-Repository:

[abigail@deathspell ~]$ git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew

Daraufhin fügst du zwei Zeilen deiner .bashrc hinzu, damit via Linuxbrew installierte Software auch bevorzugt aufgerufen wird und du die zusätzlich installierten MAN- und INFO-Pages lesen kannst:

[abigail@deathspell ~]$ echo "PATH=\"$HOME/.linuxbrew/bin:$PATH\"" >> ~/.bashrc
[abigail@deathspell ~]$ echo "MANPATH=\":$HOME/.linuxbrew/share/man:$MANPATH\"" >> ~/.bashrc
[abigail@deathspell ~]$ echo "INFOPATH=\"$HOME/.linuxbrew/share/info:$INFOPATH\"" >> ~/.bashrc
Der zusätzliche : am Anfang des $MANPATHs sorgt dafür, dass System-Manpages weiterhin verfügbar sind.

Die Änderungen in der ~/.bashrc aktivierst du, indem du deine Shell anweist, deine ~/.bashrc neu einzulesen:

[abigail@deathspell ~]$ source ~/.bashrc

Anwendung

Linuxbrew für Linux rufst du mit dem Befehl brew auf. Das listet dir auch gleich auf, welche Parameter dir zur Verfügung stehen. Hier eine kleine Auswahl sinnvoller Parameter für den Alltag:

Software installierst du mittels:

 [abigail@deathspell ~]$ brew install $paket

Benötigst du eine zuvor installierte Software nicht mehr, so kannst du sie wieder löschen:

   
 [abigail@deathspell ~]$ brew remove $paket

Informationen zu bestimmten Paketen findest du mittels

 [abigail@deathspell ~]$ brew info $paket

Wenn du erstmal herausfinden willst, ob ein bestimmtes Paket für Linuxbrew verfügbar ist:

 [abigail@deathspell ~]$ brew search $paket 

Brew kann sowohl sich selbst als auch sämtliche installierten Pakete upgraden:

 [abigail@deathspell ~]$ brew update && brew upgrade

Du kannst überprüfen, ob sämtliche mit Linuxbrew installierte Software ohne Fehler installiert wurde:

 [abigail@deathspell ~]$ brew doctor

Mehr dazu findest über den help-Parameter oder in der Manpage von brew:

 [abigail@deathspell ~]$ brew help
 [abigail@deathspell ~]$ man brew
Wie du eigene Formeln schreibst, findest du in der Dokumentation von Linuxbrew.

Probleme

Python

Wenn ihr beim brauen in den folgenden Fehler lauft …

error: option --no-user-cfg not recognized

… ist die installierte Python-Version zu alt und ein …

[abigail@deathspell ~]$ brew install python

… hilft weiter.

gcc (und weitere Compiler) werden nicht gefunden

Linuxbrew bemängelt, dass es nicht weiß, ob der Compiler gcc installiert ist, weil es diesen nicht ~/.linuxbrew finden kann. Aktuell sind daher noch zwei Symlinks nötig, wenn du gcc voraussetzende Software aus dem Quellcode installieren möchtest (brew kommt momentan noch nicht mit gcc 5 klar, daher nehmen wir einfach Version 4):

[abigail@deathspell ~]$ ln -s /package/host/localhost/gcc-4.9/bin/gcc ~/.linuxbrew/bin/gcc-4.9
[abigail@deathspell ~]$ ln -s /package/host/localhost/gcc-4.9/bin/g++ ~/.linuxbrew/bin/g++-4.9

Wo wir schonmal dabei sind, solltest du dir hier auch direkt den $PATH und den $LD_LIBRARY_PATH von gcc 4.9 in deine .bashrc eintragen. Wie das geht, haben wir hier beschrieben.

Danach klappt's aber auch mit der Installation von Software die mit gcc kompiliert wird.

cool/linuxbrew.txt · Zuletzt geändert: 2016/06/16 16:49 von uber