Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Installation von Software aus Quellarchiven

  1. #1
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    Installation von Software aus Quellarchiven

    Dieses Howto lebt wie alles vom Mitmachen. Für gute Tipps/Links ist jederzeit Platz. Einfach PM an mich und das Howto wird dann erweitert.


    1) Quellen und Arten von Linux-Software

    2) Installation in Kurzform: Der 3-Satz für Fortgeschrittene

    3) Entpacken von Archiven

    4) Entpackt! Und dann?

    5) Verknüpfung von Quellpaketen und Paketmanagement

    6) Basisinstallation für das Übersetzen von Software

    7) Tipps und Tricks

    8) Kernel übersetzen

    9) Howtos, E-Books


    Changelog:
    11.09.05: Howto begonnen
    21.10.05: Erweiterungen
    20.01.07: Links aktualisiert
    01.05.07: Paco-Link (5.3)
    22.03.08: Links aktualisiert
    15.03.09: Links aktualisiert
    Geändert von stefan.becker (15.03.09 um 16:17 Uhr)

  2. #2
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    Quellen und Arten von Linux-Software

    1.1) Binärpaket <=> Quellpaket

    Jetzt kommt der obligatorische Autovergleich: Der Bauplan (Quellpaket) wird durch den Automonteur (Compiler) zum fertigen Auto (Binärpaket).

    Das Binärpaket entspricht in den meisten Fällen quasi dem Installer/Setp eines Windows Programmes.

    Vorzuziehen ist gerade für die Anfänger das Installieren von Software in Binärform, also als compiliertes Paket. Das erspart einem die Installation der notwendigen Werkzeuge wie Compiler etc.

    Ein Binärpaket sollte immer passend zur eingesetzten Distribution gewählt werden, sowohl passend zum Hersteller als auch Distribution. Ein SuSE 9.3 Paket sollte also nicht für SuSE 9.2 oder Fedora eingesetzt werden.

    Die Installation von Software aus Quellarchiven sollte man nur wählen, wenn es für die benötigte Software keine (passenden) Pakete gibt. Hier müssen viele zusätzliche Entwicklerpakete installiert sein, was gerade Anfängern überfordern kann.


    1.2) Paketformate

    Die verbreitetesten Paketformate sind RPM, DEB und TGZ.

    RPM

    RPM steht für Redhat Packet Manager. Es ist das Standardformat der Distributionen Redhat, Fedora, Mandriva, SuSE u. a..

    Howto zur Verwendung von RPM:
    http://www.linuxforen.de/forums/show...threadid=21870

    DEB

    Das Kürzel DEB steht für "Debian". DEB ist das Standardformat aller Debian basierenden Distributionen wie Debian selbst, Kanotix, Ubuntu, Knoppix, Xandros u. a..

    Debian Howto:
    http://tldp.org/HOWTO/Debian-Binary-...WTO/index.html
    http://debiananwenderhandbuch.de/

    TGZ bzw. TAR.GZ

    TGZ steht für Tar Gnu Zip. Das sind per Tar zusammengefasste Binärverzeichnisse, mit Gnuzip gepackt. TGZ ist das Standardbinärformat von Slackware.


    1.3) Installationsmedien

    Der größte Teil der benötigten Software gehört bei modernen Distributionen bereits zum Standardumfang.

    Je nach gewähltem Installationsprofil wird aber nicht alles installiert. Fehlt daher etwas, sollte man also erstmal auf den vorhandenen CDs/DVDs nachsehen, ob das benötigte Paket nachinstalliert werden kann.


    1.4) Suche nach Paketen

    Falls doch nicht auf den Datenträgern, gibt es spezielle Seiten zur Suche nach Paketen.

    Hier einige Anlaufstellen, wo man einfach mal mit der Suche starten sollte:

    www.rpmseek.com: RPM- und DEB-Pakete, mein Favorit.
    www.rpmfind.net: nur RPM-Pakete
    http://rpm.pbone.net/
    http://packman.links2linux.org/: speziell für SuSE (Multimedia)
    http://software.opensuse.org/search: speziell für SuSE

    Die Liste ist nicht vollständig, ein Blick auf die Seite des Distributors liefert in den meisten Fällen die passenden Seiten.


    1.5) Paketmanagement-Systeme

    Moderne Distributionen bieten inzwischen Paketmanagement-Systeme wie z. B. "apt", "yum" oder "zypper" (Suse).

    Der Vorteil solcher Systeme liegt in der Berücksichtigung von Abhängigkeiten. Bsp: Man will das Paket "kdelibs" installieren, und das braucht zusätzlich das Paket "zlib". Bei apt installiert man jetzt per "apt-get install kdelibs", dabei werden alle weiteren benötigten Pakete ebenfalls installiert.

    Normalerweise wird die benötigte Software in der Regel installiert. Hier noch ein paar zusätzliche Links zum Thema:

    Fedora: http://rpmfusion.org/ (Zusatzsoftware)
    SuSE: http://de.opensuse.org/Zypper/Anleitung (zypper an der Kommandozeile nutzen)

    Es gibt auch GUIs für diese Systeme:

    Apt / Synaptic: http://www.nongnu.org/synaptic/
    Yum / Yum-Extender: http://linuxwiki.de/YumEx
    Zypper: Yast2 / Software / Software installieren und Community Repos einbinden

    Eine gutes Howto zu diesem Thema: http://www.pc-forum24.de/linux-howto...ux-way-do.html


    1.6) Paketkonvertierung

    Manchmal findet man ein Paket nicht im benötigten Format. Abhilfe schafft hier "Alien", das ein RPM/DEB/TGZ-Paket in ein jeweils anderes der Formate umwandeln kann.

    Homepage: http://kitenet.net/~joey/code/alien/


    1.7) Allgemeine Suche nach Software

    Auf der Suche nach Software sind spezielle Anwendungsdatenbanken immer die erste Anlaufstelle:

    http://freshmeat.net: Ein sehr umfangreicher Katalog
    http://www.pro-linux.de/cgi-bin/DBApp/check.cgi: Deutschsprachige Datenbank
    http://www.kde-apps.org/: speziell für KDE-Software
    http://gnomefiles.org/: speziell für Gnome/GTK-Software
    http://www.gtk-apps.org/: speziell für Gnome/GTK-Software

    Falls hier nichts zu finden ist: www.google.de/linux

    Vergleich Windows/Linux Software

    Außerdem existieren Seiten, die Windows und Linux Software für verschiedene Einsatzzwecke auflisten:

    http://www.linuxappfinder.com/windows
    http://www.angelfire.com/linux/liste/start.html
    http://www.deshalbfrei.org/moinmoin/software_perlen

    Auch das Windows=>Linux Einsteigerhowto ist eine thematisch sortierte Anlaufstelle: http://www.linuxforen.de/forums/show...readid=105375&


    1.8) Java Software

    Java von SUN ist ein Zwischending zwischen Quellcode und Binärpaketen. Die Software wird über einen Interpreter zur Laufzeit übersetzt (JIT=Just In Time) und dann ausgeführt.

    Zunächst muss Java selbst installiert werden, siehe hunters Java Howto:

    http://www.linuxforen.de/forums/show...threadid=35241

    Nach der Installation kann die Java Software ausgeführt werden. Auch das wird im Howto erklärt.


    1.9) Windows Software unter Linux

    http://www.linuxforen.de/forums/show...42&postcount=2
    Geändert von stefan.becker (15.03.09 um 16:12 Uhr)

  3. #3
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    2) Installation in Kurzform: Der 3-Satz für Fortgeschrittene

    Nach dem Entpacken eines Archives besteht die Installation bei den meisten Paketen aus der häufig als 3-Satz bezeichneten Befehlsfolge:

    Code:
    ./configure
    make
    make install
    Erst beim "make install" werden Root-Rechte benötigt. Also reicht zuvor ein "su - root" für das Anmelden als root. Alternativ bei Ubuntu: "sudo make install".

    Diese Art der Übersetzung/Installation wird auch "GNU autoconf"-konform genannt. Es ist der Idealfall. Wenn es so nicht geht, siehe Kapitel 4).

    Bedeutung der Befehle:

    "configure" überprüft, ob alle Voraussetzungen für eine erfolgreiche Übersetzung vorliegen. Eventuelle Fehler werden direkt gemeldet. Zum Abschluss werden die sogenannten "Makefiles" erstellt, die Basis für den folgenden Befehl.

    "make" führt die Übersetzung aus. Was übersetzt werden soll, steht in den Makefiles (sozusagen eine Arbeitsanweisung).

    "make install" kopiert zuletzt die übersetzen Programme, Bibliotheken, Hilfedateien, ... in die Zielverzeichnisse.
    Geändert von stefan.becker (15.03.09 um 16:13 Uhr)

  4. #4
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    3) Entpacken von Archiven

    Vor der Übersetzung von Software steht zumeist das Entpacken des Quelltext-Archives. Die hierbei anzuwendende Methode ist zumeist von der Dateiendung abhängig. Hier die bekanntesten Beispiele:

    .gz

    Code:
    gunzip paketname.gz
    Gnuzip: gunzip sollte zum Standardumfang der Distribution gehören. Paketname Fedora: gzip

    .tar

    Code:
    tar xvf paketname.tar
    Tar ist der Standardbefehl, um Verzeichnisse in eine Datei zu fassen. Paketname Fedora: tar

    .tgz, .tar.gz

    Code:
    tar zxvf paketname.tgz
    tar zxvf paketname.tar.gz
    Kombination aus Zusammenfassung von Dateien mit "tar" und Komprimierung mit "gzip".

    .bz2

    Code:
    bzip2 -d paketname.bz2
    Bzip2 hat eine wesentlich bessere Komprimierung als gzip. Paketname Fedora: bzip2

    .tar.bz2

    Code:
    tar jxvf paketname.tar.bz2
    Kombination aus Zusammenfassung von Dateien mit "tar" und Komprimierung mit "bzip2".

    .srpm, .source.rpm

    Code:
    rpmbuild --rebuild paketname*
    Source-RPM-Pakete sind zumeist vom Distributor herausgegebene Pakete als Basis für die RPM-Pakete der Distribution. Durch obigen Befehl wird aus dem Source-Paket durch Neuübersetzung direkt das "echte" RPM-Paket installiert.

    .bin

    Bsp: java.bin
    Code:
    chmod +x java.bin
    ./java.bin
    Das Binärarchiv (.bin) wird durch "chmod +x" ausführbar gemacht und auch direkt ausgeführt.


    Diverse Formate / Entpacker

    Die folgenden Formate sind im Linux Bereich nicht sehr verbreitet. Hier aber trotzdem eine Auflistung, weil man manchmal dennoch darüber stolpert:

    Rar / Unrar:

    Unrar gibt es als Kommandozeilenprogramm für Linux: http://www.rarlab.com
    Kommandozeilenbefehl: "unrar".

    Ace / Unace:

    Unace gibt es als Kommandozeilenprogramm für Linux: http://www.winace.com/
    Kommandozeilenbefehl: "unace".

    7-Zip:

    Relativ neues Format mit sehr hoher Komprimierung. Eine Linux-Version gibt es hier: http://p7zip.sourceforge.net/
    Kommandozeilenbefehl: "7za".

    Zip:

    Auch für das alte Zip-Format gibt es mit "unzip" eine Linux-Kommandozeilenversion: http://www.info-zip.org/UnZip.html
    Kommandozeilenbefehl: "unzip".
    Geändert von stefan.becker (15.03.09 um 16:14 Uhr)

  5. #5
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    4) Entpackt! Und dann?

    Hierfür gibt es leider keine allgemeingültige Vorgehensweise. Der Standardfall ist bereits als 3-Satz beschrieben.

    Aufgrund der Vielzahl von Programmiersprachen, Compileren, Entwicklungstools gib es zig Vorgehensweisen.

    Nach dem Entpacken sollte man daher immer die entsprechenden README- und/oder INSTALL-Texte lesen, die dem Paket beiliegen (sollten).
    Geändert von stefan.becker (11.09.05 um 22:06 Uhr)

  6. #6
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    5) Verknüpfung von Quellpaketen und Paketmanagement

    5.1) Checkinstall

    Das Programm "checkinstall" ist eine ideale Verknüpung von Quellpaketen und Paketmanagement.

    Homepage: http://checkinstall.izto.org/

    Checkinstall wird statt "make install" aufgerufen. Der Vorgang läuft dann also so ab:

    Code:
    ./configure
    make
    checkinstall
    Checkinstall überwacht den Installationsvorgang. Statt einem direkten Kopieren der Daten wird ein RPM-Paket (bzw. Debian-DEB, abhängig von der Distribution) erstellt und installiert.

    Vorteil: Man arbeitet nicht am Paketmanagement vorbei. Mit Hilfe der Paketverwaltung der Distribution lässt sich das Paket später wieder leicht entfernen. Das per Checkinstall installierte Paket taucht in der normalen Paketliste auf.

    Gut gebrauchen lässt sich Checkinstall auch in folgender Situation: Man benötigt eine neue Version einer Software, findet aber kein passendes, fertiges Paket. Auf der anderen Seite lässt sich die Software auch nicht so einfach deinstallieren, weil andere Pakete von ihr abhängig sind. In dieser Situation einfach selbst übersetzen und per Checkinstall installieren, schon ist die neueste Version in der Paketliste.

    Ein weiterer Vorteil ist, dass man die Quellen des Paketes nicht aufheben muss zur Deinstallation (siehe 7, Tipps&Tricks/make uninstall).


    5.2) Gnu Stow

    Homepage: http://www.gnu.org/software/stow/stow.html

    Bei Stow installiert man das Quellpaket unter den prefix /usr/local/stow/paketname und dann wird das Paket von stow mittels SymLinks in den /usr/local tree installiert. Zum Deinstallieren kann stow die Symlinks automatisch wieder entfernen, und dann muss man nur noch den Ordner löschen.

    Ich finde das ganz praktisch, weil die mit checkinstall installierten Pakete nicht immer mit apt-get upgrade und so kooperieren.

    Tipp&Text von Oracle2025


    5.3) Paco

    http://paco.sourceforge.net/
    http://www.linuxforen.de/forums/show...01&postcount=5
    Geändert von stefan.becker (15.03.09 um 16:19 Uhr)

  7. #7
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    6) Basisinstallation für das Übersetzen von Software

    Die Basisinstallation zum Übsetzen von Software lässt sich unterteilen in Compiler, Konfigurationswerkzeuge und Devel-Pakete.

    Compiler

    Folgende Pakete sind der Gruppe "Compiler" zuzuordnen. Die Namen gelten für Fedora, sollten bei anderen Distributionen ähnlich sein. In Klammern jeweils Programmiersprache/Bedeutung.

    - gcc (C)
    - cpp (C-Präprozessor)
    - gcc-c++ (C++)
    - gcc-g77 (Fortran)
    - gcc-gnat (Ada)
    - gcc-java (Java)
    - binutils
    - nasm (Assembler)
    - libgcc
    - bison
    - modutils (für Kernelübersetzung)
    - libtool
    - make (Das eigentliche Übersetzen)


    Konfigurationswerkzeuge

    - automake (automatische Erzeugung von Makefiles)
    - autoconf (automatische Konfiguration von Sourcecode)


    Devel-Pakete

    Grundsätzlich besteht ein Quelltext aus 2 Dateien: Header und Source. Vergleichbar ist das mit einem Buch: Der Header ist das Inhaltsverzeichnis, sozusagen eine Liste der Funktionen. Der Source ist das Buch selbst, die Handlung. Devel-Pakete sind die Zusammenfassung aller Header zu einem Paket.

    Wenn man eine Software übersetzt, die ein bestimmtes Paket voraussetzt, muss also auch das devel-Paket dazu installiert sein.

    Bsp: Man übersetzt "Koffice". Das benötigt "kdelibs". => "kdelibs-devel" muss installiert sein.

    Folgende Basispakete sind auf jeden Fall erforderlich:

    - glibc, glibc-devel
    - libstdc++, libstdc++-devel

    Außerdem sollte der Kernel als Sourcepaket vorliegen, weil gerade für die Übersetzung von Treibern häufig darauf zugegriffen wird. Paketname: "kernel-source".
    Geändert von stefan.becker (11.09.05 um 23:05 Uhr)

  8. #8
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    7) Tipps und Tricks

    Wo die Befehle zum Übersetzen ausführen?

    Nach dem Entpacken der Software (siehe oben) wechselt man direkt in das entpackte Verzeichnis und führt dort alle Übersetzungsbefehle aus. Bsp:
    Code:
    tar zxvf mozilla.tgz
    cd mozilla
    ./configure
    make
    make install

    Übersicht zu Configure Optionen

    Eine wichtige Funktion ist eine Übersicht aller Optionen durch
    Code:
    ./configure --help
    Durch "grep" kann man die Übersicht einschränken auf Zeilen mit einem bestimmten Suchwort, z. B.
    Code:
    ./configure --help | grep suchwort

    Installationsverzeichnis

    Durch
    Code:
    ./configure --prefix=/usr/local
    wird die Software in die Verzeichnisse ab "/usr/local" kopiert.

    Programme kommen dadurch nach "/usr/local/bin", Bibliotheken nach "/usr/local/lib" usw.

    Die Pakete der Distribution selbst werden zumeist ab "/usr" angesiedelt. Alle selbst übersetzten Programme/Bibliotheken sollte man daher für eine saubere Abtrennung auf der Basis "/usr/local" installieren.


    Optionen ein/ausschalten

    Falls configure ein Problem meldet, dass für ein bestimmtes Feature die Voraussetzungen nicht erfüllt sind, kann man das entsprechende Feature u. U. abschalten (=> "./configure --disable-optionsname").

    Genauso lässt sich eine Option, die stanndardmäßig deaktiviert ist, u. U. per "./configure --enable-optionsname" aktivieren.

    Das ganze ist natürlich abhängig von der installierten Software, siehe daher im Einzelfall per "./configure --help".


    Command not found / Befehl nicht gefunden

    Diese Meldung im Laufe der Übersetzung von Software deutet auf ein fehlendes Paket aus dem Bereich Compiler / Konfigurationswerkzeuge hin. Hier zunächst mal obige Listen auf Vollständigkeit prüfen. Wenn das nicht hilft, noch mal gegen die Voraussetzungen laut README/INSTALL des Paketes testen.


    File not found / Datei nicht gefunden

    Häufig fehlen bestimmte Devel-Pakete. Dadurch kommt es im Laufe der Übersetzung zur Fehlermeldung "File not found". In diesem Fall hilft folgende Vorgehensweise, am Beispiel der Meldung "File not found: koPicture.h"

    - http://rpmseek.com aufrufen
    - "Extended Seek" (Erweiterte Suche) wählen
    - Im Eingabefeld "Package contains File" den Dateinamen "koPicture.h" eingeben
    - Suche mit "Go" starten
    - Ergebnis: Datei ist im Paket "koffice-devel", also das nachinstallieren


    Hinweis auf Fehler

    Neben der obligatorischen Ausgabe in der Anzeige wird zumeist beim configure-Lauf eine Logdatei "config.log" erstellt, die Hinweise auf den Fehler enthalten kann.


    Neue Übersetzung starten nach Problemen

    In manchen Fällen kann trotz korrektem "./configure" nicht übersetzt werden. Konnte die Ursache behoben werden, sollte man komplett neu aufsetzen. Hierzu sollten aber zuvor alle bereits übersetzten Dateien gelöscht werden:

    Code:
    make clean
    ./configure
    make
    make install
    Abweichend davon muss in manchen Fällen "make clean" oder "make mrproper" zum Löschen eingegeben werden.

    In manchen Fällen bemerkt configure bei einem neuen Lauf nicht die neu installierten Pakete. Das kann an einer Cachedatei liegen, die Ergebnisse des vorherigen Laufes speichert. Lösung: Datei löschen:
    Code:
    rm config.cache

    Konfigurationsdateien

    Die meisten Programme legen ihre Konfigurationsdateien im Verzeichnis "/etc" ab. Ein abweichendes Verzeichnis kann man durch "./configure --sysconfdir=/pad/für/datei" angeben.


    Software deinstallieren

    Das geht in den meisten Fällen durch folgenden Befehl im Sourceverzeichnis:

    Code:
    make uninstall
    Daher folgt, dass man die Quellen erst dann löschen sollte, wenn man auch die Software löscht. Bei Benutzung von "Checkinstall" (5) ist das nicht nötig, weil hier über das Paketmanagement der Distribution gelöscht wird.

    Will man das Programm nicht mehr einsetzen, kann man auch im Userverzeichnis nach temporären Dateien / Verzeichnissen suchen und diese löschen. Das muss man allerdings per Hand machen, dafür gibt es keinen Automatismus. Hier sollte man nach Dateien oder Verzeichnissen mit dem Programmnamen suchen, bei Mozilla z. B. "~/.mozilla" oder "~/.mozillarc".


    Neuere Version installieren

    Das beste ist es, vor der Installation der neuen Version die vorherige einfach zu löschen (siehe zuvor). Häufig sind Versions-Nr. in Dateinamen enthalten, und diese werden dann beim Installieren der neueren Versionen halt nicht überschrieben.
    Geändert von stefan.becker (21.10.05 um 23:39 Uhr)

  9. #9
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    8) Kernel übersetzen

    Zur Übersetzung / Installation eines eigenen Kernels sollten folgende Howtos weiterhelfen:

    2.6:

    http://www.linuxforen.de/forums/showthread.php?t=161878
    http://www.thomashertweck.de/kernel26.html

    2.4:

    http://www.linuxforen.de/forums/showthread.php?t=20583
    Geändert von stefan.becker (15.03.09 um 16:16 Uhr)

  10. #10
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.360

    9) Howtos, E-Books

    Software Building Howto:

    http://tldp.org/HOWTO/Software-Building-HOWTO.html


    Howtos von IBM Developerwork (Link aus altem Software Howto von Uli Evens):

    http://www-128.ibm.com/developerworks/linux/
    Geändert von stefan.becker (21.10.05 um 20:56 Uhr)

Ähnliche Themen

  1. Pontis SP503 [MP3 Player] Software Installation
    Von author.psi im Forum Kompilieren von Kernel und Sourcen
    Antworten: 4
    Letzter Beitrag: 20.04.05, 19:50
  2. Fedora Core 2 --> Software Installation!
    Von NeoR7 im Forum System installieren und konfigurieren
    Antworten: 21
    Letzter Beitrag: 10.09.04, 16:04
  3. Automatische Installation von Software
    Von smog_at im Forum Linux als Server
    Antworten: 1
    Letzter Beitrag: 04.06.04, 14:23
  4. Mandrake Cooker Problem
    Von Mephilio im Forum System installieren und konfigurieren
    Antworten: 2
    Letzter Beitrag: 27.02.04, 15:19
  5. Suse Software Installation übers Netz
    Von NeoR7 im Forum Linux in heterogenen Netzen
    Antworten: 4
    Letzter Beitrag: 28.05.02, 15:57

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •