ForumSuche Vorteile der Paketverwaltung …
Bernhard Huemer – Samstag, 17. Dezember 2005 23:24 Uhr

Hallo,

ich bin der Meinung kürzlich einen Artikel im Internet gelesen zu haben, der über apt-get
handelte. Recht viel hab ich mir von dem allerdings nicht gemerkt nur das auch Vorteile
von Paketverwaltungssystemen im Allgemeinen erwähnt wurden. Einer hatte damit zu
tun, das beim Update die bisherige Konfiguration bestehen bleibt ..

Falls ihr jetzt nicht wisst welchen Artikel ich meine, wär es
toll wenn ihr mir die Vorteile nochmal auflisten könnt, danke.

2 Antworten
Benjamin Quest – Sonntag, 18. Dezember 2005 15:02 Uhr

Du bis der Meinung gelesen zu haben … ???

Paketverwaltungen gibt es mittlerweile eine ganze Menge und sie unterscheiden sich recht deutlich. Die von SuSE (yast -i) funktionerte bei mir immer am unbefriedigendsten, die von Mandriva (urpmi) war recht ordentlich, die kommende von Mandriva (smart) war bei meinen bisherigen Tests noch etwas smarter, das beste ist aber immer noch Debians apt. apt gibt es nicht nur für *.deb Pakete, sondern auch mit der Variante apt4rpm für *.rpm Pakete.

Alle erwähnten Paketverwalter sind besser als das “nackte” rpm oder dpkg. Diese installieren und de~ zwar und führen Buch was da ist, achten aber nicht auf die eventuell resultierenden Abhängigkeiten, das machen die o.g. Programme (und das tun sie unterschiedlich gut). Hier ist ein alter Artikel [1] der eher allgemein ist, hier ein neuerer [2] über apt.
Gruß, Benjamin

P.S.: Es sind der erste und der zweite Treffer der Google Suche: Paketverwaltung Linux.

[1] http://www.linux-magazin.de/Artikel/ausgabe/1997/09/Paketverwaltung/paketverwaltung.html
[2] http://www.linux-magazin.de/Artikel/ausgabe/2002/07/apt/apt.html

Doki Nafaso – Sonntag, 18. Dezember 2005 18:37 Uhr

Alle erwähnten Paketverwalter sind besser als das “nackte” rpm oder dpkg. Diese installieren und de~ zwar und führen Buch was da ist, achten aber nicht auf die eventuell resultierenden Abhängigkeiten

Was meinst du damit? Sowohl rpm als auch dpkg geben Auskunft über Abhängigkeiten und meckern, wenn selbige nicht erfüllt sind.

Benjamin Quest – Montag, 19. Dezember 2005 09:53 Uhr

OK, so habe ich es unscharf ausgedrückt. Sie meckern bei Abhängigkeitsproblemen, aber sie versuchen nicht diese Probleme auch aufzulösen (besser: sie können diese Probleme nicht auflösen).
Besser?

Daniel Arnold – Sonntag, 18. Dezember 2005 16:36 Uhr

Aufgrund der Art deiner Frage gehe ich davon aus, dass du mit Linux noch bisher
überhaupt nichts am Hut hattest und Windows nutzt und dich nun fragst wie man
Software unter Linux installiert und was diese ganze Paketverwalterei soll…

Zunächst einmal ist es so:
* Unter Windows sind Programme üblicherweise mit einer Setuproutine
ausgestattet, die man anklickt und dann installiert sich das Zeugs mehr oder
weniger sinnvoll (meist weniger sinnvoll) ins System.
* Das Problem dieses Ansatzes ist nun, dass nur die jeweilige Setuproutine
weiß, was alles für Dateien in das System kopiert wurden und deswegen benötigt
man dann auch einen speziellen Uninstaller für jedes Programm, der jedoch fast
immer nicht alles wieder entfernt.
* Das nächste Problem ist, dass durch diese uneinheitlichen Installer niemand
weiß ob sich nicht ein paar Dinge in die Quere kommen können (Stichwort
Überschreiben von DLL’s mit anderen Versionen) und das System keine Chance hat
festzustellen, welche Version einer DLL welche Software benötigt.
* Das nächste gravierende Problem ist, dass man unter Windows sein System nicht
eben mal auf dem aktuellen Stand halten kann, sondern für jedes Programm extra
per Hand die neuesten Updates installieren muss (und das Windowsupdate
funktioniert deswegen und aus anderen Gründen auch nur für Kernkomponenten von
Microsoft)
* Und ein weiteres Windowsproblem ist, dass zig Megabytes an Software mehrfach
im System installiert sind, weil man ja nicht weiß, ob diese und jede Software
(zumeist Bibliotheken) auf der meine Software aufbaut im System installiert
ist.

Unter Linux gibt es nun verschiedene Paketverwaltungssysteme, die die obigen
Probleme, wie man sie von Windows kennt, lösen. Die bekanntesten sind RPM und
DEB.
* Die Setuproutine ist bei einer Paketverwaltung immer dasselbe Programm und
ist nicht im Paket selber enthalten. Die Setuproutine ist das Programm welches
die Pakete alle öffnen kann und speichert alle Daten in einer Datenbank. Das
System weiß also immer, welche Datei zu welcher Software gehört und kann somit
Programmpakete stets restlos auch wieder aus dem System entfernen.
* In dieser Datenbank sind nun auch Statusinformationen darüber gespeichert in
welcher Version eine Software installiert ist und welche speziellen
Softwarepakete in welcher Version von anderen installierten Paketen zwingend
benötigt werden (sogenannte Abhängigkeiten) und welche Pakete sich gegenseitig
in die Quere kommen würden. Diese Statusinformationen sind im jeweiligen Paket
enthalten und werden bei der Installation im System eingetragen.
* Komfortable Paketverwaltungen wie YaST, apt, urpmi, Yum und SmartPM können
nun diese Statusinformationen nutzen um direkt abhängig von der installierten
Software im System alle Software mit einem Schlag aktualisieren (die
installierten Versionen werden mit einer Quelle bspw. im Internet verglichen).
Unter Windows ein Ding der Unmöglichkeit.
* Ein Softwarepaket muss nur noch das nötigste enthalten, nämlich sich selbst
und sonst nichts. Alles andere wie Bibliotheken wird als sogenannte
Abhängigkeit in den Statusinformationen des Pakets genannt und wird im
Bedarfsfalle von YaST, urpmi usw. automatisch nachinstalliert (automatische
Auflösung von Abhängigkeiten). Somit ist also ein Softwarepaket unter Linux
bedeutend kleiner als unter Windows und gemeinsam benutzte Software ist nur
einmal installiert.

Das alles heißt konkret, dass es unter Linux grundlegend anders ist Software zu
installieren als unter Windows. Unter Linux startet man den jeweiligen
Paketverwalter (YaST usw…) und sucht im Katalog der angebotenen Sofwarepakete
das was man braucht und sagt installieren und dann installiert das System einen
das was man will. Solange man mit dem zufrieden ist was der Distributor (SuSE,
RedHat, Mandrake, Debian…) einen bereitstellt muss man also Software nicht
irgendwo mühselig auf Downloadseiten zusammensuchen.

Nun gibt es natürlich ab und zu den Wunsch auch mal irgend ein Programm zu
installieren, was dummerweise nicht vom Distributor angeboten wird. Zu diesem
Zweck gibt es dann für die jeweiligen Distributionen sogenannte
Extrapaketquellen von Dritten, die man wie gewohnt in sein System als neue
Paketequelle integrieren kann und erst wenn man darüber nix findet wird man
Programme unter Linux auf dem “Windowsweg” installieren wollen (nämlich direkt
am System vorbei mit einer speziellen Setuproutine vom Prgrammanbieter oder
direkt aus den Quellen kompiliert).

Die Sache mit der Übernahme der Konfigfiles (in /etc, nicht die im
Home-Ordner) kann man in einer Paketverwaltung in der Tat sehr schön lösen, da
man ja nun weiß was in welcher Version zu wem gehört. Die
Paketverwaltung fragt dann beim Update nach, was mit den alten
Konfigurationsdateien passieren soll, falls man sie modifiziert hat und man
kann somit seine alten Einstellungen in der Regel bequem übernehmen.

Welche Paketverwaltung man nimmt hängt in erster Linie von der Distribution ab
die man benutzt und ist für einen Anfänger sekundär (viel wichtiger für einen
Anfänger ist, dass das System ohne große Kenntnisse schnell konfigurierbar
ist). Für einen Anfänger ist es am besten einfach das zu nutzen, was
standardmäßig dabei ist (also bspw. bei SuSe den YaST).

Hier mal noch ein paar Wikipedia-Links zum Thema:

[1] http://de.wikipedia.org/wiki/Distribution_(Software)
[2] http://de.wikipedia.org/wiki/Paketmanagement
[3] http://de.wikipedia.org/wiki/RPM
[4] http://de.wikipedia.org/wiki/Deb
[5] http://de.wikipedia.org/wiki/YaST
[6] http://de.wikipedia.org/wiki/Advanced_Package_Tool
[7] http://de.wikipedia.org/wiki/Yellowdog_Updater,_Modified

man-draker – Montag, 19. Dezember 2005 13:01 Uhr

Tolle Erläuterung!
Eins rauf mit Mappe.