Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Paketmanager - Wikipedia

Paketmanager

aus Wikipedia, der freien Enzyklopädie

Ein Paketmanager (engl.: package manager) ermöglicht das komfortable Management von Software auf einem Computersystem, wie es insbesondere unter Linux sehr verbreitet ist. Dazu gehört das Installieren, Aktualisieren und Deinstallieren der Software in Form gepackter Programme.

Inhaltsverzeichnis

[Bearbeiten] Arbeitsweise

Voraussetzung für ein solches Management ist dabei, dass die Software, welche installiert werden soll, bereits als entsprechendes Paket verpackt wurde (siehe weiter unten). Diese Informationen in dem Paket werden vom Paketmanager ausgelesen und umgesetzt. Erkennt der Paketmanager dabei, dass noch weitere Software für das Funktionieren benötigt wird, aber noch nicht installiert ist (eine sogenannte Abhängigkeit), versucht er, die fehlende Software mit dem ihm zur Verfügung stehenden Mitteln z.B. aus einem Repository nachzuladen und vorweg zu installieren.

Will man später eine installierte Software löschen, kann man diese Anweisung ebenfalls an den Paketmanager übergeben. Dieser nimmt dann wieder die Informationen des Pakets, um anhand dessen Konfigurationen zu ändern und Dateien zu löschen.

Paket-Management-Systeme werden von fast allen Betriebssystemen und Distributionen benutzt. Eine Ausnahme stellt aber beispielsweise Linux From Scratch dar.

[Bearbeiten] Vorteile und Nachteile

Mit einem Paketmanager vereinfacht sich die Installation eines Programms erheblich, da Programme nicht erst einzeln heruntergeladen, kompiliert und installiert werden müssen. Außerdem überwachen die meisten Paketmanager Konflikte zwischen Paketen mit gleichen Inhalten und verhindern so eine Systeminstabilität in dieser Beziehung.

Ebenso ist das Löschen von Software deutlich vereinfacht: da der Paketmanager sich alle zu einem Paket gehörende Software merkt, kann bei einem Löschen eines Paketes sämtliche nicht mehr benötigte Software mit entfernt werden.

Die Nachteile ergeben sich aus den begrenzten Möglichkeiten, Programme weiter anzupassen. Da die meisten Paketmanager nur Binärformate unterstützen, entfällt die Möglichkeit, in diesem System auch speziell optimierte Software zu kompilieren.

Auch kann es bei der Softwareverwaltung zu Konflikten kommen: Sind in den Paketen A und B teilweise gleiche Dateien enthalten, können nicht beide Pakete gleichzeitig installiert werden. Ebenso kann es passieren, dass bei einem Update des Pakets X auch die Aktualisierung des Pakets Y gefordert wird, Paket Z aber fordert, dass Y die Version beibehält - ein Update ist dann nicht möglich. Es zeichnet einen guten Paketmanager aus, Konflikte und Abhängigkeiten richtig zu berechnen und zur bestmöglichen Lösung zu kommen, also die richtigen Pakete zu aktualisieren, wenn nötig veraltete Pakete zu löschen und den Konflikt so bestmöglich zu lösen.

Quellenbasierte Distributionen wie etwa Gentoo Linux begegnen diesen Problemen: Hier werden die Software-Pakete erst auf dem Zielrechner kompiliert. Dabei ist es auch möglich, die Komponten, und damit die Abhängigkeiten eines Paketes zu gestalten. Sollte ein bereits installiertes Paket nicht die benötigten Bibliotheken für ein neues Paket installiert haben, wird es kurzerhand neu übersetzt und installiert.

[Bearbeiten] Definitionsprobleme

Es gibt genau genommen zwei Arten von Paketmanagern: Auf der einen Seite stehen die Programme, die aus anderen Quellen Pakete nachladen können, um Abhängigkeiten aufzulösen, auf der anderen Seite diejenigen Programme, die direkt die Pakete installieren oder löschen, aber keine Abhängigkeitsverwaltungs- und Konfliktlösungsmechanismen kennen.

Zwei konkrete Fälle: das Programm RPM kann Pakete vom Typ *.rpm installieren und löschen, das Programm dpkg kann Pakete vom Typ *.deb installieren und löschen. Beide können aber keine Abhängigkeiten auflösen, da sie keine Funktionen haben, um Software nachzuladen. Dies können erst die "richtigen" Paketmanager wie YUM, APT und andere.

[Bearbeiten] Prinzip der Pakete

Ein Paket enthält neben den reinen Programmdateien auch Informationen, wo diese Programmdateien abgelegt werden sollen, welche Konfigurationen am bestehenden System vorgenommen werden müssen, und meist auch, ob und wenn, welche Software noch zusätzlich benötigt wird, damit das Programm funktioniert. Bei der Installation werden die Programmdateien im Paket in das laufende oder zu installierende System hinein entpackt, danach werden die Installationsskripte ausgeführt.

Es gibt mehrere konkurrierende Paketformate, die von unterschiedlichen Paketmanagern verarbeitet werden. Die wichtigsten sind:

[Bearbeiten] Pakete erstellen

Pakete zu erstellen ist nicht trivial. Auch in kleinen Projekten gibt es meistens einen Packager, der dafür verantwortlich ist, dass Pakete funktionieren.

Der Packager nimmt die Programmquellen und trägt in einer Datei ein, welche Programme zur Kompilierung benötigt werden. Dann erstellt er Regeln, wie sich das Programm automatisiert kompilieren lässt. Außerdem sammelt und schreibt er Patches, welche automatisch eingespielt werden und schreibt eine kurze Beschreibung des Pakets.

Das fertige Quellpaket kann nun automatisch für jede Plattform vorkompiliert werden.

[Bearbeiten] Besondere Pakete

Zu beachten ist, dass viele Pakete zweimal vorkommen. Dabei handelt es sich beim zweiten Eintrag um das eigentliche Paket mit einem nachgestellten dev oder devel. Diese Abkürzung steht dabei für Development (englisch für Entwicklung), was darauf hinweist, dass dort Dateien enthalten sind, die für das Funktionieren des Programms nicht wichtig sind, aber gebraucht werden, wenn man darauf aufbauend weitere Software entwickeln will.

[Bearbeiten] Beispiele für Paketmanager

Andere Sprachen
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu