www.wikidata.de-de.nina.az
Eine Paketverwaltung englisch package management software ermoglicht die komfortable Verwaltung von Software die in Form von Programmpaketen vorliegt Dazu gehoren Installieren Aktualisieren und Deinstallieren YUM spielt Updates auf einem Fedora 16 System ein aptitude mit Kommandozeilenbefehlen auf Debianaptitude bietet auch eine TUISynaptic unter UbuntuPackageKit ist eine grafische Oberflache fur verschiedene Paketverwaltungen hier auf einem RHEL 6 System Das Ubuntu Software Center ist eine grafische Oberflache fur dpkg APT steht unter der GPL und ist nicht nur unter Ubuntu verfugbar Inhaltsverzeichnis 1 Arbeitsweise 2 Eigenschaften 2 1 Definitionsuberschneidung 2 2 Aufbau der Pakete 2 3 Paketerstellung 2 4 Besondere Pakete 3 Vor und Nachteile 4 Alternativen und verwandte Konzepte 5 Beispiele fur Paketverwaltungen 6 EinzelnachweiseArbeitsweise BearbeitenVoraussetzung fur die Paketverwaltung ist dass die zu installierende Software als entsprechendes Paket vorliegt Typischerweise liegen diese Pakete in einem zentralen Repository Anderungen welche die Paketverwaltung zur Installation des Pakets vornehmen muss werden von dieser aus dem Paket ausgelesen und umgesetzt Erkennt die Paketverwaltung dabei dass noch weitere Software fur das Funktionieren benotigt wird sogenannte Abhangigkeit z B eine Programmbibliothek aber noch nicht installiert ist warnt sie entweder oder versucht die fehlende Software mit den ihr zur Verfugung stehenden Mitteln ebenfalls aus dem Repository nachzuladen und vorweg zu installieren Soll eine installierte Software geloscht werden nimmt die Paketverwaltung dann wieder die Informationen des Pakets um es anhand dessen Konfiguration zu andern und Dateien zu loschen Bei Linux Distributionen ist typischerweise eine Paketverwaltung integriert dessen Repository von dem Betriebssystemanbieter zentral erstellt angeboten und gepflegt wird Paketverwaltungen werden ausserdem bei der Softwareentwicklung eingesetzt um Software Tools in die Entwicklungsumgebung zu laden die fur die Erstellung einer Software benotigt werden oder um Abhangigkeiten zu laden die direkt in die zu erstellende Software integriert werden Eigenschaften BearbeitenMit einer Paketverwaltung vereinfacht sich die Installation eines Programms erheblich da Programme nicht erst einzeln heruntergeladen kompiliert und installiert werden mussen Ausserdem uberwachen die meisten Paketverwaltungen Konflikte zwischen Paketen mit gleichen Inhalten und verhindern so eine Systeminstabilitat in dieser Beziehung Ebenso ist das Loschen von Software deutlich vereinfacht Da die Paketverwaltung sich alle zu einem Paket gehorende Software merkt kann bei einem Loschen eines Paketes samtliche nicht mehr benotigte Software mit entfernt werden Definitionsuberschneidung Bearbeiten Es gibt genau genommen zwei Arten von Paketverwaltungen Auf der einen Seite stehen die Programme die aus anderen Quellen Pakete nachladen konnen um Abhangigkeiten aufzulosen auf der anderen Seite diejenigen Programme die direkt die Pakete installieren oder loschen aber keine Abhangigkeitsverwaltungs und Konfliktlosungsmechanismen kennen Zwei konkrete Falle Das Programm RPM kann Pakete vom Typ rpm installieren und loschen das Programm Dpkg kann Pakete vom Typ deb installieren und loschen Beide konnen aber keine Abhangigkeiten auflosen da sie keine Funktionen haben um Software nachzuladen Dies konnen hohere Schichten der Paketverwaltungen wie YUM APT pkg get und andere Aufbau der Pakete Bearbeiten Ein Paket enthalt neben den reinen Programmdateien auch Informationen wo diese Programmdateien abgelegt werden sollen welche Konfigurationen am bestehenden System vorgenommen werden mussen und meist auch ob und wenn welche Software noch zusatzlich benotigt 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 ausgefuhrt Es gibt mehrere konkurrierende Paketformate die von unterschiedlichen Paketverwaltungen verarbeitet werden Die wichtigsten sind pkgadd und weitere Programme die 1984 von AT amp T fur Unix eingefuhrte Paketverwaltung RPM Package Manager RPM bei Red Hat Fedora Mandriva OpenSUSE etc verwendet Debian Package Manager dpkg mit deb Dateien bei Debian und Derivaten z B Ubuntu zu finden Slackware verwendet Pakete die im Archivierungsformat TGZ tar gz und seit Slackware 13 TXZ tar xz gepackt werden gern als Tarball bezeichnet Portage bei Gentoo Package pkg und Metapackage mpkg fur macOS FreeBSD und OpenBSD benutzen sowohl BSD Ports also Makefiles die den gesamten Build Prozess vom Herunterladen des Quellcodes bis zum Installieren enthalten als auch Binarpakete im tar gz Format iPKG ist ein Format fur Computer mit wenigen Ressourcen z B WLAN Router u a von OpenWrt verwendet NuSpec nuspec ist ein Format fur NuGet Pakete 1 Flatpak eine distbutionsubergeifende Paketverwaltung mit eigenem Framework fur ein Sandboxing der Anwendungen Snappy eine Paketverwaltung in der Pakete keine Abhangigkeiten von anderen Paketen haben Oneget eine Paketverwaltung die in Windows 10 integriert ist und mit der PowerShell bedient werden kann Pakete dafur gibt es aber bisher kaum Paketerstellung Bearbeiten Pakete zu erstellen ist nicht trivial Auch in kleinen Projekten gibt es meistens einen Packager der dafur verantwortlich ist dass Pakete funktionieren Der Packager nimmt die Programmquellen und tragt in einer Datei ein welche Programme zur Kompilierung benotigt werden Dann erstellt er Regeln wie sich das Programm automatisiert kompilieren lasst Ausserdem sammelt und schreibt er Patches welche automatisch eingespielt werden und schreibt eine kurze Beschreibung des Pakets Das fertige Quellpaket kann nun automatisch fur die gewunschte Plattform vorkompiliert werden Besondere Pakete Bearbeiten Zu beachten ist dass bei einigen Linux Distributionen viele Pakete zweimal vorkommen Dabei handelt es sich beim zweiten Eintrag um das eigentliche Paket mit einem nachgestellten dev oder devel Diese Abkurzung steht dabei fur Development englisch fur Entwicklung was darauf hinweist dass dort Dateien enthalten sind die fur das Funktionieren des Programms nicht wichtig sind aber gebraucht werden wenn man darauf aufbauend weitere Software entwickeln will Vor und Nachteile BearbeitenPaketverwaltungen werden als einer der grossen Vorteile und Erfolge der unixoiden Betriebssysteme beschrieben z B von Ian Murdock als the single biggest advancement Linux has brought to the industry 2 Eine weitere typische Eigenschaft dieser ist jedoch auch die Verwischung der Grenzen zwischen Anwendungen und Betriebssystem durch die integrierte Verwaltung durch die Distributionen d h das Betriebssystem agiert nicht als Plattform fur Anwendungen sondern beinhaltet diese 3 4 Einerseits ist mit einem systemweiten Paketmanagement ein konfliktfreier Betrieb ohne Bibliotheks Konflikte des Betriebssystems mit den Applikationen sichergestellt andererseits wird eine direkte Verteilung von Anwendungssoftware durch den Entwickler an die Kunden schwieriger 5 6 sowie auch die Erstellung von Portable Software 7 Durch inkompatible Pakete zwischen den Distributionen ist die Verbreitung von Software ebenfalls erschwert 8 hiergegen versucht die LSB Standards zu definieren und zu verbreiten bis jetzt jedoch nur mit begrenztem Erfolg 9 Auch kann es bei der Softwareverwaltung zu Konflikten kommen die aber erkannt werden Sind in den Paketen A und B teilweise gleiche Dateien enthalten konnen nicht beide Pakete gleichzeitig installiert werden Auf einem System ohne eine Paketverwaltung wurden die Dateien uberschrieben was zu Problemen bei der Ausfuhrung der betroffenen Software fuhren kann Ebenso kann es passieren dass bei einer Aktualisierung des Pakets X auch die Aktualisierung des Pakets Y gefordert wird Paket Z aber fordert dass Y die Version beibehalt eine Aktualisierung ist dann nicht moglich Es zeichnet eine gute Paketverwaltung aus Konflikte und Abhangigkeiten richtig zu berechnen und zur bestmoglichen Losung zu kommen also die richtigen Pakete zu aktualisieren wenn notig veraltete Pakete zu loschen und den Konflikt so bestmoglich zu losen Quellenbasierte Distributionen wie etwa Gentoo Linux begegnen diesen Problemen so Hier werden die Software Pakete erst auf dem Zielrechner kompiliert Dabei ist es auch moglich die Komponenten und damit die Abhangigkeiten eines Paketes anzupassen Sollte ein bereits installiertes Paket nicht die benotigten Bibliotheken fur ein neues Paket installiert haben wird es kurzerhand neu ubersetzt und erneut installiert Alternativen und verwandte Konzepte BearbeitenNix ist ein alternatives funktionales Paketmanager System welches einige der Nachteile traditioneller Paketmanager uberwinden soll 10 11 beispielsweise die distributionsubergreifende Dependency Hell 12 Applikationsverbreitung uber Containerisation oder App Verzeichnisse ist ein alternativer Ansatz der seit Mitte der 2000er fur unixode Systeme ausprobiert wird und der auf eine konsequente Isolation vom Grundsystem anstelle einer wohldefinierten Integration in das Grundsystem setzt Eines der ersten Beispiele hierfur war Autopackage 2005 weitere sind Zero Install PortableLinuxApps oder Docker Ein der Paketverwaltung nahestehendes Konzept haben aktuelle App Stores die vor allem fur Smartphones zum Einsatz kommen beispielsweise der Google Play Store Mac App Store Samsung Galaxy Store oder der Microsoft Store Obwohl sie technisch teilweise auf den gleichen Grundlagen aufbauen wie klassische Paketverwaltungen gibt es auch signifikante konzeptuelle Unterschiede beispielsweise bilden App Stores eher eine dezentrale Binarplattformanbieter zu ISV Architektur anstelle einer zentralisierten Distrostruktur ab 13 14 Beispiele fur Paketverwaltungen BearbeitenDebian Package Manager Advanced Packaging Tool APT fur deb oder RPM basierte Linux Distributionen autopackage ein distributionsunabhangiges Softwareinstallationssystem 15 Click n Run CnR fur Linspire basierend auf Debians APT NuGet fur Visual Studio gem fur Ruby Pakete via RubyGems iPKG opkg eine Paketverwaltung speziell fur Computer mit wenig Ressourcen wird z B von OpenWrt verwendet Pacman von Arch Linux Perl Package Manager fur Active Perl Module Paketverwaltung PiSi der Linux Distributionen Pardus und Solus pkgsrc fur NetBSD DragonFly BSD und viele weitere Unix artige Betriebssysteme emerge und Portage fur Gentoo Ports System unter BSD Distributionen z B FreeBSD OpenBSD Smart Package Manager dieses Werkzeug greift auf bestehende Werkzeuge rpm deb zuruck und kann so auf vielen Distributionen eine einheitliche Oberflache bieten Up2date RPM basiert User Red Hat Package Manager von Mandriva Linux RPM basiert rpm und YUM fur die Linux Distributionen Fedora und Yellow Dog Linux xbps fur Void Linux Zypper YaST unter OpenSUSE npm fur Webentwicklung yarn Alternativer Client zur Nutzung der npm Registry Chocolatey ist ein freier Paketmanager fur Windows Betriebssysteme Package Launcher Ein Paketmanager und Automatisierungstool fur Softwarepakete in Windows Betriebssystemen 16 Windows Package Manager oder kurz winget ein Paketmanager von Microsoft fur Windows ab Version 10 1709Einzelnachweise Bearbeiten Nuspec Reference Abgerufen am 7 August 2013 englisch NuGet Dokumentation fur NuSpec Pakete Ian Murdock How package management changed everything ianmurdock com 21 Juli 2007 archiviert vom Original am 23 Februar 2009 abgerufen am 1 Marz 2008 englisch nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot ianmurdock com Tony Mobily 2009 software installation in GNU Linux still broken and a path to fixing it www freesoftwaremagazine com 23 Juni 2009 archiviert vom Original am 26 Juni 2009 abgerufen am 23 Marz 2010 englisch Every GNU Linux distribution at the moment including Ubuntu confuses system software with end user software whereas they are two very different beasts which should be treated very very differently nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www freesoftwaremagazine com Benjamin Smedberg Is Ubuntu an Operating System 4 Oktober 2006 abgerufen am 20 Januar 2012 englisch Ubuntu isn t trying to be a platform for mass market application software it is trying to be the primary provider of both the operating system and all the application software that a typical user would want to run on his machine Most Linux distributions are like this and I think it is a dangerous trend that will stifle innovation and usability or even worse make the desktop irrelevant Joe Brockmeier Autopackage 1 0 lwn net 30 Marz 2005 abgerufen am 24 Januar 2012 englisch Overall Autopackage is a very promising project It makes it possible for third parties to distribute software for Linux users It s too bad that such a system is still necessary at this time but it fills a necessary gap until the day that Linux distributions can settle on a standard base system and packaging format Nicholas Vining Dear Linux Community We Need To Talk gaslamp Games 13 Oktober 2010 abgerufen am 30 Januar 2011 englisch Simon Peter AppImageKit Documentation 1 0 PDF 38 kB PortableLinuxApps org 2010 S 2 3 archiviert vom Original am 29 November 2010 abgerufen am 29 Juli 2011 englisch Not easy to move an app from one machine to another If you ve used an app on one machine and decide that you would like to use the same app either under a different base operating system say you want to use OpenOffice on Fedora after having used it on Ubuntu or if you would simply take the app from one machine to another say from the desktop computer to the netbook you have to download and install the app again if you did not keep around the installation files and if the two operating systems don t share the exact same package format both of which is rather unlikely nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot portablelinuxapps org Eskild Hustvedt Playing well with distros Linux Game Publishing 24 November 2009 archiviert vom Original am 21 September 2011 abgerufen am 15 Januar 2012 englisch Eric Brown LSB 4 0 certifications aim to heal Linux fragmentation linuxfordevices com 8 Dezember 2010 archiviert vom Original am 24 Dezember 2013 abgerufen am 16 November 2011 englisch The LSB spec outlines interoperability between applications and the Linux operating system allowing application developers to target multiple versions of Linux with just one software package says the LF Launched in the late 90s the LSB working group released its first major LSB 1 1 specification in 2001 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot archive linuxgizmos com Dolstra E de Jonge M and Visser E Nix A Safe and Policy Free System for Software Deployment Memento des Originals vom 5 Marz 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www st ewi tudelft nl In Damon L Ed 18th Large Installation System Administration Conference LISA 04 pages 79 92 Atlanta Georgia USA USENIX November 2004 Dolstra E The Purely Functional Software Deployment Model Memento des Originals vom 5 Marz 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www st ewi tudelft nl PhD thesis Faculty of Science Utrecht The Netherlands January 2006 ISBN 90 393 4130 3 Pjotr Prins Jeeva Suresh and Eelco Dolstra Nix fixes dependency hell on all Linux distributions linux com 22 Dezember 2008 archiviert vom Original am 8 Juli 2015 abgerufen am 2 Mai 2015 englisch The problems destructive upgrades software versioning heterogenous environments All popular package managers including APT RPM and the FreeBSD Ports Collection suffer from the problem of destructive upgrades When you perform an upgrade whether for a single application or your entire operating system the package manager will overwrite the files that are currently on your system with newer versions As long as packages are always perfectly backward compatible this is not a problem but in the real world packages are anything but perfectly backward compatible nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot archive09 linux com Ingo Molnar Technology What ails the Linux desktop Part I plus google com 17 Marz 2012 abgerufen am 16 Juni 2012 Desktop Linux distributions are trying to own 20 thousand application packages consisting of over a billion lines of code and have created parallel mostly closed ecosystems around them The typical update latency for an app is weeks for security fixes sometimes months and months sometimes years for major features They are centrally planned hierarchical organizations instead of distributed democratic free societies the exact opposite direction Apple iOS and Google Android consist of around a hundred tightly integrated core packages only managed as a single well focused project Those are developed and QA ed with 10 times the intensity of the 10 000 packages that Linux distributions control It is a lot easier to QA 10 million lines of code than to QA 1000 million lines of code Ian Murdock Software installation on Linux Today it sucks part 1 ianmurdock com 21 Juli 2007 archiviert vom Original am 3 April 2015 abgerufen am 1 Mai 2015 englisch If it s in your distro of choice you re only an apt get or a yum install away from running it But if not you d better know what you re doing have a lot of patience and understand how to construct effective Google search terms And no moving everything into the distribution is not a very good option Remember that one of the key tenets of open source is decentralization so if the only solution is to centralize everything there s something fundamentally wrong with this picture nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot ianmurdock com Bruce Byfield Autopackage Toward a universal package manager for the desktop linux com 1 Dezember 2005 archiviert vom Original am 13 Januar 2008 abgerufen am 12 Februar 2012 englisch Package Launcher Abgerufen von https de wikipedia org w index php title Paketverwaltung amp oldid 230923469