Home / LinuxUser / 2012 / 10 / CTAN, CPAN, Pear & Co.: Paketverwaltungen für Quellcode

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(208 Punkte bei 7 Stimmen)
Bezahlstandard
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1503 Hits
Wertung: 80 Punkte (4 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Terminator
Viele Terminals im Griff mit Terminator
Tim Schürmann, 07.05.2013 10:57, 1 Kommentare

Wer morgens nach dem Einschalten des Rechners erst einmal mehrere Terminals öffnet und sich diese mühevoll auf dem Bildschirm drapiert, der sollte einen Blick auf Terminator werfen. Das kleine...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...