[[Vorlage(Getestet, general)]] Programme werden bei Ubuntu in Paketform installiert. Diese Pakete werden in Paketquellen (Repositories) im Internet zur Verfügung gestellt. Besteht jedoch keine oder nur eine langsame Internetverbindung, sollte man sich die Einrichtung einer [:Lokale_Paketquellen: lokalen Paketquelle] überlegen. Lokale Paketquellen sind Paketquellen auf Datenträgern (CD/DVD, USB-Stick, externer Festplatte) oder im LAN. {{{#!vorlage Hinweis Die [:Paketquellen_freischalten: Einbindung von Paketquellen] wird in einer eigenen Anleitung beschrieben. Die Seite [:sources.list:] enthält einige Beispiele für offizielle Quellen. }}} [[Inhaltsverzeichnis(2)]] = Unterscheidung der Begriffe = Die eigentliche '''Paketquelle''' (auch Paketdepot genannt) ist eine Internetadresse oder ein Medium (CD, DVD) mit gespeicherten Paketen, z.B. ''archive.ubuntu.com/ubuntu''. Zudem wird nach '''Archiven''' unterschieden, etwa ''precise'' oder ''precise-security''. Diese Archive sind jeweils nochmal unterteilt in einzelne '''Komponenten'''. Komponenten werden manchmal auch fälschlicherweise Sektionen genannt. Im Zusammenhang mit der Paketverwaltung versteht man unter "Sektionen" Kategorien, in denen Programme nach ihrer Art einsortiert werden, etwa "Netzwerk", "GNOME", "Mathematik", usw. . Eine [http://packages.ubuntu.com/precise/ Übersicht der Sektionen am Beispiel von Precise Pangolin 12.04] {de} macht das deutlich. == Die unterschiedlichen Archive == Die Archive sind bei allen Versionen gleich aufgebaut. Aus Gründen der Leserlichkeit werden hier die einzelnen Archive anhand der [:Precise Pangolin:]-Version beschrieben. Das Wort "precise" ist aber in den meisten Fällen durch den Codenamen der jeweils eingesetzte Ubuntu-Version austauschbar. === precise === Das ist das '''Haupt-Archiv''' der jeweiligen Ubuntu-Version. Sobald die jeweilige Ubuntu-Version fertig ist (Final Status), wie z.B. Precise Pangolin (12.04), wird an diesem Archiv nichts mehr geändert. Es kommen weder neue Pakete hinzu, noch werden die vorhandenen Pakete in einer neuen Version zur Verfügung gestellt, geschweige denn einzelne Pakete aus dem Archiv entfernt. Selbst Sicherheits-Aktualisierungen oder Fehlerkorrekturen werden hier nach der Veröffentlichung nicht mehr eingepflegt. Dies geschieht über eigene Archive, siehe die folgenden Abschnitte. === precise-security === Da aber Aktualisierungen unvermeidlich oder gar zwingend notwendig sind, gibt es dieses '''Archiv mit Sicherheitsaktualisierungen'''. Die Pakete aus diesem Archiv enthalten keine Versionen mit neuen Funktionen. Es handelt sich lediglich um Versionen aus dem Hauptarchiv, bei denen schwerwiegende Fehler und Sicherheitslücken korrigiert wurden. Diese Pakete nennt man deshalb im Englischen auch [wikipedia:Patch_(Software):'patched'], also fehlerbereinigt. Neben dem Hauptarchiv sollte dieses Archiv definitiv verwendet werden, um den sicheren Betrieb des Systems zu gewährleisten. === precise-updates === In diesem '''Archiv für aktualisierte Pakete''' befinden sich ebenfalls lediglich fehlerbereinigte Pakete. Hier sind aber die behobenen Fehler weder gravierend noch sicherheitsrelevant, daher ist die Installation nicht zwingend erforderlich, schadet aber auch nicht. === precise-backports === Die [ubuntu_doc:community/UbuntuBackports:Backports] enthalten neuere Programmversionen, die aus der aktuellen Entwicklerversion zurückportiert werden. Sie sind weder für sich genommen, noch im Zusammenspiel mit dem Rest des Systems, so gut getestet wie die meist nur geringfügig älteren Versionen, die ohne diese Paketquelle installiert sind. Dieses Archiv ist seit [:Oneiric Ocelot:Ubuntu 11.10] standardmäßig aktiviert, jedoch nur für die manuelle Installation von Paketen konfiguriert (d.h. jedes Paket aus den Backports muss explizit ausgewählt werden, ansonsten werden die Haupt-Archive verwendet). === precise-proposed === {{{#!vorlage Warnung Pakete aus den "proposed"-Quellen haben auf Produktiv-Systemen __nichts__ zu suchen. Pakete aus ''proposed'' können fehlerhaft sein oder fehlerhafte Abhängigkeiten haben und somit das gesamte System oder die Paketverwaltung unbrauchbar machen! }}} Dieses '''Archiv für vorab veröffentlichte Pakete''' gibt es seit [:Dapper:]. Dabei werden hier Kandidaten für ''precise-updates'' vorgeschlagen. Ambitionierte und interessierte Benutzer können die Pakete dann installieren und testen und mögliche Fehler oder Probleme melden. Manchmal entsteht durch das Lösen eines Problems an einer ganz anderen Stelle wieder ein neues Problem. Somit sollen potenzielle Probleme durch breite Tests im Vorfeld gefunden und behoben werden. Dieses Archiv sollte man nur verwenden, wenn man sich mit Ubuntu und der Paketverwaltung auskennt. Es empfiehlt sich, Fehler mit Paketen aus diesem Archiv an die Entwickler zu [:Fehler melden:melden]. Eine unkorrigierte Übersetzung wies diese Paketquelle vor 12.4.02 missverständlich als "vorgeschlagene Aktualisierungen" aus. Weiterführende Informationen, insbesondere zum selektiven Einsatz dieser Paketquelle, findet man unter [ubuntu:Testing/EnableProposed:]. [[Anker(Komponenten)]] == Die Komponenten bei Ubuntu == Die vier Komponenten gelten für alle bisherigen Ubuntu-Versionen einheitlich. Die Pakete sind Komponenten zugeteilt, zum einen nach ihrer Unterstützung durch die [ubuntu:UbuntuDevelopers#CoreDev:Ubuntu-Core-Developer] ''main'' und ''restricted'', im Gegensatz zu ''universe'' und ''multiverse'', welche von den [ubuntu:MOTU:]s (also der Community) gewartet werden, und zum anderen gemäß ihrem Status als freie Software (''main'' und ''universe'' mit freien Lizenzen im Gegensatz zu ''restricted'' und ''multiverse'' mit nicht [debian:DFSGLicenses:DFSG]-kompatiblen Lizenzen). === main === Die ''main''-Komponente umfasst nur die Pakete, die den Ubuntu-[http://www.ubuntu.com/project/about-ubuntu/licensing Lizenzanforderungen] {en} entsprechen und die das [ubuntu:UbuntuDevelopers#DelegateDev:Ubuntu-Team] tätig unterstützt. Damit soll ein allgemein nutzbares Linux-System zur Verfügung gestellt werden. Für alle Pakete in dieser Sektion garantiert das Ubuntu-Team technische Unterstützung und rechtzeitige Sicherheitspatches. In der Paketverwaltung [:Synaptic:] sind diese Pakete mit einem {*} markiert. === restricted === Zur ''restricted''-Komponente gehört Software, die die Ubuntu-Entwickler wegen ihrer Wichtigkeit unterstützen, die aber nicht unter einer geeigneten freien Lizenz steht, um sie in ''main'' zu veröffentlichen. Es handelt sich beispielsweise um binäre Pakete für Grafikkarten-Treiber. Der Grad an Unterstützung ist theoretisch eingeschränkter als für ''main'', weil die Ubuntu-Entwickler meist keinen Zugriff auf den Quellcode haben. Da diese Komponente aber ebenfalls vom Ubuntu-Team gepflegt wird, sind auch diese Pakete mit {*} in Synaptic gekennzeichnet. === universe === Die ''universe''-Komponente umfasst ein breites Spektrum an freier Software, die unabhängig von ihrer Lizenz nicht offiziell von Ubuntu unterstützt wird. Diese Komponente wird von den [ubuntu:MOTU:Masters of the universe] ("Herren des Universums") gepflegt, von denen auch einige im engeren Core-Team mitarbeiten. Möchte man, dass ein Programm in den Ubuntu-Paketquellen enthalten ist, hat man die Möglichkeit, ein [:Pakete_für_Universe_vorschlagen: Paket für Universe vorzuschlagen]. === multiverse === Zur ''multiverse''-Komponente gehört Software, die ebenfalls nicht offiziell von Ubuntu unterstützt wird und die lizenzrechtlichen Einschränkungen unterliegt. Dazu gehören z.B. Multimediacodecs für das MP3-Audioformat. Die Komponente wird ebenfalls von den MOTUs verwaltet. {{{#!vorlage Tabelle <-5 rowclass="titel">Hauptkomponenten bei Ubuntu ++++ main restricted universe multiverse ++++ Von Ubuntu-Entwicklern betreut Ja Ja Nein Nein +++ Freie Lizenz ([wikipedia:Free/Libre_Open_Source_Software:FLOSS]) Ja Nein Ja Nein }}} === partner === Die Komponente ''partner'' ist erst seit [:Gutsy_Gibbon:Ubuntu 7.10] vorhanden und enthält kommerzielle Software, deren Quellcode nicht offen liegt. Damit man nicht immer die Version direkt vom Hersteller herunterzuladen braucht und um eine regelmäßige Aktualisierung zu gewährleisten, wurde dieses Archiv eingerichtet. Dieses Archiv ist nicht über ''archive.ubuntu.com'', sondern nur über ''archive.canonical.com'' erreichbar. Siehe auch [:Canonical Partner:]. {{{#!vorlage Hinweis Die CD-Version von Ubuntu enthält die Quellen ''main'' und ''restricted'', die DVD-Version enthält keine Pakete aus ''universe'', sondern nur ein paar zusätzliche Pakete aus ''restricted''. }}} = Aufstellung wichtiger Paketquellen = == Die offiziellen Quellen: stabil und zuverlässig == Es wird empfohlen, Ubuntu direkt aus den [launchpad:ubuntu/+archivemirrors: offiziellen Quellen] zu verwenden, so wie es bei einer Installation auch voreingestellt wurde. Man sollte einen Spiegelserver ("Mirrors", vollständige Kopien aller Paketquellen) in der Nähe wählen, da die Verbindung meist schneller ist und Kosten und Bandbreite für die Hauptserver gespart wird. Die Hauptserver liegen unter ''archive.ubuntu.com/ubuntu/''. [[Anker(Backports)]] == Neuere Programme: Backports und Extras == In die offiziellen Ubuntu-Quellen fließen nach Veröffentlichung einer Ubuntu-Version keine neuen Programme mehr ein, und von neueren Versionen werden nur die Teile übernommen, die eventuelle Sicherheitslücken beheben. Wer neuere Programme verwenden will, muss daher auf die [ubuntu_doc:community/UbuntuBackports:Backports] ausweichen. Auch zusätzliche, nicht in Ubuntu vorhandene Programme, können dort zu finden sein. Backport-Quellen sind ebenfalls in die Komponenten ''main'', ''restricted'', ''universe'' und ''multiverse'' gegliedert, die auch einzeln aktiviert werden können. {{{#!vorlage Warnung Bei nicht offiziellen Paketquellen kann es zu gravierenden Schwierigkeiten kommen, wenn die Pakete nicht auf Ubuntu abgestimmt oder nicht sorgfältig "gepackt" sind. Selbst bei den nicht unterstützten, aber offiziellen Backports oder bei den nicht-offiziellen Komponenten ''universe'' bzw. ''multiverse'' ist die Qualitätssicherung und Abstimmung auf Ubuntu entscheidend besser. Siehe hierzu auch den Artikel über [:Fremdquellen:Fremdquellen und Fremdpakete]. }}} == Binärdateien und Quellcode == Neben den Binärpaketen gibt es auch noch den Quellcode jedes einzelnen Ubuntu-Paketes zum Herunterladen. Die Binärpakete werden dabei in der [:sources.list:] durch ein `deb` am Anfang gekennzeichnet, die Quellcode-Quellen durch ein `deb-src`. So stellt z.B. der Quelleintrag {{{#!code sourceslist deb-src http://de.archive.ubuntu.com/ubuntu/ precise universe }}} die Indexdateien zum Beziehen des Quellcodes für alle Pakete aus der ''universe''-Komponente zur Verfügung. == Weitere Quellen == {{{#!vorlage Warnung Es sollten nur Quellen benutzt werden, deren Eignung für Ubuntu bestätigt ist. Fremdquellen oder fehlerhaft erstellte Pakete können Abhängigkeitsprobleme hervorrufen, die beispielsweise System-Aktualisierungen ("updates") unmöglich machen. Siehe hierzu auch den Artikel über [:Fremdquellen:Fremdquellen und Fremdpakete]. Nach der Installation eines Paketes aus einer solchen Quelle sollte man diese wieder deaktivieren, um ungewollte Aktualisierungen anderer Programme auf die Version aus dieser Quelle zu verhindern. }}} In einigen Wikiartikeln werden solche Fremdquellen angegeben. Die bekanntesten sind: * [:Paketquellen_freischalten/PPA:PPAs] - Die '''p'''ersönlichen '''P'''aket'''a'''rchive auf [:Launchpad:] * [:GetDeb:GetDeb/PlayDeb] - Quelle für möglichst aktuelle Anwendungen und Spiele * [:Archiv/Medibuntu:Medibuntu] - patentrechtlich in manchen Ländern problematische Multimeda-Codecs, im September 2013 eingestellt = Quellen, die nicht für Ubuntu gedacht sind = In ganz seltenen Fällen ist ein Programm in keiner Paketquelle für Ubuntu zu finden. Wenn diese Software aber in einer anderen Distribution wie [debian:Debian:] ''testing'' oder ''unstable'' oder einem neueren Ubuntu-Release enthalten ist, scheint es verlockend, sie einfach aus diesen Quellen zu installieren. Das kann aber leicht zu Problemen führen. Der folgende Abschnitt soll die Gründe darlegen: Eine Linux-Distribution setzt sich aus einer Vielzahl von Paketen zusammen, die "Hand in Hand" arbeiten und dadurch voneinander abhängig sind. Diese Abhängigkeiten können bei verschiedenen Distributionen sehr unterschiedlich sein. Im speziellen spricht man hier von Bibliotheken, welche in einer bestimmten Version bestimmte Schnittstellen zur Verfügung stellen, die wiederum von Programmen bestimmter Versionen benötigt werden. Es kann durchaus vorkommen, dass ein Programm mit einer neueren oder älteren Version einer Bibliothek nicht mehr funktioniert, bzw. bestimmte Compilerflags von Abhängigkeiten gesetzt sein müssen, damit das Programm sauber läuft. Folgende zwei Punkte sollten also bedacht werden: * Möglicherweise harmoniert das installierte Paket aus den oben genannten Gründen nicht mit einem der anderen installierten Pakete. Wenn eine selten genutzte Software betroffen ist, fällt das vielleicht erst einmal gar nicht auf. * Außerdem ist es üblich, dass ein Paket die Installation anderer Pakete voraussetzt. Wenn nun eines dieser Pakete in der "fremden" Distribution in einer neueren Version vorhanden ist, kann es sein, dass die im Basissystem bereits installierte Version ersetzt wird. Besonders heimtückisch ist das bei Paketen aus Distributionen, die sich regelmäßig ändern, wie Debian ''testing'' und ''unstable'' oder der jeweiligen Entwicklerversion von Ubuntu. Wo heute die Installation eines einzelnen Paketes noch keine Probleme bereitet, können morgen schon durch eine neue Version Dutzende weiterer Pakete benötigt werden, die evtl. nicht mehr mit dem Basissystem kompatibel sind. Deswegen sollte man beim Eintragen von Quellen einer anderen Distribution sehr vorsichtig sein! Um Problemen vorzubeugen, kann man z.B. eine [:Programme kompilieren:Installation aus dem Quellcode] nach [:opt:'''/opt'''] durchführen oder alternativ das Paket aus der Fremdquelle auf dem eigenen System rekompilieren. = Links = * [ikhaya:2011/11/23/erneute-warnung-vor-proposed-paketquellen:Erneute Warnung vor „proposed“-Paketquellen] - Ikhaya, 11/2011 * [:Paketverwaltung:] {Übersicht} Übersichtsartikel * [:Paketquellen_freischalten:] - wie man Paketquellen aktiviert # tag: Paketverwaltung