Programme werden bei Ubuntu in Form sogenannter Pakete installiert. Diese Pakete werden in Paketquellen (Repositories) im Internet zur Verfügung gestellt. Natürlich können auch Datenträger wie CDs in eine Paketquelle verwandelt werden[[Anmerkung([:Lokale Paketquellen: Anleitung] zum Erstellen von Paket-CDs oder -DVDs)]]. {{{#!Hinweis Die [:Paketquellen freischalten: Einbindung von Paketquellen] wird in einer eigenen Anleitung beschrieben. }}} [[TableOfContents(2)]] = Unterscheidung der Begriffe = Die eigentliche '''Paketquelle''' (auch Paketdepot genannt) ist eine Internet-Adresse oder ein Medium (CD, DVD), wo die Pakete gespeichert sind, etwa ''archive.ubuntu.com/ubuntu''. Zudem wird nach '''Archiv''' unterschieden, etwa ''dapper'' oder ''dapper-security''. Diese Archive sind jeweils nochmal unterteilt in einzelne '''Komponenten'''. Komponenten werden manchmal auch Sektionen genannt, was eigentlich falsch ist. Im Zusammenhang mit der Paketverwaltung versteht man unter ''Sektionen'' Kategorien, in denen Programme nach ihrer Art einsortiert werden, etwa ''Netzwerk'', ''GNOME'', ''Mathematik''. Eine [http://packages.ubuntu.com/dapper Übersicht der Sektionen in Dapper] macht das deutlich. == Die unterschiedlichen Archive == Die Archive sind eigentlich bei allen Versionen gleich gestrickt. Aus Gründen der Leserlichkeit werden hier die einzelnen Archive anhand der Dapper-Version beschrieben. Das Wort ''dapper'' ist aber in den meisten Fällen durch eine beliebige andere Version änderbar. === dapper === Das ist das eigentliche ''Haupt-Archiv'' der jeweiligen Ubuntu-Version. Sobald das jeweilige Ubuntu fertig ist, z.B. ''dapper'', 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. === dapper-security === Da aber Aktualisierungen unvermeidlich oder gar zwingend notwendig sind, gibt es dieses '''Archiv mit Sicherheitsaktualisierungen'''. Neben dem Hauptarchiv sollte dieses Archiv definitv verwendet werden, damit Sicherheitslücken und gravierende Fehler durch neue Pakete behoben werden können. In dieses Archiv werden aber keine neuen Versionen mit neuen Funktionen hochgeladen, sondern lediglich die Versionen aus dem Hauptarchiv - um die Fehler korrigiert - aktualisiert. Diese Pakete nennt man deshalb im Englischen auch 'patched', also geflickt. === dapper-updates === In diesem '''Archiv für aktualisierte Pakete''' befinden sich ebenfalls lediglich geflickte Pakete. Hier sind aber die behobenen Fehler nicht gravierend oder keine Sicherheitsprobleme und daher ist die Installation nicht zwingend erforderlich, sollte aber auch nicht schaden. === dapper-proposed === Dieses '''Archiv für vorgeschlagene Pakete''' ist neu und gibt es erst seit Dapper. Dabei werden hier Kandidaten für dapper-updates vorgeschlagen. Ambitionierte und interessierte BenutzerInnen 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 einigermaßen mit Ubuntu auskennt und Lust hat, Fehler an das Ubuntu-Team zu melden. == Die Komponenten bei Ubuntu == Die vier Komponenten gelten für alle bisherigen Ubuntu-Versionen einheitlich. Die Pakete sind in den Komponenten eingeteilt aufgeteilt zum einen nach ihrer Unterstützung durch das Ubuntu Team (main, restricted vs. universe, multiverse) und ihrem Status als freie Software (main, universe vs. restricted, multiverse). === Main === Die main-Komponente umfasst nur die Pakete, die den Ubuntu-Lizenzanforderungen entsprechen und die das Ubuntu-Team 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 implementieren. 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 keinen Zugriff auf den Quellcode haben. Da diese Sektion aber ebenfalls vom Ubuntu-Team gepflegt wird, sind auch diese Pakete mit {*} gekennzeichnet. === Universe === Die universe-Komponente umfasst ein breites Spektrum an freier Software, die unabhängig von ihrer Lizenz nicht vom Ubuntu-Team unterstützt wird. Damit hat der Benutzer die Möglichkeit, auch solche Programme innerhalb des Ubuntu-Paketverwaltungssystems zu installieren. === Multiverse === Zur multiverse-Komponente gehört Software, die das Ubuntu-Team nicht unterstützt, und die lizenzrechtlichen Einschränkungen unterliegt. Dazu gehören z.B. Multimediacodecs wie für MP3. (Quelle: [http://de.wikipedia.org/wiki/Ubuntu#Komponenten Wikipedia] {de} ) {{{#!Hinweis Die CD-Version von Ubuntu enthält dabei die Quellen ''main'' und ''restricted'', die DVD-Version zusätzlich noch ''universe''. }}} = Aufstellung wichtiger Paketquellen = == Die offiziellen Quellen: Stabil und zuverlässig == Es wird empfohlen Ubuntu direkt von den offiziellen Quellen zu verwenden. Bei einer Installation sind diese auch voreingestellt. In manchen Betrieben oder Netzen gibt es lokale Spiegel (komplette Kopien der Paketquellen). Solange diese immer auf dem aktuellen Stand sind, ist die Verwendung solcher Spiegel unproblematisch und sogar vorteilhaft, da sie schneller sind und Kosten und Bandbreite sparen können. Die offiziellen Quellen befinden sich auf '''de.archive.ubuntu.com/ubuntu/''', es gibt aber auch lokale Spiegel (engl. Mirrors) wie etwa '''de.archive.ubuntu.com/ubuntu/'''. Eine beispielhafte sources.list für ''Ubuntu 6.06 LTS (Dapper Drake)'': {{{#!Text # Dapper Haupt-Quellen deb http://archive.ubuntu.com/ubuntu dapper main restricted deb http://archive.ubuntu.com/ubuntu dapper universe multiverse # Dapper Sicherheits-Aktualisierungen deb http://archive.ubuntu.com/ubuntu dapper-security main restricted deb http://archive.ubuntu.com/ubuntu dapper-security universe multiverse # Dapper Aktualisierungen deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted deb http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse }}} Dapper Proposed fehlt hier absichtlich, aber lässt sich nach gleichem Schema eintrag. Die unterschiedlichen Komponenten können auch alle in einer Zeile stehen. Das macht keinen Unterschied. == 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 sogenannten Backports ausweichen. Auch zusätzliche, nicht in Ubuntu vorhandene Programme können dort zu finden sein. Backportquellen sind ebenfalls in die Sektionen Main, Restricted, Universe und Multiverse gegliedert, die auch einzeln aktiviert werden können. {{{#!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 etwa auch bei Universe ist die Qualitätsicherung und Abstimmung auf Ubuntu meist entscheidend besser. Spart Euch viel Ärger und wartet lieber ein paar Monate auf das nächste Ubuntu oder den offiziellen Backport, bevor ihr Euch wichtige Sachen, wie etwa Euer Firefox Profil (Lesezeichen, Einstellungen, ...) beschädigt. Verwendet Backports nur, wenn ihr wisst was ihr macht. }}} === Offizielle Backports === In den offiziellen Backports finden sich zahlreiche neuere Programmversionen, die recht gut getestet und funktionsfähig sein sollten. Quellen sind: {{{#!Text deb http://de.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu/ breezy-backports main restricted universe multiverse deb http://de.archive.ubuntu.com/ubuntu/ hoary-backports main restricted universe multiverse }}} == Binärdateien und Quellcode == Neben den Binärpaketen, gibt es auch noch den Quellcode jedes einzelnen Ubuntu-Paketes zum Download. 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. {{{#!Text deb-src http://de.archive.ubuntu.com/ubuntu/ dapper universe }}} den Quellcode für alle Pakete aus der ''universe''-Sektion zur Verfügung. == Weitere Quellen == Spezielle Pakete können aus weiteren Quellen installiert werden, diese sind meist bei der entsprechenden Software angegeben. Beispiele sind: * Audiosoftware, siehe [https://wiki.ubuntu.com/MOTUAudio] {en} . {{{#!Text deb http://easynews.dl.sourceforge.net/sourceforge/linuxrpms/ ./ }}} * Pakete für die Paravirtualisierung des Systems mit Xen, siehe [http://www.ubuntuforums.org/showthread.php?t=60833] {en} und [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/] {en} {{{#!Text deb http://mirror.clarkson.edu/pub/distributions/xenophilia/xen-debs/ubuntu/ xen-stable main }}} * Zahlreiche KDE-Programme in den aktuellsten Versionen ([http://www.czessi.net/ Czessi.net Paketquellen] {de} ) * für Ubuntu 5.10 "Breezy Badger" ([http://packages.czessi.net/breezy.php Paketliste]) {{{#!Text deb http://archive.czessi.net/ubuntu breezy main restricted universe multiverse i18n-de deb-src http://archive.czessi.net/ubuntu breezy main restricted universe multiverse i18n-de }}} * für Ubuntu 6.06 "Dapper Drake" ([http://packages.czessi.net/dapper.php Paketliste]) {{{#!Text deb http://archive.czessi.net/ubuntu dapper main restricted universe multiverse i18n-de deb-src http://archive.czessi.net/ubuntu dapper main restricted universe multiverse i18n-de }}} {{{#!Warnung Es dürfen nur Quellen benutzt werden, deren Eignung für Ubuntu belegt ist. Fremdquellen oder fehlerhaft erstellte Pakete können Abhängigkeiten zerstören und beispielsweise Systemupdates unmöglich machen. 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. }}} == Für Spezialisten: Gewichtung der Quellen durch Apt-Pinning == {{{#!Wissen * [1]: [:Editor: Einen Editor öffnen] * [2]: [:Terminal: Ein Terminal öffnen] }}} ''Apt Pinning'' nennt man eine Technik, bei der in der Sourceslist verschiedene Repositories "gewichtet" werden. So kann man getrost bei ''Dapper'' bleiben, kann aber Pakete gezielt aus ''Edgy'' oder einer inoffiziellen Quelle ziehen. Es lässt sich auch ein Paket in einer bestimmten Version festhalten oder verhindert dessen installieren oder deinstallieren. Dies wird hier als Beispiel dargestellt. {{{#!Warnung Das folgende ist lediglich ein Beispiel, wie Pinning verwendet werden kann. Die konkreten Gewichtungen sind auf keinen Fall als Empfehlung zu verstehen. }}} Zuerst muss die Datei '''/etc/apt/preferences''' mit folgendem Inhalt in einem Editor mit Root-Rechten [1] angelegt werden: {{{#!Text Package: * Pin: release v=6.06, l=Ubuntu Pin-Priority: 1000 Package: * Pin: origin irgendwas.boeses.inoffizielles.de Pin-Priority: 300 Package: hello Pin: version 2.1.1* Pin-Priority: 1000 }}} Eine zu diesem Pinning passende '''/etc/apt/sources.list''': {{{#!Text deb http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse deb http://irgendwas.boeses.inoffizielles.de/ubuntu/ dapper main restricted universe multiverse }}} Von nun an haben alle Pakete aus Quellen mit der Version ''6.06'' und dem Distributionsnamen (Label) ''Ubuntu'' den Vorzug, selbst wenn es in anderen Quellen neuere Pakete gibt. Ein ''Pin: release a=dapper'' hätte nicht gereicht, da es ja auch Paketquellen von Dapper gibt die ''dapper-security'', ''dapper-updates'' etc heißen. Erst wenn es die Pakete dort nicht gibt werden diese, soweit verfügbar, aus anderen Quellen installiert. Der zweite Fall setzt die Priorität einer bestimmten Internetaddresse (origin). Für die genaue Bedeutung der Werte schaut bitte im [http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin APT HOWTO]. Soviel sei nur gesagt: Je höher das Gewicht, um so mehr wird einem Paket Vorzug gegeben, wobei ab gewissen Schwellwerten besondere Verhalten gibt. Bei einem Wert unter 1000 wird immer noch eine neuere Version mit einem niedrigen Wert (z.B. Version 2.0, Priorität 600) einem älteren Paket mit hohem Wert(Version 1.0, Priorität 800) vorgezogen. Der dritte Fall verhindert das installieren einer einer neueren Version vom Paket ''hello'' als Version 2.1.1, aber auch das unbeabsichtigte, "automatische" Deinstallieren aufgrund von Konflikten. === Gezieltes Umgehen mit apt-get === Im Terminal [2] kann man mit apt-get die Prioritäten aber auch gezielt umgehen. Folgender Aufruf z.B. zieht mplayer aus dem ''dapper''-Paketbereich. Dabei werden Abhängigkeiten nach der Priorität erfüllt. {{{ apt-get -t dapper install mplayer-custom }}} {{{#!Experten Ausführlichere Informationen hierzu findet man in der Manpage: '''man apt_preferences''' oder im [http://www.debian.org/doc/manuals/apt-howto/ APT HOWTO]. }}} = 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 "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. Warum? 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. Durch die Installation von Paketen aus einer anderen Distribution, wie Debian "testing" oder "unstable" oder einem anderen Ubuntu-Release kann es deshalb zu verschiedenen Problemen kommen: * Möglicherweise harmoniert das installierte Paket 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. Ob die mit dem Basissystem funktionieren, ist reine Glückssache. Aus diesem Grund sollte man beim Eintragen von Quellen einer anderen Distribution sehr vorsichtig sein! Wer schon etwas Erfahrung hat, sollte lieber auch die [:Programme_compilieren: Installation aus dem Quellcode] in Erwägung ziehen. [http://www.ubuntu.com/support/faq#head-fe7677923437a9f865c60ba1eff560c040a0b6f8 Offizielle Stellungnahme] {en} von Ubuntulinux.org zu diesem Thema ---- *["Kategorie/Paketverwaltung"]