Als Teil seiner Arbeit benutzt APT eine Datei, die die 'Quellen', von denen man Pakete beziehen kann, auflistet. Diese Datei heißt /etc/apt/sources.list.
Die Einträge in dieser Datei sind von folgendem Format:
deb http://site.http.org/debian distribution sektion1 sektion2 sektion3 deb-src http://site.http.org/debian distribution sektion1 sektion2 sektion3
Natürlich sind obige Einträge erfunden und sollten nicht benutzt werden. Das erste Wort jeder Zeile, deb oder deb-src zeigt den Typ des Archivs: entweder es enthält Binär-Pakete (deb), das sind die vorkompilierten Pakete, die wir normalerweise benutzen, oder Quellpakete (deb-src), welche die originalen Programmquellen und die Debian-Kontrolldatei (.dsc) und das diff.gz, welches die Änderungen enthält, die für das 'Debianisieren' des Programms von Nöten sind.
Normalerweise finden wir folgendes in der Standard-Debian-sources.list:
# See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://http.us.debian.org/debian stable main contrib non-free deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free deb http://security.debian.org stable/updates main contrib non-free # Uncomment if you want the apt-get source function to work #deb-src http://http.us.debian.org/debian stable main contrib non-free #deb-src http://non-us.debian.org/debian-non-US stable non-US
Dieses sind die Zeilen, die eine Debian-Basis-Installation benötigt. Die erste deb Zeile zeigt auf das offizielle Archiv, die zweite auf das Archiv non-US und die dritte auf das Archiv der Debian Sicherheits-Updates.
Die letzten beiden Zeilen sind auskommentiert (mit einem `#' am Anfang). Deshalb wird apt-get sie ignorieren. Sie sind deb-src-Zeilen, das bedeutet, sie führen uns zu Debian-Quellpaketen. Wenn Sie öfters Programm-Quellen herunterladen, um sie zu testen oder neu zu kompilieren, sollten Sie die Kommentarzeichen entfernen.
Die /etc/apt/sources.list Datei kann verschiedene Typen von Zeilen enthalten. APT kann mit Archiven der Typen http, ftp, file (lokale Dateien, z.B. ein Verzeichnis, mit einem gemounteten ISO9660-Dateisystem) und ssh, soweit ich weiß.
Vergessen Sie nicht, apt-get update auszuführen, nachdem die /etc/apt-/sources.list editiert wurde. Dies ist notwendig, damit APT die Paketlisten der spezifizierten Quellen bezieht.
Manchmal haben Sie vielleicht einige .deb, bei denen Sie APT für die Installation benutzen wollen, so daß Abhängigkeiten automatisch aufgelöst werden.
Um das zu tun, erstellen Sie ein Verzeichnis und legen die .debs, die Sie sie indizieren wollen, dort hinein. Zum Beispiel:
# mkdir /root/debs/
Es ist möglich, die Definitionen der paketeigenen Kontrolldatei (debian/control) für das Repository mit Hilfe einer override-Datei zu übergehen. In dieser Datei können Sie einige Optionen definieren, die die paketeigenen Optionen überschreiben. Das Format sieht folgendermaßen aus:
Paket Priorität Sektion
Paket ist der Name des Pakets, die Priorität ist "low" (niedrig),
"medium" (mittel) oder "high" (hoch) und die Sektion ist
die Sektion, zu der das Paket gehört. Der Dateiname spielt keine Rolle, er muß
als Argument an dpkg-scanpackages
übergeben werden. Wenn keine
override-Datei gebraucht wird, kann man
dpkg-scanpackages
auch /dev/null
übergeben.
Immer noch im Verzeichnis /root führen Sie folgendes aus:
# dpkg-scanpackages debs Datei | gzip > debs/Packages.gz
In der obenstehenden Zeile ist Datei
die
override-Datei, das Kommando generiert eine Datei
Packages.gz
, welche verschiedene Informationen über die Pakete
enthält, die APT benötigt. Um die Pakete benutzen zu können, fügen Sie
folgendes der /etc/sources.list hinzu:
deb file:/root debs/
Nachdem Sie das getan haben, können sie einfach die gewöhnlichen APT-Kommandos
benutzen. Sie können ebenfalls ein Quellarchiv erstellen. Die Prozedur ist
dieselbe, aber die Dateien .orig.tar.gz, .dsc und
.diff.gz müssen sich in dem Verzeichnis befinden und statt
Packages.gz heißt es hier Sources.gz. Außerdem
müssen Sie ein anderes Programm benutzen. Es heißt
dpkg-scansources
. Das Kommando sieht folgendermaßen aus:
# dpkg-scansources debs | gzip > debs/Sources.gz
dpkg-scansources
braucht keine override-Datei. Die
Zeile in der sources.list lautet:
deb-src file:/root debs/
Eine häufige Frage, der meist neuen Benutzer ist: "Welchen Debian-Mirror soll ich in die sources.list eintragen?". Es gibt viele Wege, sich für einen Mirror zu entscheiden. Die fortgeschritteneren Benutzer haben möglicherweise ein Skript, welches den Ping mehrerer Mirrors vergleicht. Aber es gibt so ein Programm inzwischen auch für weniger erfahrene Benutzer: netselect.
Installieren tut man netselect wie üblich:
# apt-get install netselect
Wenn man es ohne Parameter ausführt, zeigt es seinen Hilfetext an. Führt man es mit einer durch Leerzeichen separierten Liste von Hostnamen (Mirrors) aus, gibt es uns einen Hostnamen zusammen mit der einer Punktzahl zurück. Diese Punktzahl berücksichtigt die erwarteten Pingzeit und die Zahl der Hops (Rechner, die eine Netzwerkanfrage passiert, um ihren Zielort zu erreichen) und ist antiproportional zur erwarteten Downloadgeschwindigkeit (also je niedriger, desto besser). Angezeigt wird nur der Host mit der niedrigsten Punktzahl (Die ganze Liste der Mirrors kann mit der Option -vv angesehen werden). Zum Beispiel:
# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br 365 ftp.debian.org.br #
Das bedeutet, daß von den Mirrors die als Parameter an netselect übergeben wurden, ftp.debian.org.br der beste war mit einer Punktzahl von 365. (Achtung! Weil es auf meinem Computer ausgeführt wurde und die Netzwerktopographie extrem unterschiedlich und abhängig vom Standort des Computers ist, ist dieser Wert nicht notwendigerweise die richtige Geschwindigkeit für andere Computer.
Jetzt tragen Sie einfach den schnellsten Mirror in die /etc/apt/sources.list ein (sehen Sie Die Datei /etc/apt/sources.list, Abschnitt 3.1) und befolgen Sie die Tips in Paketverwaltung, Kapitel 4.
Hinweis: Die Liste der Mirrors ist immer auf http://www.debian.org/mirror/mirrors_full
zu finden.
Ab Version 0.3 enthält das netselect-Paket das netselect-apt-Script, das obigen Prozeß automatisiert. Übergeben Sie einfach die Distribution als Parameter (Der Defaultwert ist stable) und die sources.list wird mit den besten "main"- und "non-US"-Mirrors generiert und im aktuellen Verzeichnis gespeichert. Das folgende Beispiel generiert eine sources.list für die stabile Distribution:
# ls sources.list ls: sources.list: File or directory not found # netselect-apt stable (...) # ls -l sources.list sources.list #
Hinweis: Die sources.list wird im aktuellen Verzeichnis erzeugt und muß nach /etc/apt verschoben werden.
Danach befolgen Sie die Tips in Paketverwaltung, Kapitel 4.
Wenn Sie lieber eine CD-ROM zum Installieren von Paketen oder Updaten Ihres
Systems durch APT verwenden möchten, können Sie sie in Ihre
sources.list eintragen. Um dieses zu tun, können Sie das Programm
apt-cdrom
, wie im folgenden beschrieben, benutzen:
# apt-cdrom add
Hierfür muß die Debian CD-ROM im Laufwerk liegen. Die CD-ROM wird gemountet, und wenn sie eine gültige Debian-CD ist, wird nach Paketinformationen gesucht. Wenn Ihre CD-ROM-Konfiguration ein wenig ungewöhnlich ist, können Sie die folgenden Optionen benutzen:
-h - program help -d directory - CD-ROM mount point -r - Rename a recognized CD-ROM -m - No mounting -f - Fast mode, don't check package files -a - Thorough scan mode
Zum Beispiel:
# apt-cdrom -d /home/kov/mycdrom add
Eine CD kann auch identifiziert werden ohne sie zur sources.list hinzuzufügen:
# apt-cdrom ident
Obiges funktioniert nur, wenn das CD-ROM Laufwerk in der /etc/fstab korrekt konfiguriert ist.
APT HOWTO
1.8.4 - April 2003kov@debian.org
netzwurm@debian.org