14.6 Quellenstudium und -pflege
14.6.1 Manuelles Editieren der Datei sources.list
Quellen für das Paketsystem werden in der Datei
/etc/apt/sources.list definiert. Sie ist vom Administrator mit folgendem Befehl zu bearbeiten:
user$ sudo gedit /etc/apt/sources.list #Auszug aus /etc/apt/sources.list deb cdrom:[Ubuntu 6.06_Dapper Drake_ – Release i386 \ (20060531.2)]/ dapper main restricted
Hier wird zunächst die Installations-CD als Primärquelle definiert.
deb http://de.archive.ubuntu.com/ubuntu dapper \ main restricted
Dies sind die Main- und Restricted-Repositories der Ubuntu-Distribution. Aufgrund der während der Installation vorgenommenen Lokalisierung wurde eine Einschränkung auf den deutschen Teil (de) vorgenommen.
deb http://de.archive.ubuntu.com/ubuntu \ dapper-updates main restricted
In diesen Zweigen sind Bugfixes und Updates untergebracht.
deb http://de.archive.ubuntu.com/ubuntu dapper \ universe multiverse
In der obigen Zeile wurden Universe- und Multiverse-Repository freigeschaltet.
# deb http://de.archive.ubuntu.com/ubuntu dapper- \ backports main restricted
Die Ubuntu-Backports wurden noch nicht freigeschaltet, was am vorangestellten Kommentarzeichen zu erkennen ist. Das Freischalten der Backports erfolgt durch Entfernen des Kommentarzeichens. Zu den oben explizit behandelten Binärquellen kommen gegebenenfalls noch Quellpaket-Repositories hinzu, die durch den Schlüsselbegriff deb-src gekennzeichnet sind. Die Syntax für einen Eintrag in der Datei sources.list lautet
deb URL DISTRI BEREICH
für Binärpakete bzw.
deb-src URL DISTRI BEREICH
für Quellpakete.
Abbildung 14.10 Ein Beispiel für eine sources.list mit deutschem Mirror
Welche Tuningmaßnahmen gibt es? Günstigerweise verwendet man für einen Repositoryserver einen Rechner im eigenen Land, um den Netzwerkverkehr in Grenzen zu halten.
In Deutschland gibt es z. B. einen Mirror an der TU Dresden (siehe Abbildung 14.10), ein entsprechender Eintrag, der auf diesen Mirror bezogen ist, sieht dann folgendermaßen aus:
deb http://ftp.inf.tu-dresden.de/os/linux/dists/ \ ubuntu dapper main restricted universe multiverse
Es empfiehlt sich, die URL des Mirrors vorher mit einem gewöhnlichen Browser wie Firefox zu testen. Die Repository-Verzeichnisse können damit auf Vollständigkeit hin überprüft werden.
Nachdem Sie eine Änderung an der Datei sources.list vorgenommen haben, ist es unbedingt notwendig, die Paketlisten von den Servern neu einzulesen:
user$ sudo apt-get update
14.6.2 Externe Quellen
Gelegentlich steht eine Software innerhalb des benutzten Ubuntu-Releases nicht oder nur in einer älteren Version zur Verfügung. 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, da die Ubuntu-Pakete zwar auf Debian basieren, aber nicht zwangsläufig mit diesen identisch sein müssen. Wie Sie wissen, setzt sich eine Linux-Distribution 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 die jeweilige 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 diese mit dem Basissystem funktionieren, ist manchmal reine Glückssache.
Aus diesem Grund sollte man beim Eintragen von Quellen einer anderen Distribution sehr vorsichtig sein. Braucht man wirklich neuere Pakete, sollte man auf so genannte Backports zurückgreifen. Dies sind Pakete eines neueren Entwicklungsstandes, die gezielt für die ältere Distribution gebaut wurden. Sie verwenden also nur Abhängigkeiten, die entweder durch die Distribution selbst oder durch die eigenen Backports erfüllt werden können. Ein großes Backportarchiv für verschiedene Ubuntu-Versionen gibt es unter der Adresse backports.ubuntuforums.org/. Ich werde hierauf im folgenden Abschnitt noch etwas genauer eingehen.
Eine weitere weitere Möglichkeit, Ubuntu-Pakete von aktuellen KDE- Programmen zu erhalten, bieten die Paketquellen von Marcus Czeslinski unter http://www.czessi.net/.
Andere Quellen, wie z. B. http://www.os-works.com/debian/, führen oft den Namen Debian in ihrer Adresse und entwickeln ihre Pakete meist für Debian testing. Pakete für die verschiedenen Debian-Distributionen können unter Ubuntu problemlos funktionieren, jedoch sollte man sie nur dann verwenden, wenn es das Paket nicht in den Ubuntu-Quellen gibt und man dieses Programm unbedingt benötigt.
Manuelles Hinzufügen
Sowohl durch direktes Editieren der sources.list als auch mit Hilfe des Synaptic-Pakettools ist es möglich, zusätzliche Repository-Quellen, die nicht aus der Ubuntu-Hierachie stammen, zu ergänzen. Ein beliebtes Repository ist beispielsweise Nerim von Christian Marillat. Dieses Repository wird durch folgenden Eintrag ergänzt:
deb ftp://ftp.nerim.net/debian-marillat unstable main
14.6.3 Ubuntu-Backports
Nun fragen Sie sich vielleicht: Um Himmels willen, was sind denn Backports? Nun, mit diesen »Hintertüren« wird die Möglichkeit geschaffen, quasi durch die Hintertür neue Versionen von Programmen in Ubuntu zu installieren.
Es geht hier nicht um das Installieren von zusätzlichen Programmen. Das ist problemlos z. B. über Synaptic/Adept möglich. Wenn Sie aber neue Programmversionen (also z. B. Programm-Updates, die neue Funktionen beinhalten) installieren möchten, dann haben Sie direkt über die offiziellen Ubuntu-Quellen keinen Erfolg. Dies ist kein Versehen, sondern reine Absicht von Ubuntu. Ubuntu stellt für die jeweils laufende Ubuntu-Version ausschließlich Sicherheitsupdates zur Verfügung. Dies ist eigentlich auch ausreichend, da alle sechs Monate eine neue Ubuntu-Version erscheint und damit das System immer »up to date« ist.
Die Backport-Quellen sind wiederum in die von Ubuntu bekannten Bereiche (Repositories) main, universe, multiverse und restricted aufgeteilt. Sie brauchen sich nach obigem Schema bei Interesse nur den deutschen Mirror f«ur die Backports in Ihre sources.list einzutragen bzw. das Kommentarzeichen in dieser Datei vor den backports zu entfernen. Ein typischer Eintrag für die Backports sieht folgendermaßen aus:
deb http://de.archive.ubuntu.com/ubuntu \ dapper-backports main restricted universe \ multiverse deb-src http://de.archive.ubuntu.com/ubuntu \ dapper-backports main restricted universe \ multiverse
14.6.4 GPG-Schlüssel importieren
Ein wesentliches Sicherheitsmerkmal der Ubuntu-Paketverwaltung ist die Möglichkeit, die Authentizität der Softwarepakete zu prüfen. Dadurch kann verhindert werden, dass so genannte Malware (schädliche Programme wie Viren, Trojaner etc.) ins System gelangt. Mit der Installation werden die GPG-Keys der offiziellen Ubuntu-Pakete in das System integriert. Problematisch wird es dann, wenn Fremdrepositories wie das von Christian Marillat (s. o.) verwendet werden. In diesem Fall ist es erforderlich, auf der entsprechenden Internetseite nach Instruktionen zum Import des Schlüssels zu forschen. Im Falle des Nerim-Repositories importiert man den Schlüssel mit folgendem Befehl:
user$ gpg -keyserver wwwkeys.eu.pgp.net -recv-keys \ 1F41B907 user$ gpg -armor -export 1F41B907 | \ sudo apt-key add -
14.6.5 Update auf CD
Wie Sie schon bemerkt haben, besitzt Ubuntu mit dem APT-Werkzeug eine universelle Schnittstelle zum Systemupdate. Eine Frage stellt sich dennoch: Wie kann man die ganzen heruntergeladenen deb-Pakete sichern und für spätere Installationen wieder zur Verfügung stellen? Folgende Vorgehensweise ist dazu erforderlich:
- Zunächst erstellt man einen Ordner, in den die ganzen Debian-Dateien vom Originalordner /var/cache/apt/archives kopiert werden (z. B. im eigenen /home-Verzeichnis):
user$ mkdir /home/<Benutzername>/updates user$ cp /var/cache/apt/archives/* /home/ \ <Benutzername>/updates
- In diesem Ordner wird nun eine Paketliste angelegt:
user$ cd /home/<Benutzername>/updates user$ dpkg-scanpackages ./ /dev/null | gzip \ > Packages.gz
- Im Ordner ~/updates wurde dadurch eine gezippte Datei Packages.gz angelegt, die eine Liste aller deb-Dateien enthält. Man brennt sich nun einfach den Ordner /updates auf eine CD. Dabei müssen alle Dateien direkt ins Root-Verzeichnis der CD befördert werden.
-
- Wenn die CD gebrannt wurde, kann man diese mit dem Kommando
user$ sudo apt-cdrom add -d <Mountpoint der CDROM>
-
- oder im Programm Synaptic über das Menü Bearbeiten · CD hinzufügen ergänzen.
Liste aller installierten Pakete erstellen
Um eine Liste zu erstellen, die alle installierten Pakete und deren Beschreibungen enthält, tun Sie bitte Folgendes:
user$ sudo dpkg-query -l > packages.list
Die alphabetisch sortierte Paketliste befindet sich danach in der Datei packages.list in dem Verzeichnis, in dem Sie sich gerade befinden. Sie können sich diese Textdatei mit einem beliebigen Editor anzeigen lassen (siehe Abbildung 14.11), z. B. gedit oder kate:
user$ gedit packages.list
Abbildung 14.11 Eine alphabetisch sortierte Liste aller auf Ihrem System installierten Pakete/Programme
14.6.6 Das System aufräumen
Mit dem kleinen Programm deborphan kann man wunderbar sein System aufräumen und so Ubuntu in Schuss halten. Es ist ein Programm, das auf einem Debian-System nach verwaisten Paketen sucht. Wird ein Paket gefunden, von dem keine anderen Pakete abhängig sind, so wird der Name ausgegeben. Dies ist hauptsächlich sinnvoll, um installierte Bibliotheken zu finden, die nicht mehr benötigt werden. Sie installieren deborphan ganz einfach im Terminal:
user$ sudo apt-get install deborphan
Nun können Sie sich nach einem einfachen Aufruf deborphan alle »verwaisten« Pakete anzeigen lassen. Mit dem Befehl
user$ sudo dpkg -r PAKET
können Sie nun Pakete löschen, die Sie nicht mehr brauchen. Gehen Sie hierbei behutsam vor und prüfen Sie gewissenhaft, ob Sie die angezeigten Pakete wirklich nicht mehr brauchen.