"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Softwareinstallation und Paketmanagement unter GNU/Linux

COLOSSUS 17.11.2005 - 11:44 1238 1 Thread rating
Posts

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11900
Hatte grade ein bisschen Zeit, und hab deswegen auf die Schnelle mit dem versprochenen Guide zum Paketmanagement angefangen - Kritik wird gerne angenommen, bei entsprechender Resonanz erweitere ich das ganze noch um eine Uebersicht populaerer Paketmanager und deren (Basis-)Bedienung.

Speziell fuer Umsteiger aus der Windows-Welt stellt sich bei GNU/Linux-Systemen oft die Frage, wie man denn nun zusaetzliche Software, die sich nicht in der Standardinstallation der eingesetzten Distribution befindet, zum System hinzufuegt. Von Windows her ist man ja gewohnt, fuer (fast) jedes Programm einen eigenen Installer zu besorgen, der meistens alle benoetigten Abhaengigkeiten was "Shared Objects" (die oftmals gefuerchteten DLL-Dateien) betrifft, erfuellt. Dieses System hat sowohl Vor-, als auch Nachteile. Der groeszte Vorteil ist wohl der, dass dieses Distributionsmodell von Software sehr vielen zur Gewohnheit geworden ist. Auch bietet es in den Anfaengen eine gewisse Konsistenz - in der Regel startet die Installation durch Doppelklick auf "Setup.exe" (wenngleich es inzwischen auch vermehrt Ausnahmen wie Windows-Installer-Pakete gibt, die teilweise mit dieser goldenen Regel brechen), und ein - mehr oder minder hilfreicher - Assistent fuehrt Schritt fuer Schritt durch den Installationsvorgang. Auch wird meist ein (hoffentlich funktionstuechtiger) Uninstaller mitgebracht, der einen Eintrag in Start->Systemsteuerung->Software hinterlaesst.

Um die vielleicht nicht offensichtlichen Nachteile dieser Praxis herauszustreichen, will ich die Vorzuege der Paketmanager-Variante unter GNU/Linux beleuchten. Freie Software ist, bedingt durch ihre Lizenz und darin festgeschriebenen Prinzipien, kostenfrei weiterverteilbar. Im Gegensatz dazu hat proprietaere Software oft einige Hemmnisse anhaften, wie z. B. noch bis vor kurzem der Macromedia Flash Player, der pro Download nur einmal installiert - dies zudem nicht auf Laptops, sondern nur "ortsgebundene Computer" - werden, und danach nicht weiterverteilt werden durfte. Freie Software darf (und soll) jeder nach Belieben (und trotzdem unter Beachtung der Lizenzbestimmungen) weiterverteilen, was das Prinzip eines "herstellerunabhaengigen" (wobei mit dem Hersteller hier der Urheber des eigentlichen Programm(code)s gemeint ist) Paketmanagers eigentlich erst ermoeglicht. Dieser funktioniert in der Regel ueber eine Art von Datenbank, die einen Katalog verfuegbarer Software, zusammen mit Metadaten ueber diese Software, enthaelt.

Ein guter Paketmanager kuemmert sich um die Installation, Konfiguration, Deinstallation und das Up-to-date-Halten der Software aus seinem Katalog. Will man also ein Bildbearbeitungsprogramm installieren, durchsucht man erst den Index seines Paketmanagers nach Begriffen, die in dieser Beziehung sinnhaft scheinen (zum Beispiel "Image Manipulation"), und waehlt anschlieszend aus den angezeigten Resultaten, was einem als geeignet ins Auge springt. Bei der Installation, die vollstaendig durch den Paketmanager (meist noninteraktiv) gesteuert wird, werden durch den Paketmanager auch gleich im Sinne des Paketerstellers sinnvolle Einstellungen fuer das Programm gesetzt, und man kann sofort nach der Installation mit dem Arbeiten beginnen. Sollte man mit einem programm einmal nicht zufrieden sein, oder es aus einem anderen Grund entfernt haben wollen, regelt auch dies der Paketmanager - die Deinstallation erfolgt fuer alle Anwendungen, die durch den Paketmanager auf das System gekommen sind, analog. Ist man sich einmal nicht ganz sicher, ob von Programm X nicht schon eine neuere Version verfuegbar ist, die vielleicht neue Features, behobene Fehler oder sonstige Verbesserungen bietet, laesst sich auch das durch den Paketmanager regeln - man aktualisiert einfach den Katalog, und laesst den Paketmanager ueberpruefen, ob eines der durch ihn installierten Programme inzwischen aktualisiert wurde. Wenn ja kann man ihn dazu anweisen, die alte Version durch die neuere zu ersetzen.

Man ist mit einem Paketmanager also nicht mehr auf das "haendische" Suchen nach Programmen in den Untiefen des WWW angewiesen, und auch um Updates muss man sich nicht an zig verschiedenen Stellen scheren. Installation und Deinstallation bieten ein konsistentes Interface, das sich immer gleich bedient und immer gleich aussieht. Ein nicht ungewichtiger Nachteil ist freilich, dass sich Software, die sich nicht im Katalog des Paketmanagers befindet, durch diesen nicht Installieren und Warten laesst. Das ist insbesondere bei Projekten der Fall, die rechtlich in einigen Teilen der Welt (aufgrund der unvernuenftigen Vergabe von Patenten zum Beispiel) auf wackeligen beinen stehen, und die Distributoren deshalb aus Angst vor Klagen durch die Konkurrenz auf die Indizierung dieser Software in ihren Standardkatalogen verzichten. Doch auch hier gibt es Abhilfe, meist in Form von sogenannten "Fremdrepositories", einer Art von Katalogerweiterung, die jeder bessere Paketmanager erlaubt.

Hat man also die Moeglichkeit, Software ueber einen Paketmanager zu installieren und zu pflegen, so soll man AUF JEDEN FALL diese Variante waehlen, der Komfortgewinn ist betraechtlich. Ist einmal ein gewuenschter Titel nicht ueber das Paketmanagement verfuegbar, gibt es immer noch den Weg ueber die "magischen 3", configure && make && make install, der eher der von Windows gewohnten Variante entspricht. Besser ist es aber in jedem Fall, diese Art der Installation, sowie jede andere Form von binaerem Installer (welchen einen es z. B. fuer Firefox gibt) zu meiden, da man sich selbst durch deren Verwendung keinen Gefallen tut. Im Zweifelsfall befragt man also Google nach einem passenden Fremdrepository fuer seine Distribution, die das gewuenschte Stueck Software enthaelt, macht dieses seinem Paketmanager zugaenglich, und installiert weiter wie gewohnt und in aller Gemuetlichkeit.


... Uebersicht ueber einige Paketmanager und Auflistung einiger populaerer Fremdrepos kommt bei Bedarf noch im hier Anschluss ...

deagle

Addicted
Registered: May 2004
Location: Wien
Posts: 381
Super, hat eh her gehört! :)

[x] sticky

Imho könntest du noch eine grobe Übersicht über die populärsten Paketmanager (apt, Portage, RPM) und evtl. deren (optionale) Frontends (YAST, Synaptic, ...), Vor-/Nachteile und Bedienung geben.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz