[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ weiter ]

Release Notes für Debian GNU/Linux 3.0 (`woody'), Alpha
Kapitel 3 - Upgrades von vorherigen Versionen


3.1 Änderungen im System


3.1.1 Wichtige Änderungen bei Programmaufrufen

Debian vermeidet nach Möglichkeit Änderungen an Upstream Paketen, daher werden solche Änderungen auch in Debian GNU/Linux erscheinen.

IM Debian GNU/Linux 2.2 'Potato' Release benutzte tar die

     -I

Option um mit bzip zu komprimieren, mittlerweile wird dafür die Option

     -j

benutzt. Sie müssen Ihre Scripte entsprechend anpassen.


3.2 Vorbereitungen für die Aktualisierung

Bevor Sie Ihr System aktualisieren, ist es empfehlenswert ein Backup Ihrer Daten oder zumindest jener Daten die nicht verlorengehen dürfen zu erstellen. Die Upgrade-Tools sind sehr verläßlich, dennoch könnte ein Hardware-Fehler während des Upgrades Ihr System beschädigen.

Die wichtigsten Sachen die Sie sichern sollten, ist der Inhalt von /etc, /var/lib/dpkg und der Output von dpkg --get-selections.

Es sollten alle Nutzer von der geplanten Aktualisierung in Kenntniss gesetzt werden, auch wenn Nutzer die Ihr System über ssh nutzen davon nicht viel mitbekommen sollten und eventuell weiterarbeiten wollen. Sollten Sie zusätzliche Sicherungsmassnahmen ergreifen wollen, sichern (oder unmounten) sie die Home-Partition (/home) vor der Aktualisierung. Ein Reboot ist normalerweise nicht notwendig.

Ein Upgrade einer Distribution sollten Sie am besten am lokalen Rechner über die Textkonsole ausführen (bzw. über ein serielles Terminal) oder remote über eine ssh Verbindung.

Wichtig: Sie sollten für die Aktualisierung nicht die Programme telnet, rlogin oder rsh benutzen. Ausserdem sollten Sie es auch aus keiner X Sitzung starten die von xdm verwaltet wird. Diese Dienste können bei einer Aktualisierung neugestartet oder gar abgeschaltet werden, was zu einem unbenutzbaren, nur halb aktualisiertem System führen kann.


3.2.1 Prüfen des Paketstatus

Unabhängig von der Methode, die Sie für Ihr Upgrade verwenden, ist es empfehlenswert, als erstes den Status der Pakete zu prüfen um sicherzugehen dass alle Pakete in einem update-fähigem Status sind. Der folgende Befehl gibt alle Pakete mit dem Status "Half-Installed", "Failed-Config" oder mit Error-Status aus.

             
                 # dpkg --audit

Sie könnten auch den Status aller Pakete auf dem System inspizieren, in dem Sie das Kommando dselect aufrufen - oder andere Kommandos wie:

              
                 # dpkg -l | pager

oder

              
                 # dpkg --get-selections > ~/curr-pkgs.txt

Es ist wünschenswert alle Holds vor der Aktualisierung zu entfernen. Sollte eines der Pakete das für das Upgrade wichtig ist auf Hold sein, würde die Aktualisierung nicht funktionieren. Auf die folgende Art und Weise können Sie herausfinden, ob Pakete auf Hold sind:

              
                 # dpkg --audit

Wenn Sie ein Paket lokal verändert und neukompiliert haben und es nicht umnannten oder die Versionsnummer drastisch erhöhten müssen Sie es auf Hold setzen um eine Aktualisierung zu verhindern. Den Status `hold' kann man im dselect Programm durch drücken der Taste H einstellen, oder durch folgende Aktionen erreichen:

             
                 dpkg --get-selections > ~/curr-sels.txt

Ändern Sie nun in dieser Datei den Status von "hold" auf "install" (oder umgekehrt) und führen Sie danach mit Root-Rechten, folgendes Kommando aus:

              
                dpkg --set-selections < ~/curr-sels.txt

3.2.2 Spezielle Bemerkungen für SSH-Anwender

Die kommerzielle SSH Version aus dem Paket ssh (vor Release 2.2) oder im Paket ssh-nonfree (Release 2.2) wurde durch die DFSG freie OpenSSH Variante im Paket ssh ersetzt. Die kommerzielle Variante ist nicht mehr verfügbar. Das Paket ssh enthält eine Debconf Frage ob Sie die SSH Konfiguration in eine OpenSSH kompatible wandeln wollen.

Bitte beachten Sie dass ssh in dieser Release root logins per default zulässt (Diese waren in 2.2 abgestellt). Wenn sie dieses Feature nicht benötigen stellen Sie sicher dass die PermitRootLogin option in /etc/ssh/sshd_config auf no gestellt ist. Um sicherzustellen dass dpkg diese Datei niemals verändert editieren Sie sie einfach. Das zufügen einer Leerzeile ist genug.


3.2.3 Beachtenswerte Verzeichnisse

Es ist wichtig, dass das /etc/rcS.d-Verzeichnis existiert. Dies ist in erster Linie für das Upgrade wichtig, da die Installation des libc6 Paketes sonst fehlschlagen würde.

Das /usr/share/doc Verzeichnis (wenn es bereits existiert) sollte kein Symlink (zB auf /usr/doc) sein, da dadurch die Installation einiger Pakete fehlschlagen könnte. Sie können /usr/doc aber auf /usr/share/doc symlinken. Bitte beachten Sie, dass Sie, wenn Sie einen solchen Symlink verwenden, eine Vielzahl von Meldungen über nicht verschiebbare Dateien in /usr/doc erhalten werden. Dies ist normal. Sie können diese Meldungen ignorieren.


3.3 Vorbereiten der Quellen für APT

Die empfohlene Methode das System zu aktualisieren ist die Nutzung von apt-get durch dselect wie es im folgenden beschrieben wird. Die eingebaute Abhängigkeitsanalyse erlaubt saubere und einfache Aktualisierungen/Installationen.

Sie sollten keine größeren Paket-Aktualisierungen mit anderen "Access"-Methoden als apt in dselect durchführen, da diese, anders als die apt Methode, keine logische Paketordnung durchführen und deswegen nicht so verläßlich bei der Aktualisierung sind. Obendrein sind solche Aktualisierungen nicht gut getestet und werden von Debian nicht unterstützt wenn Fehler auftreten.

Alle Paket-Installations-Operationen müssen mit Superuser-Rechten ausgeführt werden, entweder als root oder mit sudo um zu den notwendigen Rechten zukommen

Bevor Sie die Aktualisierung starten, müssen Sie zunächsts die apt-Konfiguration für die Paketliste anpassen. /etc/apt/sources.list.

apt verwendet alle Pakete, die über jede "deb" Zeile gefunden werden können und installiert die Pakete mit der höchsten Versionsnummer, wobei die Priorität in den ersten angeführten Zeilen liegt. So können Sie z.b. erst ihr Paketverzeichnis auf der Festplatte, dann CD-ROMs und dann HTTP/FTP Server angeben.


3.3.1 Angabe von zusätzlichen APT Internet Quellen

Die standardmäßige Konfiguration ist für die Installation von den Haupt-Debian-Internet-Servern ausgerichtet, Sie können jedoch nach Belieben in der Datei /etc/apt/sources.list andere Mirror eintragen. Am besten sind Mirror geeignet, die Ihrem Netzwerk am nächsten sind.

Die Adressen der HTTP oder FTP Mirror finden Sie unter http://www.debian.org/distrib/ftplist (Sie finden sie im Abschnitt "Full list of mirrors"). HTTP Mirror sind für gewöhnlich schneller als FTP Mirror.

Nehmen wir zum Beispiel an, Ihr nächstgelegener Debian Mirror ist http://mirrors.kernel.org/debian/. Wenn Sie sich diesen Spiegel mit einem Browser oder einem FTP-Programm genauer ansehen, werden Sie feststellen, dass die Hauptverzeichnisse auf die folgende Art und Weise angeordnet sind:

                
                  http://mirrors.kernel.org/debian/dists/woody/main/binary-alpha/...
                  http://mirrors.kernel.org/debian/dists/woody/contrib/binary-alpha/...

Um diesen Mirror mit apt zu verwenden, ergänzen Sie die Datei sources.list file mit der folgenden Zeile:

                
                  deb http://mirrors.kernel.org/debian woody main contrib

Beachten Sie, dass `dists' implizit dazugegeben wird und die Argumente die nach der Release folgen, verwendet werden um Pfade in mehrere Verzeichnisse zu erstrecken.

Wenn der Spiegel auch non-US Abschnitte unter http://mirrors.kernel.org/debian/debian-non-US enthält, so fügen Sie zusätzlich folgende Zeile hinzu:

     
                  deb http://mirrors.kernel.org/debian/debian-non-US woody/non-US main contrib

Nachdem Sie die neuen Quellen angegeben haben, deaktivieren Sie die vorherigen "deb" Zeilen in sources.list, in dem Sie eine Raute (#) am Beginn der Zeile setzen.

Jedes Paket, dass für die Installation benötigt wird und über das Netz geladen wird, wird im Unterverzeichnis /var/cache/apt/archives während des Downloads gespeichert. Vergewissern Sie sich daher vor der Aktualisierung dass Ihnen genügend Platz zur Verfügung steht. Bei einer durchschnittlichen Installation von Debian müssen Sie mit zirka 300 MB Downloadvolumen rechnen.

Beachten Sie, wenn Sie die statische Version von apt und dpkg verwenden, dass das hostname-lookup kaputt ist (dies ist ein Grund warum man auch das normale apt verwenden sollte, wenn man über das Netz aktualisiert. Die Lösung ist einfach. Schreiben Sie die IP-Adresse des Mirrors in in die "deb" Zeile. (Die IP-Adresse finden Sie mit nslookup: nslookup Servername)


3.3.2 Hinzufügen von APT Local Mirror Sources

Anstatt HTTP oder FTP Paket-Mirror, können Sie, wenn Sie möchten, auch /etc/apt/sources.list ändern um einen Spiegel auf der lokalen Festplatte (evtl. NFS-mounted) zu verwenden.

Nehmen wir an Ihr Paket-Mirror liegt auf /var/ftp/debian/, und hat viele Hauptverzeichnisse die wie folgt aussehen:

                
                  /var/ftp/debian/dists/woody/main/binary-alpha/...
                  /var/ftp/debian/dists/woody/contrib/binary-alpha/...

Um dies mit apt zu verwenden, fügen Sie folgende Zeile zu sources.list:

                  deb file:/var/ftp/debian woody main contrib

Beachten Sie dass `dists' implizit hinzugefügt wird, und dass die Argumente die nach der Release stehen dazu verwendet werden um den Pfad in mehrere Verzeichnisse zu erweitern.

Wenn Ihr lokaler Mirror non-US/*-Abschnitte unter /var/ftp/debian-non-US enthält, so fügen Sie die folgende Zeile hinzu:

                 deb file:/var/ftp/debian-non-US woody/non-US main contrib

Nachdem Sie neue Quellen hinzugefügt haben, deaktivieren Sie die vorgehenden "deb" Zeilen in dem Sie eine Raute (#) an den Beginn der Zeile setzen.


3.3.3 Hinzufügen von APT CD-ROM Quellen

Installieren Sie bitte, wie oben beschrieben, zuerst die aktuelle Version von apt und dpkg.

Wenn Sie ausschließlich CDs verwenden möchten, kommentieren Sie die bestehenden "deb" Zeilen in /etc/apt/sources.list aus, in dem Sie eine Raute (#) an den Beginn der Zeile setzen.

Vergewissern Sie sich, dass es eine Zeile in der Datei /etc/fstab gibt, die das mounten Ihres CD-ROM-Laufwerks in /cdrom ermöglicht (der exakte /cdrom-Mountpoint wird für apt-cdrom benötigt). Nehmen wir an, Ihr /dev/hdc sei das CD-ROM-Laufwerk, dann sollte /etc/fstab folgende Zeile beinhalten:

                  
                  /dev/hdc /cdrom auto defaults,noauto,ro0 0

Beachten Sie, hier darf kein Leerzeichen zwischen den Wörtern defaults,noauto,ro im vierten Feld sein.

Um sicher zu gehen, dass es funktioniert, legen Sie eine CD ein und versuchen Sie diese zu mounten.

      
                 mount /cdrom (dies mountet die CD am Mount-Point)
                 ls -alF /cdrom (dies sollte das Root-Verzeichnis der CD anzeigen)
                 umount /cdrom (unmountet die CD)

und führen Sie danach den folgenden Befehl

                 apt-cdrom add

für jede weitere binäre Debian CD-ROM aus, um die Daten über die CD in APT's Datenbank einzufügen.


3.4 Aktualisierung mit dselect

Die empfohlene Methode auf Debian GNU/Linux 3.0 zu aktualisieren ist die Benutzung von dselect. Dieses Tool trifft sicherere und bessere Entscheidungen über Pakete als apt-get.

Wenn dselect nicht installiert ist installieren Sie es bitte jetzt.

Die Methode um auf das Debian Archive zuzugreifen (unter Nutzung von APT) wurde bereits konfiguriert, aber Sie können diese im "[A]ccess" menu von dselect umstellen. Wenn Sie mit Ihren Einstellungen zufrieden sind starten Sie den nächsten Schritt mit der Auswahl von "[U]pdate". Dies wird die Paketdatenbank aktualisieren.

Wenn dabei keine Probleme auftraten wählen Sie nun "[S]elect" im Menü und dslect wird die verfügbaren Paketlisten lesen und intelligent entscheiden welche Pakete eine Aktualisierung benötigen, sowie welche Pakete neuinstalliert werden müssen um die Aktualisierung zu vervollständigen. Es wird ausserdem Pakete anbieten die gelöscht werden sollten. Durch Betätigen der Return-Taste in der Paketauswahl bekommen Sie entweder einen Bildschirm zur Lösung von Abhängigkeitsproblemen (wo Sie Änderungen vornehmen können und erneut Return drücken) oder Sie landen direkt wieder im Menu. Hilfe in der Paketauswahl bekommen Sie durch Drücken der Taste "?".

Nachdem die Paketauswahl getroffen wurde ist es notwendig die neuen Paketversionen zu installieren. Um dies zu tun wählen Sie "[I]nstall" aus dem Menu. Dies wird alle Pakete herunterladen und installieren, mit Hilfe von apt. In der Zwischenzeit ist genug Zeit für eine Tasse Tee oder Kaffee.

Die beiden letzten Schritte sind "[C]onfig" und "[R]emove" welche den Aktualisierungsprozess vervollständigen indem neue Pakete konfiguriert und redundante Pakete gelöscht werden.


3.5 Aktualisierung mit direkter Nutzung von apt-get (nicht empfohlen)

Vergessen Sie nicht alle benötigten Partitionen (zB die Root- und die /usr-Partitions) read-write zu mounten. Dies geht zum Beispiel mit folgendem Kommando:

                 mount -o remount,rw /mountpoint

Angenommen Sie haben bereits apt's sources.list wie oben beschrieben konfiguriert. Führen Sie nun folgendes aus (als root):

                 apt-get update

Dies synchronisiert die Paketlisten aus Ihren Quellen und aktualisiert die Informationen über neue und aktualisierte Pakete.

Es wird dringend empfohlen das Programm /usr/bin/script für die Aufzeichnung eines transcripts der Aktualisierung zu benutzen. Sollten irgendwelche Probleme dabei auftreten haben Sie ein Log der durchgeführten Aktionen und können, so benötigt, detaillierte Informationen in einem Bug-Report geben. Führen Sie dafür folgendes Kommando aus

                 script -a ~/upgrade-to-woody.typescript

Lassen Sie das Transcript nicht in ein temporäres Verzeichnis wie /tmp oder /var/tmp schreiben, da diese bei der Aktualisierung oder bei einem Neuboot gelöscht werden können.

Es ist wichtig die Pakete apt, dpkg und debconf zu aktualisieren bevor sie den eigentlich Aktualisierungsprozess starten. Apt wurde entscheidend weiterentwickelt seit dem letzten Release. Debconf ist ein wesentliches tool welches extensiv von den Paketen benutzt wird.

                 apt-get install dpkg apt debconf

Dies installiert die neuesten Versionen von dpkg, apt und debconf, welche für den Rest der Aktualisierung benötigt werden. Es aktualisiert ausserdem einige notwendige Systembibliotheken zu den neuesten Versionen.

Wenn debconf nachfragt welchen Typ Fragen es stellen soll, wählen Sie nicht 'critical' oder sie werden wichtige Fragen verpassen.

Einige Leute bevorzugen es zuerst auszuprobieren was bei der Aktualisierung passiert. Benutzen Sie dazu

                 apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager

Dies dauert zwar eine Weile, es kann Sie allerdings vor bösen Überraschungen bewahren. Es teilt Ihnen mit was mit Ihrem System nicht in Ordnung ist, und wie Sie dieses Problem lösen können. Es teilt Ihnen auch mit, was während des Upgrades passiert. Schenken Sie besonders den Paketen, die "REMOVED" werden grosse Aufmerksamkeit. Keine wichtigen Pakete sollten hier aufgelistet werden.

Nachdem Sie sichergestellt haben, dass apt-get gut funktioniert starten Sie

                 apt-get --fix-broken --show-upgraded dist-upgrade

Dies führt eine komplette Aktualisierung Ihres Systems durch. Es installiert zB die neueste Version aller Pakete und löst mögliche Abhängigkeitsänderungen zwischen Paketen in verschiedenen Releases. Wenn es notwendig ist, installiert es einige neue Pakete (zu meist neue Library-Versionen, oder es benennt Pakete um) und entfernt obsolete Pakete die Konflikte verursachen.

Wenn Sie von CD-ROMs aktualisieren, werden Sie an bestimmten Punkten dazu aufgefordert eine bestimmte CD einzulegen. Eventuell müssen Sie dieselbe CD mehrere Male einlegen; da die Pakete inter-related und über die gesamten CDs verstreut sind.

Neue Versionen von derzeit installierten Paketen, die nicht aktualisiert werden können ohne den Installations-Status eines anderen Pakets zu verändern, bleiben unverändert (angezeigt als "held back", also als zurückgehalten). Dadurch kann es notwendig werden mit dselect oder dpkg einige Pakete zu löschen und neuzuinstallieren um alle Abhängigkeiten aufzulösen. Alternativ kann apt-get dselect-upgrade nach einem apt-get -f dist-upgrade probiert werden. (Siehe auch apt-get(8) manpage).

Die --fix-broken (oder nur -f) Option lässt apt versuchen ein System mit kaputten Abhängigkeiten zu reparieren. apt versucht kaputte Abhängigkeiten im System zu vermeiden.


3.5.1 Mögliche Probleme während oder nach einer Aktualisierung

Manchmal ist es notwendig die APT::Force-LoopBreak-Option in APT zu aktivieren, damit man bei eventuell auftretenden Conflicts/Pre-Depends-Schleifen temporär wichtige Pakete entfernen kann. apt-get wird sie darüber informieren und die Aktualisierung abbrechen. Sie können dass umgehen indem Sie die -o APT::Force-LoopBreak=1 Option für apt-get benutzen.

Es ist auch möglich, dass die Abhängigkeitsstruktur des Systemes so kaputt ist, dass ein manueller Eingriff notwendig wird. Für gewöhnlich bedeutet dies dass dselect verwendet werden muss oder

               
                 dpkg --remove packagename

um einige der kaputten Pakete zu löschen, oder

     
                 apt-get --fix-broken --show-upgraded install
                 dpkg --configure --pending

Im Extremfall können Sie mit dem folgenden Befehl eine Re-Installation einleiten:

     
                 dpkg --install /path/to/packagename.deb

Nachdem dies geklärt ist, sollten Sie das Upgrade fertigstellen können, indem Sie das vorhin beschriebene dist-upgrade wiederholen.

Während der Aktualisierung werden Sie einige Fragen zur Konfiguration oder erneuten Konfiguration von Paketen gestellt bekommen. Wenn Sie gefragt werden ob eine Datei in den Verzeichnissen /etc/init.d oder /etc/terminfo, oder die Datei /etc/manpath.config durch die Datei des Paket-Maintainers ersetzt werden soll, so ist es normalerweise notwendig mit `yes' zu antworten um sicherzustellen dass dass System in einem konsistenten Zustand ist. Sie können die alte Version immer wiederherstellen, da sie mit der Erweiterung .dpkg-old gesichert wird.

Wenn Sie sich nicht sicher sind, was Sie tun sollen, schreiben Sie den Namen des Pakets oder der Datei auf und kümmern Sie sich später darum. Sie können immer noch in der Transcript-Datei nach der Meldung suchen, die am Bildschirm während des Upgrades ausgegeben wurde.


3.5.2 Was Sie vor dem nächsten Neustart tun sollten

Wenn apt-get dist-upgrade beendet wurde, ist das "formelle" Upgrade fertig, aber es gibt noch ein paar Kleinigkeiten die man vor dem nächstem Neustart beachten sollte.

Am wichtigsten ist, dass die Pakete locales und util-linux eventuell noch installiert werden müssen. Dies kann mit folgendem Befehl erledigt werden.

                 apt-get install locales util-linux

Wenn Sie von Debian version 2.0 oder früher kommen, entfernt dieser Schritt das getty-Paket, da sich getty nun im util-linux-Paket befindet.

Es müssen wahrscheinlich mehr Pakete installiert werden als apt-get vorschlägt, da apt-get nicht automatisch die Pakete auswählt die von anderen abhängen (z.B. alle Pakete in Recommends: and Suggests: fields). Diese sind aber sehr einfach zu finden. Verwenden Sie dafür dselect oder ein anderes graphisches Frontend. Wählen Sie unter dselect die `apt' Method mit [A]ccess (wenn Sie dies noch nicht getan haben) und erneuern Sie die Datenbank mit den Paketinformationen indem Sie [U]pdate aufrufen. Danach drücken Sie `o', `o', `v' und Shift-d in [S]elect und suchen Sie nach der

               
                 --- Obsolete and local packages present on system ---

header. In diesen Abschnitt werden alle solchen Pakete angezeigt. Zum Beispiel wurde das alte Paket gimp durch gimp1.2 ersetzt. Sie können entweder neue Pakete mit dselect installieren (welches dann in Auflösung des Konfliktes das alte Paket entfernt) oder mit folgendem Befehl

      
                 apt-get install gimp1.2

die ältere Version ersetzen (Sie müssen nur bestätigen).

Ein anderes Beispiel das oft nicht gezeigt wird - nicht einmal unter dselect, sind telnet/talk Clients und Server, sowie die NFS-Server, die von dem alten netstd-Paket getrennt wurden. Sie können diese durch den folgenden Befehl installieren:

                 apt-get install telnet telnetd talk talkd nfs-server

Das selbe gilt für manpages-dev, das von manpages getrennt wurde.

Wenn Sie mehr über die Aufsplittung in Pakete erfahren möchten, lesen Sie bitte im vorherigen Release-Notes-Dokument nach. Sie finden dort unter Umbenannte Pakete, Abschnitt 6.1 und Aufgeteilte Pakete, Abschnitt 6.2 eine Liste der geteilten Pakete.

Beachten Sie, dass der Linux-Kernel nicht durch diese Schritte aktualisiert wird, Sie können nun, wenn Sie möchten, das kernel-image-*-Paket selbst installieren oder einen benutzerdefinierten Kernel kompilieren

Genießen Sie Ihr neues Debian GNU/Linux 3.0-System! :-)


[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ weiter ]

Release Notes für Debian GNU/Linux 3.0 (`woody'), Alpha

$Id: release-notes.de.sgml,v 1.1 2003/01/04 00:37:57 joy Exp $

Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer, Rob Bradford
debian-doc@lists.debian.org