Login
Newsletter
Werbung

Mo, 14. Juni 2004, 00:00

Wie man tar.gz-Archive installiert

Sourcecode sind die Dateien, die den C-Code enthalten, die mit einem Compiler compiliert werden. Der Aufruf des GNU-Compilers im Linux lautet make und ihm können Parameter übergeben werden, die im Makefile definiert sind. Wenn die Kernelquellen installiert sind, kann man beispielsweise nach der Kernelkonfiguration make mit den Parametern dep, clean, bzImage, bzlilo, modules und modules_install anweisen, verschiedene Aktionen auszuführen. make modules kompiliert z. B. die Module, die man bei der Konfiguration definiert hat und make modules_install bindet sie ins System ein. Doch das wird in einem anderen Artikel ausführlich erklärt.

Wenn man nun ein schönes Programm im Internet gefunden hat, und der Autor bietet (nur) die Sourcen zum Selbstkompilieren an, kann man sie in Archivform, meist gepackt, herunterladen. Danach hat man ein file.tar.gz, file.tar.bz2, file.zip, file.gzip oder ähnlich im lokalen System. Die Quellen werden meist mit tar archiviert und mit gzip komprimiert angeboten, und hier werde ich diese beschreiben. Diese Dateien haben dann die Endung tar.gz oder auch tgz.

tar ist ein altes Unixtool, um Archive auf Bandlaufwerke zu schreiben oder davon zu lesen. Mit dem Schalter -f kann man den Stream in eine Datei umleiten bzw. aus einer Datei heraus. Mit dem Schalter -z weist man tar an, das Archiv mit GNU Zip (gzip) zu komprimieren/dekomprimieren. Der Schalter -c erstellt (create) und der Schalter -x packt aus (extract). Um an der Konsole mitzuerleben, was passiert, ist der Schalter -v (verbose). Ach ja, um die Datei nur zu testen, sprich den Inhalt zu sehen, nicht aber wirklich auszupacken, ist der Schalter -t.

Der Befehl, die heruntergeladene Datei auszupacken, lautet also tar xzvf file.tar.gz. Es ist eine gute Idee, alle Nachinstallationen an einer einheitlichen Stelle zu machen. Dafür legt man sich am besten irgendwo (im eigenen Homeverzeichnis, unter /var.... ein Verzeichnis an. Unter /usr sollte man es nicht einrichten, da /usr weitgehend unveränderlich sein sollte. Doch zunächst noch ein paar Worte zur Konsole:

Mein System ist so eingestellt, daß es für root die Bourne Again Shell, bash, öffnet. Es gibt andere, aber das soll uns nicht weiter interessieren. Programminstallationen erfordern meist, daß sie von root ausgeführt werden. Wir öffnen also eine Konsole und machen uns später ggf. zu root. Ausführbare Dateien wie z.B. /bin/ls kann man von überall her aufrufen, weil u.a. das Verzeichnis /bin im Pfad enthalten ist. which ls sagt uns, daß ls im Pfad /bin zu finden ist. set | grep PATH zeigt uns, welche Pfade für den User root gesetzt sind. Wenn wir in einem Pfad sind, in dem ausführbare Dateien liegen, die nicht gepfadet sind, müssen wir der Shell sagen, daß wir eine Datei im aktuellen Pfad ausführen wollen. Das geht durch Voranstellung von ./.

So, nun nehme ich mal folgende Umgebung an: Wir haben die Datei tolles-proggy-1.00.tar.gz im Homeverzeichnis von User hans liegen. Wir möchten das tolle Programm gerne installieren und sind hans, der das System auch administriert.

Wir öffnen also eine Konsole:

kunz:~#
kunz:~# pwd
/home/hans
kunz:~# cd /usr/local/src
kunz:/usr/local/src#
kunz:/usr/local/src# tar tzvf /home/hans/tolles-proggy-1.00.tar.gz
# es folgen Bildschirmausgaben von tar, aus denen wir ersehen, daß
# ein eigenes Unterverzeichnis angelegt wird, also geben wir ein:
kunz:/usr/local/src# tar xzvf /home/hans/tolles-proggy-1.00.tar.gz
# die gleichen Bildschirmausgaben wie vorher...
kunz:/usr/local/src# ls
tolles-proggy-1.00
kunz:/usr/local/src# cd tolles-proggy-1.00
kunz:/usr/local/src/tolles-proggy-1.00# ls
BUGS
CREDITS
INSTALL
README
TODO
configure*
mkdirs*
tolles-proggy.c
tolles-proggy.h
nochwas.c
nochwas.h
kunz:/usr/local/src/tolles-proggy-1.00# less INSTALL
# wir lesen INSTALL und finden heraus, daß wir z. B. keine
# besonderen Bibliotheken (libs) brauchen
kunz:/usr/local/src/tolles-proggy-1.00# less README
# wir lesen, was uns der Autor Wichtiges mitzuteilen hat,
# jetzt gehen wir volles Risiko ein und machen:
kunz:/usr/local/src/tolles-proggy-1.00# ./configure
# es folgen Bildschirmausgaben von 'configure' und wir wollen,
# nachdem nun das Makefile erstellt worden ist, kompilieren:
kunz:/usr/local/src/tolles-proggy-1.00# make
# es folgen Bildschirmausgaben von 'make' und wir wollen
# die neuen ausführbaren Dateien ins System einbinden:
kunz:/usr/local/src/tolles-proggy-1.00# su -
# wir werden root und geben das Paßwort ein, das ist nötig,
# weil wir Schreibrechte z.b. in '/usr/local/bin' brauchen!
kunz:/usr/local/src/tolles-proggy-1.00# make install
# es folgen Bildschirmausgaben von 'make' und wir werden wieder hans:
kunz:/usr/local/src/tolles-proggy-1.00# exit
kunz:/usr/local/src/tolles-proggy-1.00# cd
# und wechseln in unser Homeverzeichnis und testen die Installation:
kunz:~# tolles-proggy
# und freuen uns am tollen neuen Programm :-)

Wenn du alles verstanden hast, kannst du nun loslegen. Wenn's nicht klappt, können fehlende Umgebungen der Grund sein und (hoffentlich) ist das aus der beigefügten Dokumentation ersichtlich. Auf jeden Fall muß nach ./configure ein Makefile erstellt worden sein. Das kann man mit ls leicht nachprüfen.

Wenn was schiefgeht und du im Forum um Hilfe bittest, bitte unbedingt die Fehlermeldung und den Namen der heruntergeladenen Datei mit angeben, damit die schlauen Leute einen Anhaltspunkt haben, um dir helfen zu können.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung