Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Die Wurzeln von Ubuntu
2 Was ist Ubuntu?
3 Die Versionen im Detail
4 Daten sichern, migrieren und synchronisieren
5 Die Installation
6 Erste Schritte
7 Programme und Pakete installieren
8 Internet und E-Mail
9 Office
10 Grafik und Bildbearbeitung
11 Multimedia
12 Programmierung und Design
13 Software- und Paketverwaltung
14 Architektur
15 Backup und Sicherheit
16 Desktop-Virtualisierung
17 Serverinstallation
18 Administration und Monitoring
19 Netzwerke
20 Datei-Server – Ubuntu im Netzwerk
21 Der Server im Internet
22 Multimediaserver und Ihre persönliche Cloud
23 Hilfe
24 Befehlsreferenz
A Mark Shuttleworth
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 12.04 LTS »Precise Pangolin«
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
Rheinwerk Computing
1023 S., 7., aktualisierte Auflage, geb., mit DVD
39,90 Euro, ISBN 978-3-8362-1945-7
Pfeil 13 Software- und Paketverwaltung
Pfeil 13.1 dpkg – Die Basis der Paketverwaltung
Pfeil 13.1.1 Einzelne Pakete installieren und deinstallieren
Pfeil 13.1.2 Installierte Pakete konfigurieren
Pfeil 13.1.3 Pakete finden
Pfeil 13.2 Advanced Packaging Tool (APT)
Pfeil 13.2.1 Installation von Paketen
Pfeil 13.2.2 Entfernen von Paketen
Pfeil 13.2.3 Upgrade einzelner Pakete oder der kompletten Distribution
Pfeil 13.2.4 Ungenutzte Pakete entfernen
Pfeil 13.2.5 Die Datei »sources.list«
Pfeil 13.2.6 APT lokal verwenden
Pfeil 13.2.7 Externe Quellen
Pfeil 13.2.8 GPG-Schlüssel importieren
Pfeil 13.3 Windows-Software nutzen
Pfeil 13.4 Sekundärsoftware aus Quellen
Pfeil 13.4.1 Der Linux-Dreisprung
Pfeil 13.4.2 Installation unter Ubuntu
Pfeil 13.4.3 Abweichende Installationsverfahren

Rheinwerk Computing - Zum Seitenanfang

13.4 Sekundärsoftware aus QuellenZur nächsten Überschrift

Würden Sie einen Porsche-Motor in einen Smart einbauen? Oder umgekehrt einen Porsche mit einem Smart-Motor versehen? Genau dies geschieht im übertragenen Sinne bei der Verwendung gängiger Betriebssysteme. Die Entwickler versuchen stets, Diener vieler Herren zu sein, ohne dabei auf die Stärken und Schwächen der Hardware einzugehen, auf der das System eingesetzt werden soll.

Fast unendlich flexibel

Linux besitzt die einzigartige Möglichkeit, voll konfigurierbar und skalierbar zu sein. Das System macht in der Armbanduhr als Embedded-System eine ebenso gute Figur wie als Cluster-Betriebssystem des Rechnerparks einer Universität. Das Geheimnis besteht darin, dass das System quelloffen ist und daher (einen entsprechenden Compiler vorausgesetzt) auf viele Systeme portiert und an diese angepasst werden kann. Der folgende Abschnitt zeigt, wie Sie selbst eine optimale Anpassung der Software an den heimischen PC erreichen.

Bei jedem Programm für Linux haben Sie die Möglichkeit, selbst Hand anzulegen und die Quellpakete eigenhändig zu kompilieren und zu installieren. Dies funktioniert jedoch nicht immer auf Anhieb, da hierbei die Abhängigkeiten nicht automatisch aufgelöst werden. Die allermeisten Entwickler von Programmen stellen auf ihrer Website die Quellpakete der Programme zur Verfügung. Diese sind meist im tar.gz- oder einem anderen Format gepackt und müssen mit einem Packprogramm wie zum Beispiel guitar oder Ark (KDE) entpackt werden.


Rheinwerk Computing - Zum Seitenanfang

13.4.1 Der Linux-DreisprungZur nächsten ÜberschriftZur vorigen Überschrift

Um die entpackten Dateien weiterbearbeiten zu können, müssen Sie der Besitzer der Dateien sein oder Root-Rechte haben. Meist werden die Dateien nach dem Muster des folgenden Dreisprungs (dem Linux-Dreisprung) kompiliert und installiert. Zunächst wird über das Konfigurationsskript configure die eigentliche Kompilierumgebung angepasst, und es wird geprüft, ob sämtliche für den Übersetzungsprozess notwendigen Pakete auf dem System zur Verfügung stehen. Bei etwaigen Fehlermeldungen müssen Sie dann meist die sogenannten Developer-Pakete, die die fehlenden Bibliotheken oder Header enthalten, nachinstallieren. Das vorangestellte Kürzel ./ bedeutet, dass die Konfigurationsroutine aus dem aktuellen Verzeichnis aufgerufen wird. Beim Kompilieren über make wird der Quellcode des Programms in eine ausführbare Datei umgewandelt. Danach wird diese Datei über

sudo make install

installiert, sie wird also in den Programmordner verschoben, mit anderen Dateien und Bibliotheken verknüpft, und eventuell wird ein Eintrag im GNOME- bzw. KDE-Menü erstellt. Dazu sind meist Root-Rechte erforderlich, daher die Verbindung mit sudo.

Abbildung

Abbildung 13.6 Der »Linux-Dreisprung«

»Readme« beachten!

Bei vielen Programmen liegt den gepackten Dateien eine Anleitung namens README oder INSTALL bei, die Sie unbedingt beachten sollten! Hier finden Sie oftmals wertvolle Tipps und Anleitungen, ohne die Sie viele Programme nicht kompilieren können. Es ist oft der Fall, dass Sie dem Compiler bestimmte Flags mit auf den Weg geben müssen. Dies sind Optionen, die für den reibungslosen Ablauf der Kompilierung sorgen. So habe ich zum Beispiel ein Programm bei mir im Einsatz, das sich nur durch den etwas länglichen Befehl

sudo ../configure --with-FC=gfortran --with-CC=/usr/local/bin/gcc 
--with-FFLAGS='-DUNIX=1 -DLINUX=1 -DG95' --with-CFLAGS='-DUNIX=1
-DLINUX=1 -march=native' --with-LDFLAGS='-lstdc++-static'
--x-libraries=/usr/X11/lib --x-include=/usr/X11R6/include
--host=x86_64-linux

konfigurieren und damit kompilieren lässt. Im obigen Beispiel ist übrigens die relativ neue Option -march=native angegeben, mit deren Hilfe der Compiler selbständig die richtige Architektur Ihres Rechners ermittelt. Das Kompilieren kann eine sehr zeitaufwendige Sache sein, wenn Sie die Compiler-Flags alle selbst erarbeiten müssen. Darum ist das Lesen der obligatorischen Readme-Datei ein Muss.

Tipp 207: Reversible Installation

Die obige Vorgehensweise lässt sich bei nahezu allen Linux-Distributionen durchführen. Einen Schönheitsfehler gibt es hier dennoch: Das durch make install (mit Root-Rechten!) aufgerufene Skript packt die ausführbaren Dateien zumeist in Pfade, die nach der Installation nicht mehr so einfach nachvollziehbar sind. Möchten Sie die Software bei Nichtgefallen wieder entfernen, so wissen Sie zumeist nicht mehr, wo sich die einzelnen installierten Dateien befinden.

Anwenderfreundliche Programmierer haben für diesen Zweck meist das Target uninstall vorgesehen. Dieses setzt allerdings voraus, dass Sie das Entpack-und Arbeitsverzeichnis der Software noch nicht gelöscht haben. Wechseln Sie in dieses Verzeichnis, und führen Sie zur Deinstallation Folgendes aus:

sudo make uninstall

Sollte der Programmierer kein uninstall vorgesehen haben, so gibt es zwei Möglichkeiten:

Protokollieren Sie die bei der Installation durchgeführten Kopiervorgänge in einer Logdatei \linebreak(beispielsweise softinst.log):
sudo make install > softinst.log
Verwenden Sie zur reversiblen Installation von Software das Paket checkinstall: Dieses Programm erzeugt ein rudimentäres Debian-Paket aus Ihren übersetzten Binärdateien, das mit dem gewöhnlichen Debian-Paketmanager ohne Spuren wieder entfernt werden kann.

Rheinwerk Computing - Zum Seitenanfang

13.4.2 Installation unter UbuntuZur nächsten ÜberschriftZur vorigen Überschrift

Im Folgenden finden Sie eine kurze Übersicht darüber, was beim Kompilieren von Sekundärsoftware speziell unter Ubuntu/Debian-Systemen zu beachten ist. Stellen Sie zunächst sicher, dass die beiden Pakete build-essential und checkinstall auf Ihrem System installiert sind. Sämtliche der folgenden Schritte finden innerhalb einer Konsole statt. Zunächst besorgen Sie sich die Quelltext-Dateien des gewünschten Programms aus dem Internet.

Handelt es sich um ein Ubuntu-Standard/Universe/Multiverse-Paket, dann haben Sie es besonders einfach: Die Quellen können Sie sich auch aus dem Repository beschaffen. Anderenfalls verfahren Sie so, wie in dem folgenden Abschnitt beschrieben.

Entpacken der Quellen

Die Quelltext-Dateien, die das Programm ausmachen, sind stets gepackt und komprimiert. Normalerweise werden dabei Verzeichnisse mit dem Archivierungsprogramm tar (vergleiche Kapitel 24, »Befehlsreferenz«) in einer Datei mit der Endung .tar zusammengefasst. Um Bandbreite zu sparen, werden diese tar-Archive dann auch noch mit gzip komprimiert, so dass letztlich Dateien der Form <progname>.tgz oder <progname>.tar.gz zur Verfügung stehen. Manchmal wird auch nicht mit gzip, sondern mit dem Programm bzip2 komprimiert. Das Archiv hat dann einen Namen der Form <progname>.tar.bz2.

Verzeichnis anlegen

Zunächst sollten Sie ein Verzeichnis anlegen, in dem das heruntergeladene Archiv gespeichert wird. Das kann zum Beispiel der Ordner packages im Heimverzeichnis sein. Dort können Sie dann das Archiv nach dem Download entpacken. Für Archive mit der Endung *.tgz oder *.tar.gz geht das folgendermaßen:

tar -xzf Dateiname

Für Archive mit der Endung .tar.bz2 verwenden Sie:

tar -xjf Dateiname

Beachten Sie, dass zum Entpacken und Kompilieren der Software noch keine Root-Rechte erforderlich sind. Normalerweise entsteht beim Entpacken ein neues Verzeichnis mit dem Namen des Pakets, in das Sie mit cd Verzeichnisname wechseln.

Installationsanweisung lesen und Konfigurieren

Zugegeben, fast alle Installationen laufen nach dem gleichen Verfahren ab – aber manchmal gibt es eben doch Abweichungen. Deshalb lohnt es sich, in Dateien wie INSTALL und README nach Hinweisen auf benötigte Programme und Bibliotheken oder mögliche Probleme samt Lösungen zu suchen. Auch eventuell abweichende Installationsverfahren sind hier erklärt. Diese Dateien können bequem mit einem Editor Ihrer Wahl gelesen werden, notfalls tut es auch der Pager less auf der Kommandozeile.

Der folgende Befehl startet die Erstellung einer Konfigurationsdatei, die später zur eigentlichen Übersetzung des Quellcodes und zur Installation benötigt wird:

