FAQ: Kapitel 8 - uptodate
Hallo,
Franziska hat mir gerade Kapitel 8 zukommen lassen. Anbei die von mir
korrekturgelesene Version (einige SGML-Tags müssen noch konvertiert
werden, ebenso einigen FIXME nachgegangen werden, ignoriert das
erstmal).
Danke Franziska!
Jens
<!-- CVS revision of original english document "1.21" -->
<chapt id="uptodate">Wie man sein Debian-System auf dem Laufenden hält
<p>Ein Ziel von Debian ist einen gleichbleibenden Upgrade-Pfad und ein sicheres
Upgrade-Verfahren anzubieten. Wir geben immer unser Bestes, damit das Aufrüsten
so leicht wie möglich abläuft. Falls noch weitere wichtige Informationen für
das Upgrade-Verfahren notwendig sind, erhält der Benutzer Warnhinweise. Oft
werden ihm gleichzeitig Lösungen für eventuell auftretende Probleme
angeboten.</p>
<p>Es ist ratsam sich die Release-Informationen durchzulesen, welche die
Einzelheiten von bestimmten Upgrades enthalten. Diese sind auf allen
Debian-CDs zu finden und auch im WWW auf
<url id="http://www.debian.org/releases/stable/releasenotes"> verfügbar.</p>
<sect id="libc5to6upgrade">Wie kann ich meine Debian-Distribution 1.3.1 (oder
älter), basierend auf libc5, auf 2.0 (oder aktueller), basierend auf
libc6, aufrüsten?
<p>Es gibt verschiedene Wege ein Upgrade durchzuführen:
<list>
<item>Mittels eines Shellskripts, welches <tt>autoup.sh</tt> genannt wird. Dieses
führt ein Upgrade auf die wichtigsten Pakete aus. Nachdem <tt>autoup.sh</tt>
seine Arbeit getan hat, kann <prgn>dselect</prgn> benutzt werden um die
übrigen Pakete <em>en masse</em> zu installieren. Dieses Verfahren wird
vermutlich meistens empfohlen, aber es ist nicht das einzige.
<p>Zurzeit kann das aktuellste Release von <tt>autoup.sh</tt> unter folgenden
Links gefunden werden:
<list>
<item><url id="http://www.debian.org/releases/2.0/autoup/">
<item><url id="http://www.taz.net.au/autoup/">
<item><url id="http://debian.vicnet.net.au/autoup/">
<!-- FIXME: Die letzten beiden Links funktionieren nicht.-->
</list>
<item>Die wichtigsten Pakete können manuell aufgerüstet werden. Als Anleitung
hierfür dient das <url name="Debian libc5 to libc6 Mini-HOWTO"
id="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html">.
<!-- Dieser Link funktioniert leider auch nicht mehr. Habe es selbst ausprobiert.
Stattdessen kann evtl. folgender Link eingefügt werden:
http://www.debian.org/releases/2.0/autoup/, denn auch hier ist das Mini-HOWTO
zu finden -->
<tt>autoup.sh</tt> basiert auf diesem Mini-Howto. Deshalb sollte dieses
Verfahren mehr oder weniger so funktionieren, als ob Sie <tt>autoup.sh</tt>
benutzen.
<item>Mittels einem libc5-basierenden <tt>APT</tt>. APT steht für Advanced
Package Tool (deutsch: fortgeschrittenes Paketverwaltungssystem) und es könnte eines Tages
<!-- FIXME: hat dselect bereits ersetzt -->
<prgn>dselect</prgn> ersetzen. Gegenwärtig arbeitet es genauso wie eine
Befehlszeilenoberfläche oder wie das Zugriffsverfahren über
<prgn>dselect</prgn>. Eine libc5-Version ist in dem Verzeichnis
<file>dists/slink/main/upgrade-older-i386</file> in den Debian-Archiven
zu finden.
<item>Indem Sie nur <prgn>dselect</prgn> benutzen, ohne zuerst irgendein Paket
manuell aufzurüsten. Es wird dringenst davon abgeraten dieses Verfahren
zu wählen, wenn es vermieden werden kann. Denn gegenwärtig installiert
<prgn>dselect</prgn> die Pakete nicht in der optimalen Reihenfolge. APT
funktioniert viel besser und es ist sicherer.
<!-- This should probably work if dpkg's max-error-before-stop internal
variable is increased. Question: Will it be increased some day? -->
</list>
<!--
This paragraph is obsolete, but I will keep it here as a reminder in
case libc6-based dpkg happen to be some better than the one in Debian
1.3.1: Note that the version of <tt>dpkg</tt> in this directory has the
a.out binary format. The versions of <tt>dpkg</tt> in the development and
stable trees have the ELF format.
-->
<sect id="howtocurrent">Wie kann ich mein Debian-System aktuell halten?
<p>Sie können einfach einen anonymen FTP-Abruf auf das Debian-Archiv starten,
dann die Verzeichnisse durchgehen, bis die gewünschte Datei gefunden wird,
diese dann abrufen, und diese schließlich mit <prgn>dpkg</prgn> installieren.
Es ist zu beachten, dass mit <prgn>dpkg</prgn> die Upgrade-Dateien sofort
installiert werden, selbst auf einem laufenden Programm. Manchmal ist es
erforderlich, dass für ein geändertes Paket eine aktuelle Version eines
anderen Paketes installiert werden muss. In diesem Falle wird die Installation
fehlschlagen, bis/außer wenn das andere Paket installiert ist.</p>
<p>Viele Leute finden diese Vorgehensweise viel zu zeitraubend, weil Debian so
schnell entwickelt – üblicherweise werden jede Woche ein Dutzend oder mehr
neue Pakete hochgeladen. Kurz vor einer neuen Hauptveröffentlichung ist diese Anzahl
noch größer. Um mit dieser Lawine umgehen zu können, bevorzugen viele Leute
eine automatisiertere Methode. Zu diesem Zweck sind mehrere verschiedene
Pakete verfügbar:</p>
<sect1 id="aptitude-upgrade">aptitude
<p>APT ist eine erweiterte Schnittstelle zum Zugriff auf Debian-Pakete. Es verfügt
über komplette Installationsanweisungen, die Fähigkeit auf mehrere Quellen
gleichzeitig zuzugreifen und verschiedene andere einzigartige Fähigkeiten,
siehe das Benutzerhandbuch in
<file>/usr/share/doc/apt-doc/guide.html/index.html</file> (dafür muss das
<package>apt-doc</package>-Paket installiert sein).
<p><prgn>aptitude</prgn> ist der empfohlene Paketmanager für &debian;-Systeme. Es
ist die textbasierte Oberfläche zu APT, welches die »curses library« benutzt,
und hilft, den Verwaltungsprozess schnell und leicht durchzuführen.</p>
<p>Bevor <prgn>aptitude</prgn> benutzt werden kann, muss die
<file>/etc/apt/sources.list</file>-Datei bearbeitet werden, um es einrichten
zu können. Wenn auf die aktuellste stabile Version von Debian aufgerüstet
werden soll, sollte wahrscheinlich eine Quelle wie folgende benutzt werden:
<example><var>http://http.de.debian.org/debian</var> stable main contrib non-free</example>
<p><var>http.de.debian.org</var> kann durch den Namen eines schnelleren
Debian-Spiegels in der Nähe ersetzt werden. Weitere Informationen sind auf
<url id="http://www.debian.org/misc/README.mirrors"> zu finden.</p>
<p>Weitere Einzelheiten hierzu können unter der Handbuchseite
<manref name="sources.list"section="8"> gefunden werden.</p>
<p>Zum Aktualisieren seines Systems ist folgender Befehl auszuführen
<example>aptitude update</example>
gefolgt von
<example>aptitude dist-upgrade</example>
Das System wird aufgerüstet, wenn jede Frage, die gestellt wird, beantwortet wird.
Siehe auch <ref id="aptitude">.
<sect1 id="apt">apt-get, dselect and apt-cdrom
<p><prgn>apt-get</prgn> ist ein APT-basiertes Befehlszeilen-Werkzeug zum Umgang
mit Paketen und das APT-dselect-Verfahren ist die Schnittstelle zu APT durch
<prgn>dselect</prgn>. Beide sorgen dafür die Pakete leicht und sicher zu
installieren und aufzurüsten.</p>
<p>Um <prgn>apt-get</prgn> benutzen zu können, muss das Paket <package>apt</package>
installiert sein und die <file>/etc/apt/sources.list</file>-Datei muss bearbeitet
werden, um es einrichten zu können, ebenso wie für <ref id="aptitude-upgrade">.</p>
<p>Dann muss
<example>apt-get update</example> ausgeführt werden, gefolgt von
<example>apt-get dist-upgrade</example>
Das System wird aufgerüstet, wenn jede Frage, die gestellt wird, beantwortet wird.
Weitere Informationen sind auch im Handbuch von
<manref name="apt-get" section="8"> sowie im Kapitel <ref id="apt-get">
zu finden.</p>
<p>Um APT mit <prgn>dselect</prgn> zu benutzen, wählen Sie das APT-Zugangsverfahren
im Auswahlverfahren-Bildschirm von <prgn>dselect</prgn> (Option 0) und legen
dann die Quellen fest, die benutzt werden sollten. Die Konfigurationsdatei lautet
<file>/etc/apt/sources.list</file>. Siehe auch <ref id="dselect">.</p>
<p>Wenn mittels CDs Pakete installiert werden sollen, kann <prgn>apt-cdrom</prgn>
benutzt werden. Weitere Einzelheiten sind in den Release Notes im Abschnitt
»Hinzufügen von CD-ROM- oder DVD-APT-Quellen« zu finden.
<!--Hier war ich mir nicht sicher, ob »Setting up for an upgrade from a local
mirror« wirklich übersetzt wird, oder stehen bleibt.-->
<p>Es ist zu beachten, dass, wenn Sie Pakete abrufen und installieren, diese
trotzdem noch in der /var-Verzeichnishierarchie bleiben müssen. Um die
Partition vor der Überfüllung zu bewahren, ist daran zu denken zusätzliche
Dateien zu löschen, indem entweder <tt>apt-get clean</tt> und
<tt>apt-get autoclean</tt> benutzt wird, oder indem man diese irgendwo anders hin
verschiebt (Tipp: Benutzen Sie <package>apt-move</package>).</p>
<sect1 id="dpkg-ftp">dpkg-ftp
<p>Dies ist ein älteres Zugangsverfahren für <prgn>dselect</prgn>. Es kann
innerhalb von <prgn>dselect</prgn> aufgerufen werden. Dies ermöglicht dem
Benutzer Dateien in einem Schritt herunterzuladen und zu installieren.
Hierfür wird das Zugangsverfahren <tt>ftp</tt> in <prgn>dselect</prgn>
(Option 0) ausgewählt und der entfernte Rechnername und das Verzeichnis festgelegt.
<prgn>dpkg-ftp</prgn> lädt dann automatisch die Dateien runter, die ausgewählt
wurden (entweder in dieser Sitzung von <prgn>dselect</prgn> oder in einer
früheren).</p>
<p>Es ist zu beachten, dass <prgn>dpkg-ftp</prgn> nicht wie das Programm
<prgn>mirror</prgn> auf alles von einer Spiegelseite zugreift. Stattdessen
lädt es nur die Dateien runter, die ausgewählt wurden (wenn zuerst
<prgn>dpkg-ftp</prgn> gestartet wird) und die aktualisiert werden müssen.</p>
<p><prgn>dpkg-ftp</prgn> ist etwas veraltet. Stattdessen sollte das
APT-Zugangsverfahren mit ftp://-URLs in <file>sources.list</file> benutzt
werden.</p>
<sect1 id="mirror">mirror
<p>Dieses Perl-Skript und das dazugehörige (optionale) Verwaltungsprogramm wird
<prgn>mirror-master</prgn> genannt. Es ist dazu geeignet, benutzerspezifische Teile
eines Verzeichnisbaums von einem vorgegebenen Rechner <em>via</em> anonymes
FTP abzurufen.</p>
<p><prgn>mirror</prgn> ist besonders dafür geeignet um große Mengen an Software
herunterzuladen. Nachdem zum ersten Mal Dateien von einer Seite heruntergeladen
wurden, wird eine Datei namens <tt>.mirrorinfo</tt> auf dem lokalen Rechner
abgelegt. Veränderungen im entfernten Dateisystem werden automatisch durch
<prgn>mirror</prgn> aufgespürt, welches die Datei mit einer ähnlichen Datei
auf dem Remotesystem vergleicht und nur veränderte Dateien herunter lädt. </p>
<p>Das Programm <prgn>mirror</prgn> ist hauptsächlich dafür geeignet, lokale
Kopien von entfernten Verzeichnisbäumen zu aktualisieren. Die abgerufenen Dateien
müssen keine Debian-Dateien sein. (Weil <prgn>mirror</prgn> ein Perl-Skript
ist, läut es auch auf anderen Systemen außer Unix.) Obwohl es mit dem Programm
<prgn>mirror</prgn> möglich ist, Dateinamen auszuschließen, die mit
benutzerspezifischen Zeichenketten übereinstimmen, ist dieses Programm am
nützlichsten, wenn lieber komplette Verzeichnisbäume als ausgewählte Pakete
heruntergeladen werden sollen.</p>
<!-- Should we recommend GNU wget here, too? -->
<sect1 id="dpkg-mountable">dpkg-mountable
<p><prgn>dpkg-mountable</prgn> fügt der Liste von <prgn>dselect</prgn> ein
Zugriffsverfahren hinzu, welches »mountable« genannt wird. Dieses ermöglicht
es, dass von jedem Dateisystem, das unter <file>/etc/fstab</file> vorgegeben
ist, installiert werden kann. Zum Beispiel könnte das Archiv eine normale
Festplattenpartition oder ein NFS-Server sein, die automatisch eingebunden
oder ausgehängt werden, falls erforderlich.</p>
<p>Es verfügt auch über einige zusätzliche Fähigkeiten, die nicht in den
Standardverfahren von <prgn>dselect</prgn> gefunden werden können, wie z.B.
die Berücksichtigung von lokalen Dateibäumen (entweder parallel zur
Hauptdistribution oder völlig getrennt) und nur das Erhalten von Paketen,
die benötigt werden, anstatt das zeitintensive Scannen von Rekursivverzeichnissen,
sowie das Protokollieren von allen dpkg-Aktivitäten in das
Installationsverfahren.</p>
<sect id="upgradesingle">Muss ich in den Einzelbenutzermodus wechseln um Pakete
aufzurüsten?
<p>Nein. Pakete können an Ort und Stelle aufgerüstet werden, sogar in laufenden
Systemen. Debian verfügt über ein <prgn>start-stop-daemon</prgn>-Programm,
das, falls es während eines Paket-Upgrades notwendig ist, aufgerufen wird um
laufende Prozesse anzuhalten und wieder zu starten.</p>
<sect id="savedebs">Muss ich all diese .deb-Archivdateien auf meinem Rechner
aufbewahren?
<p>Nein. Wenn die Dateien auf den Rechner heruntergeladen wurden (was nicht
unbedingt notwendig ist, siehe oben die Beschreibung für <prgn>dpkg-ftp</prgn>)
und nachdem die Pakete installiert sind, können diese wieder von dem Rechner
gelöscht werden.</p>
<sect id="keepingalog">Wie kann ich protokollieren, welche Pakete ich meinem
System hinzugefügt habe? Ich möchte gerne wissen, wann welche Pakete aufgerüstet
oder entfernt wurden!
<p>Mit der <prgn>dpkg</prgn>-Option <tt>--log</tt>, wodurch ein Statusprotokoll
erstellt wird, das alle Updates und Aktivitäten auflistet. Es protokolliert
sowohl den Aufruf von <prgn>dpkg</prgn> (z.B.
<example>
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
</example>
)
<p>als auch die Ergebnisse (z.B.
<example>
2005-12-30 18:10:35 status installed hello 2.1.1-4
</example>
)</p>
<p>Wenn jeder Aufruf von <prgn>dpkg</prgn> protokolliert werden soll (auch falls
dieser über Oberflächen wie <prgn>aptitude</prgn> geschehen ist), könnte
<example>
log /var/log/dpkg.log
</example></p>
<p>der <file>/etc/dpkg/dpkg.cfg</file> hinzugefügt werden. Seien Sie sicher, dass
die erstellte Protokolldatei regelmäßig rotiert wird, da die Größe der Datei
mit jedem Eintrag zunimmt. Wenn das Programm <prgn>logrotate</prgn> benutzt wird,
kann dies erreicht werden, indem eine Datei <file>/etc/logrotate.d/dpkg</file>
mit folgendem Inhalt erstellt wird
<example>
/var/log/dpkg {
missingok
notifempty
}
</example></p>
<p>Weitere Details über Protokollieren in <prgn>dpkg</prgn> können im Handbuch
von <manref name="dpkg"section="1"> gefunden werden.</p>
<p><prgn>aptitude</prgn> protokolliert die Installation, das Entfernen und das
Aufrüsten von Paketen unter <file>/var/log/aptitude</file>. Es ist zu
beachten, dass die <em>Ergebnissse</em> dieser Aktivitäten nicht in dieser
Datei erfasst werden!</p>
<p>Eine andere Möglichkeit seine Aktivitäten aufzuzeichnen besteht darin, seine
Paketverwaltungs-Session innerhalb des Programmes <manref name="script" section="1">
auszuführen.</p>
Reply to: