AA_baechlein_PO-22761_123rf-TomGrundy.jpg

© Tom Grundy, 123rf.com

An der Quelle

Pakete verwalten unter Slackware

22.05.2012
Slackware zählt zu den Urgesteinen unter den Distributionen. Zur Paketverwaltung greift es auf Tarballs zurück, was das Einrichten von Software – je nach Betrachtungsweise – sehr aufwändig oder sehr einfach macht.

Slackware Linux ist die älteste noch aktive Linux-Distribution und rangiert auf Distrowatch.com trotz ihrer stellenweise nicht mehr ganz taufrischen Konzepte immer noch auf Platz 16 von 329 aktuell gelisteten Distributionen. Dafür gibt es Gründe, auch wenn Slackware [1] mit seiner Philosophie die Nutzergemeinde spaltet: Die liegt nämlich von je her primär darin, sich möglichst nah und unverfälscht an einem echten Unix-System zu orientieren und auf möglichst unnötigen Ballast zu verzichten. Das bedeutet in praktischer Konsequenz, dass es faktisch keine distributionsspezifischen, grafischen Tools zur Systemkonfiguration gibt.

So muss der Benutzer sämtliche Einstellungen über das Bearbeiten der zugehörigen Konfigurationsdateien erledigen – je nach Standpunkt und Sichtweise ein Vor- oder Nachteil. Profis schätzen jedoch die einfache, aber verlässliche Struktur. Das zeigt sich unter anderem auch in der Paketverwaltung, die genau genommen keine ist: Bei Slackware-Paketen handelt es sich schlicht um komprimierte TAR-Archive, sodass sich keine Abhängigkeiten verwalten lassen.

Für weniger versierte Nutzer ist das eher von Nachteil; fortgeschrittenen Anwender und Admins aber schätzen am Slackware-Paketformat aber, dass es ermöglicht ist – etwa bei komplexeren Software-Suiten – nur Teile einer Software nutzen oder überflüssige Software problemlos zu entfernen, ohne dass dabei weitreichende Auswirkungen auf das Gesamtsystem auftreten. Haben Sie Slackware erfolgreich installiert, was übrigens trotz eine textbasierten Installers relativ problemlos funktioniert, – finden Sie im Verzeichnis /var/log/package eine Liste der installierten Pakete (Abbildung 1).

Abbildung 1: Nach der Installation finden Sie unter /var/log/packages die Liste installierter Pakete.

Da Slackware mit simplen Tarballs arbeitet, können Sie die einzelnen Einträge der Paketliste problemlos mit einen Archivtool wie Ark öffnen. Dabei zeigt sich, dass Slackware zusätzlich auf Komprimierung setzt. Öffnen Sie ein Paket oder eine Paketbeschreibung z.B. unter KDE via Dolphin-Kontextmenü Öffnen mit | Dienstprogramme | Ark, fragt die Anwendung nach dem verwendeten Kompressionsverfahren. Bei Slackware ab Version 13 (aktuell: Slackware 13.37) ist das wie in Abbildung 1 zu sehen LZMA. Frühere Slackware-Versionen verwendeten dagegen schlicht Gzip. Damit änderte sich in der 13er-Serie der Distribution nicht nur die Endung der Paketnamen von .tgz auf .txz, die neuen Slackware-Pakete sind auch nicht mehr mit älteren Versionen kompatibel.

Bauarbeiten

Zwar gelingt das Einrichten der auf den Slackware-Installationsmedien enthaltenen Pakete mithilfe der mitgelieferten Tools und Skripte recht problemlos, schon für das Einspielen von Sicherheitsupdates bedarf es aber zusätzlicher Werkzeuge wie etwa des seit der Slackware 12.2 verfügbaren Tools slackpkg. Darüber hinaus lösen die Tools slapt-get [2] und swaret [3] beim Installieren von Slackware-Software gleich Abhängigkeiten mit auf. Beide lassen sich allerdings nur dann sinnvoll nutzen, wenn es im offiziellen Slackware-Repo aktualisierbare Pakete gibt. Das ist aber derzeit nicht der Fall, denn beide Tools kommen ebenso wie Slackpkg nicht mit dem neuen Paketformat TXZ zurecht.

Das Management des Slackware-Repositories zwischen den Releases darf man getrost als konservativ bezeichnen: So kann es vorkommen, dass Maintainer Patrick Volkerding über den gesamten Lifecycle eines Releases keine Upgrades von Software-Paketen veröffentlicht. Er verwaltet nämlich sämtliche Pakete selbst, die zur offizielle Distribution gehören. Daneben definiert er auch die Release-Zyklen und trifft sämtliche Design-Entscheidungen. Dass bei Slackware vieles, ja eigentlich alles von Volkerdings Befinden abhängt, zeigt sich unter anderem daran, dass das Haupt-Repository [4] seit einiger Zeit nicht mehr funktioniert und bis zur angekündigten Fertigstellung eines mit Hilfe des Django-Frameworks fertigstellten Nachfolgers [5] schlicht nicht zur Verfügung steht.

Software aus dem Quellen

Dem leidgeprüften Slackware-Nutzer bleibt also aufgrund der geschilderten Umstände nicht viel anderes übrig, als sich durch das manuelle Übersetzen von Quellsoftware mit neuesten Updates zu versorgen. Dieses Handicap beeindruckt hartgesottene Slackware-Nutzer sicher wenig, denn bei ihnen handelt es sich in der Regel um fortgeschrittene Anwender, die sich gerade aus den oben geschilderten Gründen bewusst für die Distribution entschieden haben.

Potenzielle Nutzer sollten aber wissen, worauf sich sich gegebenenfalls einlassen, denn der virtuose Umgang mit dem einschlägigen Build-Tools bei Slackware Pflicht. Wer sich dabei nicht auch noch über die Maßen mit der komplexen Materie der Abhängigkeiten auseinandersetzen möchte, insbesondere im Zusammenhang mit Shared Libraries, sollte sich das Tool Sbopkg [6] ansehen, dass unter den genannten Third Party Tools Interessanteste.

Sbopkg verwendet vorgefertigte Buildskripte, um Quell-Software aus dem unabhängigen Build-Repository Slackbuilds ([7], Abbildung 2) zu übersetzen und daraus ein Slackware-Paket zu erstellen. Sie laden wahlweise einen Source-Tarball oder eine vorkompiliertes Slackware-Paket der aktuellen Version Sbopkg 0.35.0 2011 von der Projektseite herunter.

Abbildung 2: Slackbuilds ist ein unabhängiges Repo mit Source-Paketen und Build-Skripten für Slackware.

Auch wenn das Paketformat TGZ etwas Anderes befürchten lässt, das Tool ist durchaus kompatibel mit Slackware 13.37. Sie installieren es daher problemlos mit

# installpkg sbopkg-version-noarch-1_cng.tgz

Für das Aktualisieren künftiger Versionen nutzen Sie dann das Kommando

# upgradepkg sbopkg-version-noarch-1_cng.tgz

Nach jedem Update müssen Sie allerdings etwaige Änderungen in der dann ebenfalls aktualisierten mitgelieferten Datei sbopkg.conf.new in das existente File sbopkg.conf einbinden.

Beim ersten Start erzeugt Sbopkg die für SBo (Slackbuilds) benötigten Verzeichnisse /var/lib/sbopkg, /var/log/sbopkg, /var/cache/sbopkg und /tmp/SBo automatisch. Anschließend zeigt das Tool den SBo-Paketbrowser an, mit dem Sie komfortabel im Ncurses-basierten Menü nach aktualisierbarer Software fahnden (Abbildung 3).

Abbildung 3: Das Pakettool Sbopkg verfügt über ein übersichtliches Menü.

Bei der ersten Verwendung müssen Sie allerdings zuerst die Paketliste mit dem Online-Stand von Slackbuilds abgleichen, wozu Sie den Menüpunkt Sync wählen. Über den zweiten Menü-Eintrag, SlackBuild, werfen Sie bei Bedarf einen Blick in das zugrunde liegende Buildskript. Via Packages zeigen Sie bereits installierte SBo-Pakete an oder deinstallieren sie, während Updates für installierte SBo-Pakete verfügbare Aktualisierungen einrichtet.

Für die Suche nach nicht installierten, verfügbaren SBo-Paketen stehen die Menüpunkte Browse und Search zur Auswahl. Mit Browse verschaffen Sie sich einen Überblick über das gesamte SBo-Repository. Wissen Sie bereits, welches Paket sich brauchen, führt eine gezielte Suchen über Search meist schneller zum Ziel (Abbildung 4). Bei der Suche wechseln Sie mit [Tab] zwischen den Funktionen <PKG> zum Suchen nach Paketnamen oder <String> zum Stöbern in der Paketbeschreibung. Ein gefundenes Paket wählen Sie mit <OK> an und fügen es mit <Add to Queue> der Auswahlliste hinzu, woraufhin Sie dann weitere Pakete zur Installation auswählen können.

Abbildung 4: In Sbopkg suchen Sie komfortabel nach installierten oder im Repo verfügbaren Quellpaketen.

Bei Anwahl des letzten Menüpunkts, Build, schließlich baut Sbopkg aus dem oder den ausgewählten Sbo-Quellpaketen ein Slackware-Paket. Sbopkg fragt zuvor, ob es das gewünschte Paket nur zusammenstellen oder auch gleich installieren soll. Zum Start des Build-Prozesses müssen Sie im Folgedialog <Start Build bestätigen (Abbildung 5). Je nach Paket gilt es danach auf der Kommandozeile die eine oder andere Frage des Build-Skripts zu beantworten. Geht etwas schief, müssen Sie das Paket mit Remove zunächst aus dem Cache entfernen, bevor Sie fortfahren.

Abbildung 5: Sbopkg baut mit Hilfe von Buildskripten aus im Repo Slackbuilds verfügbaren Quell-Paketen Slackware-Pakete und installiert diese auf Wunsch auch.

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
weitere Korrektur
Ralf (unangemeldet), Sonntag, 03. Juni 2012 22:58:02
Ein/Ausklappen

Der Autor schreibt:

"Dass bei Slackware vieles, ja eigentlich alles von Volkerdings Befinden abhängt, zeigt sich unter anderem daran, dass das Haupt-Repository [4] seit einiger Zeit nicht mehr funktioniert [......] . Dem leidgeprüften Slackware-Nutzer bleibt also aufgrund der geschilderten Umstände nicht viel anderes übrig, als sich durch das manuelle Übersetzen von Quellsoftware mit neuesten Updates zu versorgen."

Das ist unzutreffend. Lediglich der http- Paketbrowser, den man eh' nicht braucht, funktioniert nicht mehr.

Das Repository ist ein FTP- Server, der von zahlreichen Mirrors gespiegelt wird (z.B. von ftp.slackware.at ), und dort sind nicht nur alle Pakete zugänglich, sondern es finden sich jeweils im Ordner "patches" Sicherheitsaktualisierungen betroffener Pakete.

Der Paketbrowser ist übrigens entbehrlich, weil man in den Dateien FILE_LIST und MANIFEST.bz2 offline nach Paketen und Dateien suchen kann.



Bewertung: 113 Punkte bei 11 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Fehlerkorrektur
Heinz Wiesinger (unangemeldet), Dienstag, 22. Mai 2012 15:51:05
Ein/Ausklappen

Danke für den ausführlichen Artikel. Es ist schade dass die Recherche allerdings nicht so ausführlich ausgefallen ist. Daher werden im Artikel einige Fakten erwähnt, die so nicht korrekt sind.

Slackware verwendet, wie korrekt erklärt, komprimierte tar-Pakete. Allerdings ist das nicht beschränkt auf das erwähnte Format txz, sondern unterstützt auch das ursprüngliche Format tgz, und ebenso die etwas exotischeren Formate tbz und tlz. Der Unterschied zwischen den Formaten ist lediglich der verwendete Kompressionsalgorithmus (xz, gzip, bzip2 und lzma respektive).

Für das Paketmanagement verwendet man die Werkteugsammlung pkgtools, bestehend aus unter anderem installpkg und upgradepkg. slackpkg dient als Frontend für diese Werkzeuge und unterstützt sehr wohl alle oben erwähnten Paketformate, und nicht wie im Artikel erwähnt nur tgz. Es ist Teil der Kern Distribution und in keiner Weise veraltet.

spkg ist nicht wie im Artikel erwähnt ein Slackware Paketmanagement Tool, sondern für das Paketmanagement von Salix OS verantwortlich. Es mag unter Slackware funktionieren, aber das gilt ebenso für rpm.

Der erwähnte Paketbrowser http://packages.slackware.it ist mittlerweile stark veraltet und nicht mehr funktionabel. Es gibt mehrere Alternativen gepflegt von der Community, unter anderem http://packages.slackverse.org/



Bewertung: 128 Punkte bei 12 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

title_2014_09

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

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...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...