./configure --prefix=/usr/local

Das geänderte Präfix trägt der speziellen Ubuntu-Verzeichnisstruktur Rechnung, in den meisten Fällen können Sie aber das Präfix auf der Voreinstellung belassen. Optionale Features des Programms können Sie mit Optionen wie ---enable-xyz ein- und mit ---disable-xyz ausschalten. Die vollständige Auflistung aller möglichen Optionen bringt:

./configure --help

Wenn Sie Glück haben, läuft der Konfigurationsprozess ohne Fehlermeldungen durch. Meist endet die Ausgabe mit einer ausdrücklichen Erfolgsmeldung und der Aufforderung, jetzt make zu starten. Bei weniger Glück fehlt die eine oder andere Komponente, und Sie erhalten eine Fehlermeldung, die wie folgt aussehen kann:

checking for XML::Parser... configure:
error: XML::Parser perl module
is required for intltool

Fehlende Abhängigkeiten

Was können Sie mit dieser Meldung anfangen? Alle benötigten Informationen stecken in der Fehlermeldung: Es wird etwas benötigt, das mit »xml«, »parser« und »perl« zu tun hat. Also müssen Sie nach einem Paket suchen, das all diese Bestandteile im Namen enthält. Dazu verwenden Sie das Tool

aptitude:

aptitude search ~nxml~nparser~nperl
p libxml-parser-perl -
Perl module for parsing XML files

~n leitet dabei ein Wort ein, das als Teil eines Paketnamens gesucht werden soll. Hilft das noch nicht? Dann könnte ~d Sie weiterbringen. Dieser Parameter durchsucht statt des Paketnamens gleich den gesamten Beschreibungstext. In diesem Fall war der erste Befehl allerdings schon erfolgreich: Er führte zum Paket libxml-parser-perl. Installieren Sie das benötigte Paket über sudo apt-get install libxml-parser-perl und starten Sie die Konfiguration erneut. Benötigte Pakete beginnen meist mit lib. Stehen mehrere Pakete zur Auswahl, dann ist dasjenige richtig, das auf -dev endet. Der nächste Schritt ist mit make meist einfach. Währenddessen können Sie je nach Programmgröße und Rechenleistung eine Tasse Kaffee holen oder an etwas anderem arbeiten.

Was tun bei Fehlern?

Auch bei make kann einmal etwas schiefgehen. Der erste Schritt ist wieder die Untersuchung der Ausgabe. Dabei kommt es diesmal nicht auf die letzten Zeilen an, die meist nur Folgefehler enthalten, sondern auf eine Zeile, die, wenn Sie Glück haben, auf eine fehlende Datei mit der Endung .h verweist. Haben Sie diese Datei gefunden, ist das Problem schon so gut wie gelöst, und der größte Aufwand ist die Erstellung einer Fehlermeldung an den Programmautor wegen eines unvollständigen configure-Skripts, das die fehlende Komponente nicht bemerkte.

Sie müssen nun herausbekommen, welches Paket die fehlende Datei enthält. Dazu muss das Paket apt-file aus dem Universe-Repository installiert sein. Die folgende Befehlsfolge aktualisiert zunächst die Datenbank von apt-file:

sudo apt-file update

Suche mit apt-file

Da Sie auf das Debian-Paketsystem zugreifen, sind Root-Rechte erforderlich (sudo). Nun können Sie mit sudo apt-file search Dateiname nach der fehlenden Datei suchen. Das fehlende Paket ist zu installieren, danach kann make erneut gestartet werden. Glücklicherweise arbeitet es beim letzten Arbeitsstand weiter und fängt nicht wie configure ganz von vorn an.

Der Befehl sudo checkinstall startet die Verwandlung des Programms in ein simples .deb-Paket und stößt dessen Installation an. Dabei werden einige Fragen gestellt, die Sie meist mit der Enter-Taste bestätigen können. Schlägt die Installation fehl, finden sich Informationen in der Ausgabe von dpkg, die Sie sich anzeigen lassen sollten. Wird dabei gemeldet, dass Dateien aus anderen Paketen überschrieben werden müssten, sollten Sie dies sehr gründlich abwägen. Eine Installation ließe sich in solchen Fällen zwar mit sudo dpkg --force-overwrite -i Paketname erzwingen, von dieser Vorgehensweise ist jedoch abzuraten, da Sie dadurch meist ein inkonsistentes System riskieren.


Rheinwerk Computing - Zum Seitenanfang

13.4.3 Abweichende InstallationsverfahrenZur nächsten ÜberschriftZur vorigen Überschrift

Manche Programme verzichten auf ein configure-Skript und werden nur mit make gebaut, andere verwenden ganz andere Systeme wie SCONS. Für all diese Verfahren gilt: Die eigentliche Installation sollten Sie durch Einsatz von checkinstall abfangen, da nur so das Paketsystem über die neuen Programme Bescheid weiß und das ungewollte Überschreiben von Dateien verhindert werden kann. Vor dem eigentlichen Installationsbefehl muss daher checkinstall eingefügt werden – aus sudo ./install.sh oder sudo scons install wird sudo checkinstall ./install.sh oder sudo checkinstall scons install. In den meisten Installationsanleitungen, die nicht für Ubuntu geschrieben sind, fehlt sudo oder ist durch su ersetzt. Bei Ubuntu müssen Sie jedoch stets sudo verwenden.

Tipp 208: Alternativen: dh_make und fakeroot

Als Alternative zu checkinstall und dem Vorspiel mit configure und make bietet sich die Kompilierung mittels dh_make und die Erstellung des Pakets über fakeroot an. Der Vorteil ist, dass weniger Befehle ausgeführt werden müssen und dass fakeroot das *.deb-Paket ohne Nachfrage erstellt.

Zusätzlich müssen hierfür die folgenden Pakete installiert sein:

dh-make
fakeroot

Die Schritte sind bis zu der Stelle, an der ./configure auszuführen ist, dieselben. Entpacken Sie also das Quelltext-Archiv, und wechseln Sie in das entpackte Verzeichnis.

Anstelle von ./configure führen Sie nun aber dh_make aus. Die Frage nach dem Pakettyp beantworten Sie bitte immer mit »Single Binary«, also »s«. Dies erstellt die Regeln für fakeroot, führt anschließend das configure-Skript aus und erzeugt eine Sicherheitskopie des Ordners mit dem Quelltext. Anschließend wird das Programm mit

fakeroot debian/rules binary

kompiliert und sofort danach das .deb-Paket im Unterordner erstellt. Dieses lässt sich dann wie gewohnt mit dpkg installieren, wozu wieder Root-Rechte benötigt werden.

KDE-Programme kompilieren

Für sämtliche KDE-Programme gilt, dass bei configure das Präfix auf /usr festgelegt werden muss: ./configure --prefix=/usr

Ein einfaches Beispiel

Das folgende Beispiel zeigt die Kompilierung und Installation des klassischen Video-Players MPlayer aus Quellen.

  1. Laden Sie von der Seite des Projekts MPlayer (www.mplayerhq.hu) eine aktuelle Version des Programms herunter, und entpacken Sie diese wie folgt in Ihrem Heimatverzeichnis:
    tar -xjf MPlayer-<Version>.tar.bz2
  2. Begeben Sie sich nun in das entpackte Quellverzeichnis, bereiten Sie die Quellen vor, und kompilieren Sie diese:
    user$ cd MPlayer-<Version>
    user$ ./configure
    Detected operating system: Linux
    Detected host architecture: i386
    Checking for cc version ... 4.0.2, bad
    Checking for gcc version ... 4.0.2, bad
    Checking for gcc-3.4 version ... 3.4.5, ok
    Checking for host cc ... gcc-3.4
    ...
    user$ make
  3. Im vorliegenden Fall wurde übrigens der bei Ubuntu als Standard installierte C-Compiler gcc-4 als schlecht eingestuft. Auf dem vorliegenden System ist allerdings noch parallel der gcc-3.4 installiert, mit dem sich die Software problemlos installieren lässt.
  4. Bevor die Software installiert wird, empfiehlt es sich, diese zunächst lokal (d. h. in dem Verzeichnis, in dem sie kompiliert wurde), zu testen:
    ./mplayer <Testfilm>
  5. Verläuft der Test erfolgreich, so kann das Programm schließlich per sudo checkinstall installiert werden.

Deinstallation möglich

Die Verwendung von checkinstall bei der MPlayer-Installation ist eigentlich nicht notwendig: Freundlicherweise geben die Maintainer der Software dem Anwender die Möglichkeit, die Software bei Nichtgefallen per make uninstall zu deinstallieren. Mehr noch: In einem Unterordner debian finden Sie einige Informationen darüber, wie sich leicht ein Debian-Paket erstellen lässt.

Ein komplexes Beispiel

Schwieriger wird die Kompilierung, wenn das Quellpaket auf anderen Paketen aufbaut und insbesondere sogenannte Headerdateien benötigt. Ein prominentes Beispiel ist das beliebte Videoumwandlungsprogramm transcode. Gerade dann, wenn Sie Videomaterial umwandeln wollen, macht sich eine perfekte Optimierung der Software bemerkbar.

Transcode

Sie finden den Quellcode von Transcode unter www.transcoding.org. Gehen Sie zum Kompilieren von transcode folgendermaßen vor:

  1. Entpacken Sie zunächst die Quellen mittels:
    tar xvfz transcode-<Version>.tar.gz
  2. Wechseln Sie nun in das Quellverzeichnis, und versuchen Sie, die Quellen mit einigen komplexen Optionen zu konfigurieren. Im Normalfall werden Sie zunächst einmal versuchen, das Paket ohne Sonderoptionen zu kompilieren. Die beschriebene Vorgehensweise dient ausschließlich zur Demonstration. Mehr zu diesen Optionen erfahren Sie über ./configure ---help.
    cd transcode-<Version>
    ./configure --prefix=/usr/local \
    --enable-avifile --enable-ogg --enable-libdv \
    --enable-mjpegtools --enable-a52
  3. Nun sollten Sie von einigen Fehlermeldungen erschlagen werden, die darauf beruhen, dass etliche .dev-Dateien (also im Wesentlichen Header) für die vorgewählten Optionen nicht zur Verfügung stehen:
    ERROR: option '--enable-mjpegtools' failed:
    cannot compile mjpegtools/yuv4mpeg.h
    mjpegtools/yuv4mpeg.h can be found in the following packages:
    mjpegtools http://mjpeg.sourceforge.net/
    ...
  4. Die obige Meldung resultiert also aus der Option ---enable-mjpeg tools. Sie können nun entweder auf die Option verzichten oder die fehlende Headerdatei ausfindig machen. Wir wählen letzteren Weg.
  5. Wir verwenden das Werkzeug apt-file, um das zur fehlenden Datei gehörende Paket zu finden:
    apt-file search yuv4mpeg.h
    libmjpegtools-dev:usr/include/mjpegtools/yuv4mpeg.h ...
  6. Die Datei befindet sich also im Paket libmjpegtools-dev, das nachinstalliert werden soll:
    sudo apt-get install libmjpegtools-dev
  7. Danach wird die aufgerufene Konfigurationsroutine zumindest nicht mehr an der Prüfung der MJPEG-Header scheitern. Auf diese Weise installieren Sie sämtliche benötigten Header, bis die Konfiguration glatt durchläuft.
  8. Schließlich können Sie das Programm dann mittels make und checkinstall kompilieren und installieren.

Leider kann es, wie oben bereits erwähnt wurde, auch vorkommen, dass der Kompiliervorgang mit make infolge eines Fehlers im Konfigurationsskript stecken bleibt. Auch in diesem Fall ist zu 99 % eine fehlende Headerdatei der Übeltäter; es ist also mitunter Detektivarbeit angesagt, um derart komplexe Programme zu kompilieren.

Der einfache Weg

Sicher werden Sie sich fragen, ob die Sache mit dem Kompilieren von Programmen aus Quellen nicht auch einfacher zu realisieren ist. Dazu müssen Sie ein klein wenig tiefer ins System eindringen. Zu fast jedem Ubuntu-Paket finden Sie stets ein gleichnamiges Quellpaket, vorausgesetzt, diese sogenannten Sources werden in der Datei /etc/apt/sources.list durch das Schlüsselwort deb-src definiert. Im Falle der Ubuntu-Standard/Universe/Multiverse-Pakete müssen Sie lediglich das Kommentarzeichen # vor den Quellverzeichnissen löschen, um diese zu aktivieren.

# Auszug aus /etc/apt/sources.list
# Binärpakete
deb http://de.archive.ubuntu.com/ubuntu <version> universe multiverse main ...
# Quellpakete
deb-src http://de.archive.ubuntu.com/ubuntu <version> universe multiverse ...

Um nun für unser spezielles Beispiel transcode die Quellen freizuschalten, ist folgender Eintrag in der Datei sources.list vorzunehmen:

## Videorepository Marillat
deb ftp://ftp.nerim.net/debian-marillat/ sarge main
deb-src ftp://ftp.nerim.net/debian-marillat/ sarge main

Danach ist wie üblich ein sudo apt-get update vorzunehmen. Möchten Sie nun die Quellen eines Pakets wie zum Beispiel transcode auf den Rechner befördern, so müssen Sie den folgenden Befehl verwenden:

sudo apt-get source <Paketname>

Die Quellen landen dabei im aktuellen Verzeichnis. Sollen sie gleich nach dem Herunterladen kompiliert werden, so ergänzen Sie den Befehl um den Parameter -b. Da bei einer derart komplexen Software wie transcode aber mit Sicherheit einige unaufgelöste Abhängigkeiten auftreten, sollten Sie stattdessen den folgenden Befehl verwenden:

sudo apt-get build-dep transcode

In diesem Fall werden sämtliche Programme und Bibliotheken, die für eine erfolgreiche Kompilierung des Programms erforderlich sind, auf dem Rechner installiert. Damit hätten Sie einen einfachen Weg aus dem Abhängigkeitsdschungel beim Kompilieren gefunden. Im Falle von transcode wird das Programm mit sämtlichen denkbaren Optionen kompiliert, wenn Sie von der Default-Konfiguration der Quellen ausgehen.

Tipp 209: Quellcode-Diff-Dateien erstellen

Die folgenden Kommandos bestimmen die Unterschiede zwischen zwei Quelldateien und erzeugen diff-Dateien <Datei.patch1> und <Datei.patch2> im unified-Stil:

diff -u <Datei.alt> <Datei.neu> > <Datei.patch1>
diff -u <alt/Datei> <neu/Datei> > <Datei.patch2>

Die diff-Datei (alternativ wird sie auch Patch-Datei genannt) wird verwendet, um Veränderungen zu beschreiben. Jeder, der diese Datei erhält, kann diese Änderungen wie folgt auf eine andere Datei anwenden:

patch -p0 <Datei> < <Datei.patch1>
patch -p1 <Datei> < <Datei.patch2>

Wenn drei Versionen des Quellcodes vorliegen, können diese einfacher mit diff3 vermengt werden:

diff3 -m <Datei.meine> <Datei.alt> <Datei.deine> > <Datei>


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Ubuntu GNU/Linux 12.04 LTS

Ubuntu GNU/Linux 12.04 LTS
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Raspberry Pi






 Raspberry Pi


Zum Katalog: Ubuntu Server






 Ubuntu Server


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de