AA_brunnen_123rf-7394758_stevanovicigor.jpg

© stefanovicigor, 123RF

Sprudelnde Quellen

CTAN, CPAN, Pear & Co.: Paketverwaltungen für Quellcode

08.10.2012
Einige Software-Pakete und Programmiersprachen bringen abseits von DEB, RPM und Co. ihre eigene, komfortable Paketverwaltung mit.

Aktuelle Distributionen machen es einem sehr einfach, Software einzurichten und auch sauber wieder zu entsorgen. Die Distributoren verpacken Programme in RPM- oder DEB-Pakete und es gibt zentrale Repositories, aus denen man Software bequem nachinstallieren kann. Abhängigkeiten werden dabei automatisch aufgelöst und auch Security-Updates (für eine gewisse Frist) vom Distributor gepflegt. Eine feine Sache, die unter anderem auch dafür sorgt, dass Linuxer Virenprobleme nur aus Unterhaltungen mit Windows-Nutzern kennen.

Die Distributoren treffen beim Paketieren von Software eine Vorauswahl, die möglichst viele Anwender ansprechen soll. Freilich können Sie nicht jede frei verfügbare Software paketieren – ihre Zeit- und Festplattenressourcen sind begrenzt. Das jeweils neueste Release der Distribution soll ja auch zu einem gewissen Termin erscheinen, neue Software-Projekte und Programmversionen erscheinen dagegen täglich.

Insbesondere für Programmiersprachen wie Perl und PHP, aber auch für Software wie das Textsatzsystem LaTeX gibt es sehr viel mehr Pakete, als eine typische Distribution mitbringen könnte. Die Perlen der jeweiligen Programmierkunst lagern in eigenen Repositories, über die sie sich komfortabel nutzen lassen. Die wichtigsten davon stellt dieser Artikel kurz vor.

Perl-Module

Die Programmiersprache Perl genießt unter anderem wegen ihrer umfangreichen Modulsammlung hohe Akzeptanz. Mit dem Befehl

use Mein::Lieblingsmodul

verwenden Sie solche Module problemlos auch in eigenen Programmen. Die Modulsammlung von Perl finden Sie auf CPAN [1], dem seit Oktober 1995 aktiven Comprehensive Perl Archive Network, dessen Motto "You can never have too many Perl modules" lautet.

Dieses Motto ist wohl nicht so falsch: Zu Redaktionsschluss dieser Ausgabe umfasste das CPAN laut eigener Statistik mehr als 100 000 Perl-Module in knapp 25 000 "Distributionen", geschrieben von fast 10 000 Autoren und auf rund 300 Servern gespiegelt. Bis Sie diese Zeilen lesen, sind sicher wieder einige neue Module dazugekommen.

Vergleicht man diese Zahlen mit der Anzahl der Pakete, die beispielsweise Opensuse 12.1 standardmäßig paketiert – eine grobe Schätzung liefert das Kommando zypper search perl- | wc -l – so findet man lediglich 634 RPM-Pakete, deren Namen mit perl- beginnt, die also wohl Perl-Module enthalten.

Für Perl-Entwickler stellt Opensuse ein eigenes Repository namens devel:languages:perl bereit (Abbildung 1), das etwa 2 200 Pakete umfasst. Zwar kann ein RPM-Paket durchaus mehrere Perl-Module enthalten, aber trotzdem sieht man deutlich, dass Opensuse bei weitem nicht alle Module paketiert. In anderen Distributionen dürfte das Verhältnis ähnlich ausfallen.

Abbildung 1: Opensuse bietet ein eigenes Perl-Repository.

Um die Vielfalt des CPAN für Sie selbst zu nutzen, greifen Sie am besten zu einem der drei gängigen Paketmanager für Perl-Module: cpan, cpanm (CPAN-Minus) und cpanp (CPAN-Plus). Im folgenden beschreiben wir die Verwendung von Cpanp beschrieben, dessen wichtigste Kommandos die Tabelle "CPAN-Plus: Wichtige Befehle" aufführt. Zwei Beispiele zur Funktion von CPAN-Plus – die Installation und Deinstallation des Moduls Archive::Tar, mit dem Sie Tarballs bearbeiten – zeigt Listing 1.

CPAN-Plus: Wichtige Befehle

Befehl Funktion
cpanp m Modul suche Modul
cpanp a Autor suche Module des Autors Autor
cpanp i Modul installiere oder aktualisiere Modul
cpanp u Modul deinstalliere Modul
cpanp o finde veraltete Module

Listing 1

# cpanp i Archive::Tar
Installing Archive::Tar (1.84)
...
Result: PASS
*** Install log written to:
  /root/.cpanplus/install-logs/Archive-Tar-1.84-1336416866.log
Module 'Archive::Tar' installed successfully
No errors installing all modules
# cpanp u Archive::Tar
This will uninstall the following modules:
    Archive::Tar
Note that if you installed them via a package manager, you probably
should use the same package manager to uninstall them
Are you sure you want to continue? [y/N]: y
Uninstalling 'Archive::Tar'
Module 'Archive::Tar' uninstalled successfully
All modules uninstalled successfully

Rufen Sie CPAN-Plus ohne Optionen auf, gelangen Sie in eine Shell, wo Sie dann beispielsweise mit dem Befehl i Archive::Tar das gewünschte Modul installieren. h zeigt einen Hilfetext, mit q verlassen Sie die CPAN-Plus-Shell wieder.

Never change …

Auch wenn ein Aufruf von cpanp o viele Module zeigt, von denen es neuere Versionen gibt, ist es nicht zwangsläufig ratsam, sofort alle zu aktualisieren. Einerseits: Never change a running system – warum sollten Sie etwas ändern, wenn ohnehin alles funktioniert und Sie neue Features (und neue Bugs) gar nicht brauchen? Andererseits kommen Sie damit möglicherweise dem System-Perl (das über RPM, DEB oder sonstwie bei der Installation eingerichtet wurde) in die Quere: Dann können Sie eventuell Module, die Sie über das Distributionspaketmanagement installiert haben, nicht mehr sauber aktualisieren oder deinstallieren.

Um solche Problemchen zu vermeiden, bietet es sich gegebenenfalls an, Perl von der Projekt-Webseite [2] herunterzuladen und aus dem Quellcode eine zweite Perl-Installation einzurichten – etwa unter /opt/perl. So umgehen Sie Schwierigkeiten mit der Systeminstallation der Distribution.

Damit steht eigenen Experimenten mit den aktuellsten Versionen der neuesten Module über die selbst installierte Version in /opt/perl nichts mehr im Weg. Dazu rufen Sie dann das selbst installierte Perl mit /opt/perl/bin/perl auf, Cpanp über /opt/perl/bin/cpanp. Auf diese Weise verhindern Sie auch, dass neuere Versionen von Modulen eventuell inkompatible Änderungen einführen und damit Probleme im System verursachen.

Die Firma Activestate [3] stellt eine binäre Distribution von Perl (und auch anderen Programmiersprachen) zur Verfügung, die es auch als Community-Edition gibt. Diese Perl-Distribution bringt auch einen komfortablen grafischen Modul-Manager mit, den Perl Package Manager ppm. Mit ihm installieren Sie bequem Module, die dann nicht direkt von CPAN kommen, sondern als PPMs von der Activestate-Seite (Abbildung 2).

Abbildung 2: Der praktische Perl Package Manager von Activestate.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...