[ zurück ] [ Inhalt ]

Release Notes für Debian GNU/Linux 2.2 (`potato'), Intel x86
Kapitel 3 Upgrades von älteren Ausgaben


3.1 Informationen zum Upgrade

Das unten angegebene Verfahren sollte prinzipiell bei der direkten Aktualisierung jeder älteren Debian Ausgabe auf 2.2 funktionieren. Ein Upgrade auf jede dazwischenliegende Version sollte nicht nötig sein. Bitte beachten Sie jedoch, daß Upgrades von Version 2.0 und früheren Versionen auf 2.2 nicht ausführlich getestet wurden und somit nicht unterstützt werden.

Abwärtskompatibilität auf Quell- und Objektcode-Ebene in GNU LibC 2.1 bedeutet, daß die meisten Programme der alten Version auf der neuen Ausgabe weiter funktionieren werden (aber nicht umgekehrt). Alle Pakete in Debian GNU/Linux 2.2 wurden natürlich für diese neue Umgebung konfiguriert und die meisten Programme sollten sich weiterhin übersetzen lassen. Natürlich gibt es immer ein paar Ausnahmen zu der Regel, es könnte also sein, daß einige Ihrer hiesigen Programme geändert und/oder recompiliert werden müssen, um einwandfrei zu funktionieren.

Bei Benutzung von Kernel 2.2 und glibc 2.1 wird das System automatisch ein virtuelles Dateisystem `devpts' einbinden. Dadurch werden Unix98 PTYs unterstützt, und einige unserer Dienste werden automatisch diese virtuellen Geräte aus /dev/pts/* anstatt /dev/ttyp* benutzen.

Mit Kernel 2.2.x beginnt die Numerierung der Druckerschnittstellen nun mit lp0 anstatt lp1, wie es bei den 2.0.x-Kerneln der Fall war. Sie werden also Ihre Druckerkonfiguration (gewöhnlich in /etc/printcap) an diese neuen Gegebenheiten anpassen wollen. Aus /dev/lp1 wird /dev/lp0, aus /dev/lp2 wird /dev/lp1 usw.

Der Übergang zur neuen Kernelversion ging recht glatt, vorwiegend, weil die Version 2.1 der Distribution schon fast komplett auf den neuen Kernel vorbereitet war. Einige Probleme sind jedoch übrig geblieben, größtenteils in Verbindung mit der Netzwerkkonfiguration. Netzwerkadministratoren werden zwei Sachen bemerken:

  1. Das Programm ipfwadm zur Manipulation des Firewalls wurde durch ipchains ersetzt. Bei der Aktualisierung des netbase-Pakets werden Sie gefragt werden, ob ein Wrapper, der ipfwadm mit ipchains emuliert, installiert werden soll. Wenn Sie das bestätigen, sollte Ihr Firewall weiterhin wie gewohnt funktionieren.

    Alternativ können Sie /usr/share/doc/netbase/ipchains-HOWTO.txt.gz lesen und Ihre Firewall-Konfiguration richtig auf ipchains konvertieren.

  2. Das Skript /etc/init.d/network wird, so, wie es von der alten Installationsroutine erstellt wurde, auf einem neuen Kernel Fehlermeldungen ausgeben. Das liegt daran, daß der neue Kernel bei der Konfiguration automatisch eine entsprechende Route einträgt, was in jenem Skript nochmal von Hand gemacht wird. Da die Route schon existiert, bekommt man eine Fehlermeldung, die jedoch ignoriert werden kann.
  3. Unglücklicherweise kann das Kernelupgrade auf Maschinen mit wenig RAM zu Problemen führen. Hier hilft nur das weiterbenutzen des alten Kernels oder die Erstellung eines genau abgestimmten Kernels.

Wir haben uns bemüht, Upgrades auf PAM-konfigurierte Anwendungen zu nahtlos wie möglich zu machen. In den meisten Fällen werden die PAM-Einstellungen die alte Vor-PAM-Konfiguration nachahmen. Es kann jedoch nicht allen Möglichkeiten Rechnung getragen werden. Wenn Änderungen nötig sind, können Sie das Paket libpam-doc installieren. Es enthält Dokumentation für jeden Aspekt der PAM Bibliothek, sogar Hinweise, wie Sie existierende Anwendungen, die nicht PAM-fähig sind, um Unterstützung für PAM erweitern können.

Eine der größeren Änderungen des PAM Upgrades war die Integration des Pakets secure-su in das eigentliche login-Paket. Das gewöhnliche su, vorher Teil der shellutils, wird nun vom login-Paket bereitgestellt, da das su aus den shellutils keine PAM-Unterstützung bietet. Wenn Sie das normale su benutzt haben, sollten Sie keine Änderungen zur neuen Version bemerken. Benutzer des veralteten secure-su-Pakets müssen Ihre Konfiguration auf PAM umstellen.

Sie mögen bemerkt haben, daß dieses Release zwei verschiedene Perl-Versionen beinhaltet: 5.004 (in den perl-5.004*-Paketen) sowie 5.005 (in den perl-5.005*-Paketen). Wir empfehlen die Benutzung der letzteren, neueren Version und die Entfernung der alten Pakete, die nur noch aus Kompatibilitätszwecken und für Perl-Programmierer enthalten sind. Wenn Sie Perl Module aus den lib*-perl-Paketen in Ihren Skripten benutzen, müssen Sie den symbolischen Link /usr/bin/perl mit update-alternatives auf Perl 5.005 umsetzen, falls Sie die alten Pakete noch installiert halten. Andernfalls werden Sie Probleme bekommen.

Bitte beachten Sie, daß das Archiv `non-US', daß Software enthält, die nicht aus den USA exportiert werden darf, leicht reorganisiert wurde, um zusätzlich zwischen freier und unfreier Software zu unterscheiden. Wenn Sie schon vorher APT benutzt haben, um darauf zuzugreifen, werden Sie den non-US-Eintrag in sources.list in die folgende Form ändern müssen:

       deb http://non-US.debian.org/debian-non-US potato/non-US main contrib non-free

Alte Versionen des inetd-Daemons (enthalten im netbase-Paket) hatten einen Fehler, der dazu führte, daß eine Verbindung zu einem der eingebauten Dienste einen Neustart von inetd verhinden konnte. Dieser Fehler wurde im aktuellen netbase-Paket behoben, aber ältere Versionen enthalten ihn noch. Wenn Sie feststellen, daß inetd nicht korrekt neu gestartet wird, gucken Sie nach laufenden inetd-Prozessen, oder Prozessen unter den Namen "-discard" oder "-echo". Wenn Sie das psmisc-Paket installiert haben, können Sie den Befehl

     sed 's/[[:space:]][[:space:]]*/ /g' /etc/inetd.conf |
                 grep '^ *[^#]' | cut -d" " -f1,3 |
                 while read serv type; do
                     fuser -n $type $serv;
                 done

als root ausführen, um herauszufinden, welche Prozesse noch Ports, für die inetd zuständig ist, benutzen.

Das neue XFree86 und andere xserver-*-Pakete, die in diesem Release eingeführt werden, bieten mit hoher Wahrscheinlichkeit, insbesondere bei neueren Grafikkarten, eine bessere Unterstützung für Ihre Grafikhardware. Wenn Sie nicht genau wissen, welches X-Server-Paket sie benötigen, dann probieren Sie das xviddetect-Programm (aus dem gleichnamigen Paket). Es wird versuchen, den Namen des benötigten X-Servers basierend auf den Informationen, die von PCI- und AGP-Karten geliefert werden, zu ermitteln.

Wenn Sie das Upgrade unter X ausführen, und der verwendete X-Server seine Zeichensätze über den xfs-Dienst des aktualisierten Rechners bezieht, dann wird dieser Dienst während des Upgrades nicht mehr zur Verfügung stehen. Das ist zwar kein schwerwiegendes Problem, kann aber lästig sein. Achtung: Ähnliches kann auch mit anderen Diensten passieren, also seien Sie vorbereitet.


3.1.1 Umbenannte Pakete

Die folgenden Pakete wurden umbenannt. In den meisten, wenn nicht allen Fällen werden die Felder "Conflicts", "Replaces" und "Provides" oder sogar Platzhalterpakete verwendet, um die neuen Pakete automatisch zu installieren und/oder die alten Pakete sicher zu entfernen.

       ada-rm              ->    gnat-doc
          [1]
       alsa-modules        ->    alsa-base
       alsalib             ->    libasound0.4
       ax25-utils          ->    libax25
       blt8.0-unoff        ->    blt8.0
       c-client-dev        ->    libc-client4.7-dev
       console-tools-data  ->    console-tools
          [2]
       cti-ifhp            ->    ifhp
       cwnn                ->    freewnn-cserver
       cwnn-dev            ->    freewnn-cserver-dev
       data-dumper         ->    perl-5.005-doc
       dhcp-beta           ->    dhcp
       dhcp-client-beta    ->    dhcp-client
       dhcp-relay-beta     ->    dhcp-relay
       egcc                ->    gcc
       egcs-docs           ->    gcc-doc
       emacspeak-bs-tcl, emacspeak-dt, emacspeak-dt-tcl ->    emacspeak-ss
       eterm-backgrounds   ->    eterm
       fte-cfgdocs         ->    fte-docs
       fvwm                ->    fvwm1
       fvwm2               ->    fvwm
       gltt2               ->    libgltt2
       gltt2-dev           ->    libgltt2-dev
       gmp2                ->    libgmp2
       gmp2-dev            ->    libgmp2-dev
       gnome-gnobots       ->    gnome-gnobots2
       gnome-gnothello     ->    gnome-iagno
       gnome-gyahtzee      ->    gnome-gtali
       gsl                 ->    libgsl0
       gsl-dev             ->    libgsl0-dev
       gstep-base          ->    gstep-base0
       gstep-base-dev      ->    gstep-base0-dev
       gstep-extensions    ->    gstep-extensions0
       gstep-gui           ->    gstep-gui0
       gstep-gui-dev       ->    gstep-gui0-dev
       gstep-guile         ->    gstep-guile0
       gtkicq              ->    gnomeicu
       intlfonts-arabic    ->    xfonts-intl-arabic
       intlfonts-asian     ->    xfonts-intl-asian
       intlfonts-chinese   ->    xfonts-intl-chinese
       intlfonts-chinese-big ->    xfonts-intl-chinese-big
       intlfonts-european  ->    xfonts-intl-european
       intlfonts-japanese  ->    xfonts-intl-japanese
       intlfonts-japanese-big ->    xfonts-intl-japanese-big
       intlfonts-phonetic  ->    xfonts-intl-phonetic
       ivtools             ->    ivtools-unidraw
       kwnn                ->    freewnn-kserver
       kwnn-dev            ->    freewnn-kserver-dev
       lam                 ->    lam-runtime
       lesstifg-dbg        ->    lesstif-dbg
       lesstifg-dev        ->    lesstif-dev
       libapache-mod-auth-sys ->    apache-common
       libapache-mod-put   ->    apache-common
       libatalk1           ->    netatalk
       libatalk1-dev       ->    netatalk-dev
       libc6-doc           ->    glibc-doc
       libdatecalc-perl    ->    libdate-calc-perl
       libg++2.8.2-dev     ->    libg++2.8.1.3-dev
       libgg0              ->    libgii0
       libgg0-dev          ->    libgii0-dev
       libggi1             ->    libgii0, libggi2
       libgnome0           ->    libgnomesupport0
       libjpegg-dev        ->    libjpeg62-dev
       liblockdev0-perl    ->    liblockdev1-perl
       liblockdev0g-dbg    ->    liblockdev1-dbg
       liblockdev0g-dev    ->    liblockdev1-dev
       libmd5-perl         ->    libdigest-md5-perl
       libpam0g-util       ->    libpam-runtime
       libwcsmbs, wcsmbs-locale-ja ->    locale-ja
       libwine0.0.971116   ->    libwine
       libxml0             ->    libxml1
       maplay              ->    maplay3
       mysql-base          ->    mysql-gpl-client, mysql-client
       mysql-dev           ->    libmysqlclient6-dev
       newt0.25-dev        ->    libnewt-dev
       open                ->    console-tools
       palmpython          ->    pyrite
       perl                ->    perl5
       perl-base           ->    perl5-base
       popt                ->    libpopt0, libpopt-dev
       ppp-pam             ->    ppp
          [3]
       ptx                 ->    textutils
       python-bsddb, python-curses, python-misc, python-net ->    python-base
          [4]
       python-mysql        ->    python-mysqldb
       python-pil          ->    python-imaging
       r-pdl               ->    pdl
       sgmlspm             ->    libsgmls-perl
       smbfsx              ->    smbfs
       sorcerer            ->    pccts
       t1lib0-bin          ->    t1lib-bin
       t1lib0-dev          ->    t1lib-dev
       tcd                 ->    gnome-media
       timezones           ->    libc6
          [5]
       tm                  ->    wemi
       toshiba-fan, toshiba-hotkey ->    toshutils
       v-bin               ->    libv-bin
       v-dbg               ->    libv-dbg
       v-dev, vm-dev       ->    libv-dev
       v1g                 ->    libv1.22
       vnc-doc             ->    xvncviewer, vncserver
       wcsmbs-locale-ko    ->    locale-ko
       wnn                 ->    freewnn-jserver
       wnn-common          ->    freewnn-common
       wnn-dev             ->    freewnn-jserver-dev
       www-search          ->    libwww-search-perl
       wxxt1               ->    libwxxt1
       wxxt1-dev           ->    libwxxt-dev
       xfntbig5p-cmex24m   ->    xfonts-cmex-big5p
       xfntil2             ->    xfonts-biznet-iso-8859-2-{base,75dpi,100dpi}
       xntp3-doc           ->    ntp-doc
       xpm-bin             ->    xpm4g-dev
          [6]

Obwohl wir uns bemüht haben, hier eine komplette Liste zu liefern, kann es trotzdem sein, daß Sie nicht komplett ist.


3.1.2 Aufgeteilte Pakete

Einige Pakete aus Debian 2.1 (`slink') wurden in 2.2 (`potato') in zwei oder mehrere kleinere Pakete aufgeteilt. Der Grund für diese Aufspaltung ist im Allgemeinen, daß das Originalpaket eine breite Palette von Funktionen bereitstellte, und wenige Benutzer alle dieser Komponenten benutzen. Einige Pakete weisen bei der Installation auf diese Tatsache hin, andere erwähnen es in der Paketbeschreibung, und einige ignorieren sie ganz.

Wenn Sie feststellen, daß ein vertrautes Paket vorher vorhandene Funktionalität vermissen läßt, dann prüfen Sie bitte die folgende Liste, ob Sie weitere Pakete installieren müssen, um die alte Funktionalität wiederherzustellen. Wenn das nicht hilft, prüfen Sie bitte das Änderungsprotokoll des Pakets, welcher unter /usr/doc/paketname/changelog.Debian.gz zu finden ist.

Mindestens die folgenden Pakete wurden aufgeteilt:

       gmc:
         mc
         gmc
         mc-common
          [7]
       mozilla:
         mozilla
         libnspr3
         libnspr3-dev
       netbase:
         netbase
         tcpd
         libwrap0
         libwrap0-dev
       netstd:
         bootp
         bootparamd
         bootpc
         finger
         fingerd
         fping
         ftp
         ftpd
         icmpinfo
         pidentd
         rdate
         rdist
         routed
         rsh-client
         rsh-server
         ruptime
         rusers
         rusersd
         rwall
         rwalld
         rwho
         rwhod
         tftp
         tftpd
         traceroute
         wdsetup
          [8]
       perl-base:
         perl-base
         perl-5.004-base
         perl-5.005-base
          [9]
       perl:
         perl-5.004
         perl-5.004-doc
         perl-5.005
         perl-5.005-doc
          [10]
       vim:
         vim
         vim-gtk
          [11]

Obwohl wir uns bemüht haben, eine komplette Liste zu liefern, kann es sein, daß Sie nicht erschöpfend ist.


3.2 Notwendige Maßnahmen vor dem Upgrade

Bevor Sie das Upgrade starten, sollten Sie unbedingt ein Vollbackup machen oder zumindest alle Daten und Konfigurationsinfos sichern, deren Verlust Sie sich nicht erlauben können. Wir haben den Upgrade-Prozess und die dazu verwendeten Programme recht zuverlässig gemacht, aber ein Hardwareproblem während des Upgrades könnte in einem schwer beschädigten System resultieren.

Die wichtigsten Dinge, die Sie wahrscheinlich sichern wollen, sind die Dateien in /etc, /var/lib/dpkg und die Ausgabe von dpkg --get-selections.

Es wäre sinnvoll, alle Benutzer im Voraus über alle geplanten Upgrades zu informieren, obwohl zumindest Benutzer, die per ssh arbeiten, nicht viel vom Upgrade mitbebekommen dürften, und evtl. weiterarbeiten möchten. Wenn Sie sicher gehen wollen, daß keine Benutzerdaten zerstört werden, unmounten Sie die /home-Partition, bevor Sie das Upgrade starten. Ein Weiterarbeiten ist dann jedoch nicht möglich.

Das Upgrade der Distribution sollte entweder lokal im Textmodus (oder über ein direkt angeschlossenes serielles Terminal) oder über aus der Entfernung über eine ssh-Verbindung durchgeführt werden. Es wäre jedoch klug, wenn Sie sich die Möglichkeit zum physikalischen Zugriff auf den Rechner offenhalten oder zumindest jemanden in der Hinterhand haben, der notfalls Zugriff auf den Rechner nehmen kann.

Was sie nicht tun sollten, ist ein Upgrade über telnet, rlogin, rsh oder in einer X11-Sitzung, die über den xdm auf dem Zielrechner verwaltet wird. Diese Dienste werden nämlich mit hoher Wahrscheinlichkeit während der Upgrades terminiert und später dann neu gestartet werden, mit dem möglichen Resultat, daß Sie nach der Hälfte des Upgrades keinen Zugriff auf den Rechner mehr erlangen können.

Unabhängig von der für das Upgrade benutzten Methode würden wir empfehlen, daß Sie zuerst den Status aller installierten Pakete überprüfen. Dies können Sie z.B. mit

     dpkg -l | pager

oder

     dpkg
       --get-selections | pager

machen, oder Sie können dselect dazu benutzen.

Jede Paketinstallation muß als Systemverwalter durchgeführt werden, also melden Sie sich entweder als root anmelden oder su oder sudo benutzen, um die entsprechenden Zugriffsrechte zu erlangen.

Es wäre wünschenswert, vor der Installation evtl. auf halten gesetzte Pakete wieder freizugeben. Ansonsten kann es passieren, daß ein auf halten gesetztes Paket, das essentiell für das Upgrade ist, dazu führt, daß die Aktion fehlschlägt. Wenn Sie ein Paket lokal geändert und recompiliert und dieses nicht umbenannt haben oder eine neue Epoche eingetragen haben, müssen Sie es auf halten setzen um zu verhindern, daß es durch die neue offizielle Version ersetzt wird. Der `halten'-Status kann entweder über dselect geändert werden (durch Drücken von `H' und `G' in der Paketauswahl für Halten respektive Freigeben des Pakets) oder über die Kommandozeile durch

     dpkg --get-selections > dateiname

, Ändern der datei dateiname durch Austauschen der Stati "hold" und "install" und Aktivierung der Änderungen durch Ausführung von

     dpkg --set-selections < dateiname

.

Es wird dringend empfohlen, mit dem script-Programm eine Mitschrift der Upgradesitzung aufzunehmen. [12] Wenn Sie dann auf Probleme treffen, können Sie gucken, was passiert ist, und wenn nötig exakte Informationen in einer Problembeschreibung liefern. Um die Aufzeichnung zu starten, geben Sie

     script -a /upgrade-2.2.typescript

oder entsprechendes ein. Denken Sie daran, die Mitschrift nicht in einem temporäres Verzeichnis wie /tmp oder /var/tmp zu speichern.

Das /usr/share/doc-Verzeichnis (falls es schon existiert) sollte kein symbolischer Link (wie z.B. nach /usr/doc) sein, da einige Pakete damit nicht klarkommen. Ein Link von /usr/doc nach /usr/share/doc dagegen ist erlaubt, wird jedoch zu vielen Fehlermeldungen bei Paketinstallationen führen, weil Verzeichnisse in /usr/doc nicht entfernt werden können. Diese Meldungen sind normal und Sie können einfach ignoriert werden.

Es mag eine gute Idee sein, daß ssh-Paket, so es installiert ist, auf `halten' zu setzen, da es sonst durch OpenSSH, dem neuen ssh-Paket ersetzt werden wird und dieses noch immer nicht gänzlich kompatible zur alten Version ist. So ist die Konfigurationsdatei noch leicht inkompatibel, was dazu führen könnte, daß sshd nach dem Upgrade nicht mehr startet. Indem Sie das Paket vom Upgrade ausnehmen, können Sie sichergehen, daß das System weiterhin erreichbar ist. Sie können diese Probleme dann später lösen oder einfach das ssh-nonfree-Paket installieren, welches eine voll kompatible aber weiterhin unfreie Version von ssh ist. Anmerkung: Selbst, wenn Sie es nicht auf halten setzen, werden existierende Verbindungen nicht beendet werden.

Die empfohlene Upgrade-Methode ist die direkte Benutzung des apt-get-Utilities. APT ist die nächste Generation unserer Paketverwaltung und ermöglicht glatte Upgrades und einfach Installationen.

Die alten Zugriffsmethoden von dselect sollten nicht mehr für größere Aktionen benutzt werden, weil diese keine Optimierung der Installationsreihenfolge vornehmen wie apt es tut und deswegen nicht so zuverlässig funktionieren. Dazu kommt, daß Upgrades mit deren Hilfe wesentlich weniger ausgetestet wurden und somit nicht wirklich unterstützt werden.


3.3 Der Upgradeprozess

Wenn Sie von Debian GNU/Linux 2.0 oder früher upgraden, oder wenn Sie von einem Satz mehrerer CD-ROMs upgraden wollen, benötigen Sie die apt und dpkg-Versionen aus dem http://http.us.debian.org/debian/dists/potato/main/upgrade-i386/-Verzeichnis von Ihrem Debian GNU/Linux-Mirror, oder dem upgrade/-Verzeichnis auf der ersten CD ihres CD-Satzes. Besorgen Sie diese Dateien und installieren Sie sie, indem Sie die folgenden Kommandos in genau dieser Reihenfolge ausführen:

       dpkg -i dpkg_1.6.13_i386.deb
       dpkg -i apt_0.3.19_i386.deb

Dies sind spezielle, statisch gebundene Versionen, die auf jeder Debian-Version funktionieren.

Wenn Sie Debian GNU/Linux 2.1 installiert haben und von Netzwerk (mit FTP oder HTTP) oder einem lokalen Mirror (möglicherweise auf EINER CD, einer Festplattenpartition oder einem NFS-Laufwerk) upgraden wollen, dann können Sie die apt- und dpkg-Pakete aus Ihrer alten Installation für das Upgrade benutzen.

Bitte beachten Sie, daß Sie für ein Upgrade von mehreren CDs auf jeden Fall die oben beschriebenen statischen Versionen von apt und dpkg benötigen.

Wir empfehlen Ihnen, nun die Anleitungen zu apt-get(8) und sources.list(5) zu lesen. Vor Beginn des Upgrades müssen Sie die Quellen für APT in /etc/apt/sources.list an Ihre Bedürfnisse anpassen. apt wird alle Pakete, die über die "deb"-Zeilen dieser Datei gefunden werden können, für die Installation erwägen und jeweils die neueste Version benutzen. Dabei wird bevorzugt die erste mögliche Quelle aus sources.list verwendet. Wenn Sie also mehrere Quellen haben, sollten Sie zuerst Quellen auf Ihrer Festplatte angeben, dann CD-ROMs und zuletzt über das Internet verfügbare Quellen.


3.3.1 Einstellung zum Upgrade über das Internet

Die Standardkonfiguration ist so eingestellt, daß das Upgrade über unsere Haupt-Internetserver durchgeführt wird. Sie sollten /etc/apt/sources.list jedoch so einstellen, daß netzwerkmäßig näherliegende Rechner verwendet werden. Eine Liste der verfügbaren Spiegel finden Sie unter http://www.debian.org/distrib/ftplist.

Wenn Sie zum Beispiel den Mirror unter ftp://alea.iacta.est/debian/ für APT benutzen wollen, dann tragen Sie folgendes Zeile in die sources.list ein:

       deb ftp://alea.iacta.est/debian potato main contrib

Beachten Sie, daß das `dists'-Verzeichnis implizit eingefügt wird and die Parameter hinter dem dritten benutzt werden, um den Pfad in mehrere Verzeichnisse zu expandieren.

Angenommen, der Mirror enthält auch die non-US/* Sektionen unter ftp://alea.iacta.est/debian/debian-non-US. Dann kann darauf mit einer weiteren Zeile zugreifen:

       deb ftp://alea.iacta.est/debian potato main contrib
       deb ftp://alea.iacta.est/debian/debian-non-US potato/non-US main contrib

Jedes Paket, das zur Installation benötigt wird und über Netzwerk bezogen wird, wird in /var/cache/apt/partial heruntergeladen und dann nach /var/cache/apt verschoben. Sie müssen also sicherstellen, daß für das Verzeichnis /var/cache/apt genügend Speicherplatz zur Verfügung steht, bevor Sie das Upgrade starten.

Hinweis: Wenn Sie die oben erwähnten statische Version von apt verwenden, funktioniert die Umsetzung von Rechnernamen in IP-Adressen nicht, was ein Grund ist, die slink-Version von apt zu benutzen. Die Lösung besteht darin, in der sources.list die IP-Adresse anstatt des Rechnernamens anzugeben. Diese kann man mit Hilfe von nslookup ermitteln. So liefert

     nslookup ftp.de.debian.org

die Adresse 141.76.2.4.


3.3.2 Einstellung zum Upgrade von CD-ROM

Der apt-Code für die Behandlung mehrerer CD-ROMs als Installationsmedium wird über das apt-cdrom-Programm angesteuert.

Sie müssen zuerst apt (version 0.3.x) von der ersten CD wie oben beschrieben installieren.

Stellen Sie sicher, daß /etc/fstab eine Zeile für das Mounten des CD-ROM Laufwerkes nach /cdrom enthält. Es muß wirklich /cdrom sein, daß apt-cdrom diesen Pfad voraussetzt. Wenn Ihr CD-ROM z.B. das erste Gerät am zweiten IDE-Controller ist, sollte in /etc/fstab die folgende Zeile sein:

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

Um sicher zu gehen, daß es funktioniert, legen Sie eine CD ein und probieren Sie die folgenden Kommandos:

       mount /cdrom       (dies wird den Inhalt der CD unter /cdrom einbinden)
       ls -alF /cdrom     (Inhalt des Hauptverzeichnisses der CD zeigen)
       umount /cdrom      (gibt die CD wieder frei)

Als nächstes führen Sie den Befehl

       apt-cdrom add

für jede CD in ihrem CD-Satz, um die Daten über jede CD in die APT-Datenbank einzutragen.


3.3.3 Upgrading

Sobald Sie apt konfiguriert haben, führen Sie den Befehl

       apt-get update

als root aus.

Damit wird von jeder Quelle die Paketliste angefordert und die APT-Datenbank über verfügbare Pakete auf den aktuellen Stand gebracht.

Einige Benutzer ziehen es vor, vor apt-get -f dist-upgrade mit dem Befehl

       apt-get --fix-broken --show-upgraded --dry-run dist-upgrade | pager

zu überprüfen, was genau passieren wird. Das ist zwar ein ziemlicher Zeitaufwand, vermeidet aber eventuelle Überraschungen. Dieses Kommando wird Ihnen entweder mitteilen, was an Ihrem System nicht stimmt (und hoffentlich, wie man es beheben kann), oder, was wahrscheinlicher ist, was genau während des Upgrades gemacht wird. Achten Sie besonders auf Pakete, die apt löschen möchte.

Nachdem Sie sichergestellt haben, daß apt-get nichts unartiges machen möchte, führen Sie den Befehl

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

aus. Dieser zeigt Ihnen eine Übersicht, was apt vorhat sowie eine Information, wieviel aus dem Netz heruntergeladen werden wird. Wenn Sie bestätigen wird es ein komplettes Upgrade Ihres Systems ausführen. Das bedeutet, daß alle installierten Pakete auf den neuesten Stand gebracht und alle Abhängigkeiten aufgelöst werden. Es kann sein, daß apt dafür einige Pakete zusätzlich installieren wird, vorwiegend neue Bibliotheken oder umbenannte Pakete, aber es sollte kein momentan installiertes Paket ersatzlos löschen.

Wenn Sie von mehreren CDs upgraden, werden sie einige Male aufgefordert werden, verschiedene CDs einzulegen. Dies kommt daher, daß einige voneinander abhängige Pakete über die CDs verteilt wurden.

Es kann sein, daß einige Pakete nicht aktualisiert werden, obwohl eine neue Version zur Verfügung steht. Dies sind Pakete, die nicht aktualisiert werden können, ohne den Status eines anderen Paketes zu ändern. Diese werden als zurückgehaltene Pakete angezeigt. Es kann also nötig werden, dselect oder apt-get zu benutzen, um diese Pakete von Hand zu aktualisieren. Sie können auch versuchen, apt-get dselect-upgrade aufzurufen, um diese Probleme geradezuziehen.

Die Option --fix-broken (oder einfach -f) sagt apt, daß er versuchen soll, ein System mit momentan verletzten Abhängigkeiten zu reparieren. apt läßt es nicht zu, daß die Abhängigkeiten zwischen Paketen verletzt werden.


3.3.3.1 Mögliche Probleme während und nach dem Upgrade

Es ist mögliht, daß das Abhängigkeitsnetz des Systems so korrupt ist, daß es nötig ist, von Hand einzugreifen. Normalerweise löst man diese Probleme mit dselect, entfernt die problematischen Pakete mit

     dpkg --remove paketname

oder versucht, ob sich das Problem mit

       apt-get -f -u install
       dpkg --configure --pending

automatisch lösen läßt.

In Extremfällen muß man vielleicht sogar die Reinstallation eines Paketes mit

       dpkg --install /pfad/zum/paket.deb

zu erzwingen. Anschließend sollten Sie in der Lage sein, das Upgrade mit den zuvor beschriebenen dist-upgrade-Kommandos fortzusetzen.

Während des Upgrades werden Ihnen einige Fragen zur Konfiguration oder Neukonfiguration verschiedener Pakete gestellt. Falls Sie gefragt werden, ob neue Konfigurationsdateien im Verzeichnis /etc/init.d oder /etc/terminfo oder eine neue Version von /etc/manpath.config installiert werden soll, sollten Sie das normalerweise mit `yes' bestätigen, um das System konsistent zu halten. Sie können auf jeden Fall zu der alten Version zurückkehren, da diese mit der Endung .dpkg-old gesichert wird.

Wenn Sie nicht sicher sind, was zu tun ist, schreiben Sie den Namen des Pakets oder der Datei auf und bringen Sie das später in Ordnung. Sie können immer in Ihrer Mitschrift gucken, was genau während des Upgrades angezeigt wurde.

Wenn apt-get dist-upgrade durch ist, ist der "formelle" Teil des Upgrades erledigt, aber es bleiben einige Dinge, die man vor dem Neustart erledigen sollte.

Das wichtigste ist, daß die Pakete locales und util-linux evtl. installiert werden müssen. Dies kann mit

       apt-get install locales util-linux

erledigt werden.

Wenn Sie von Version 2.0 oder früher upgraden, wird dadurch das getty-Paket entfernt werden, da getty nun im Paket util-linux mitgeliefert wird.

Wahrscheinlich gibt es noch einige weitere Pakete, die installiert werden müssen, ohne das apt-get das erkennt. Das liegt daran, daß apt-get nur die Abhängigkeiten der Pakete berücksichtigt, nicht die Empfehlungen und Vorschläge, die mit den Paketen kommen. Diese können recht einfach mit dselect gefunden werden: Gehen sie in die Paketauswahl, drücken Sie `o', `o', `v' und Shift-d, dann suchen Sie nach einer Trennzeile

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

In dieser Sektion finden Sie alle solche Pakete. Zum Beispiel wurden die Pakete gimp-smotif und gimp-dmotif seit Debian GNU/Linux 2.1 durch das gimp-Paket ersetzt. Sie können dieses entweder mit dselect installieren, welches Sie dann darüber das Problem informieren wird, daß die alten Pakete entfernt werden müssen. Alternativ können Sie einfach

       apt-get install gimp

ausführen, was ebenso die alten Gimp-Pakete entfernen wird.

Ein anderes Beispiel, welches nicht mal in dselect angezeigt wird, sind die Server und Klienten für talk und telnet und der NFS-Server, die vom alten netstd-Paket abgespalten wurden. Diese können Sie z.B. mit

       apt-get install telnet telnetd talk talkd nfs-server

installieren.

Das gleiche gilt für das manpages-dev-Paket, das vom manpages-Paket abgespalten wurde.

Bitte konsultieren Sie die Release Notes von Debian GNU/Linux 2.1 zu mehr Informationen über diese Pakete.

Wenn Sie ein Upgrade von Debian 2.0 oder früher ausgeführt haben und das X Window System installiert haben, geben Sie bitte die folgenden Kommandos ein:

       cp /usr/doc/xbase/README.Debian /root/xbase.README.Debian
       apt-get remove xbase
       apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable

Und wenn Sie nicht wollen, daß xdm beim Hochfahren des Systems gestartet wird, sondern lieber eine textbasierte Anmeldung wünschen, dann führen Sie bitte noch den folgenden Befehl aus:

       apt-get remove xdm

Für weitere Informationen können Sie die gerade kopierte Datei /root/xbase.README.Debian lesen, aber wahrscheinlich gibt es nichts weiter zu machen.

Falls Sie von einer Version 1.x (also vor 2.0) geupgraded haben, benutzte das alte System noch die alte `libc5', während das neue Version die `libc6' benutzt. Bei diesem Versionssprung hat sich das Format der utmp und wtmp-Dateien geändert, womit der last-Befehl nicht mehr korrekt funktioniert. Um das zu beheben, ist ein Neustart notwendig - aber vorher sollten Sie die alten Dateien kopieren und durch leere ersetzen, z.B. mit diesen Kommandos:

       cd /var/log
       mv wtmp wtmp.libc5
       touch wtmp
       cd /var/run
       cp /dev/null utmp

Danach starten Sie einfach das System neu (Hinweis: Wenn Sie von Version 2.0 oder höher geupgraded haben, ist kein Neustart notwendig). Nach dem Neustart sollte last wieder korrekte Informationen zeigen.

Viel Spaß mit der neuen Debian GNU/Linux 2.2! :-)


[ zurück ] [ Inhalt ]
Release Notes für Debian GNU/Linux 2.2 (`potato'), Intel x86
$Id: release-notes.de.sgml,v 1.6 2000/07/24 17:33:42 joy Exp $
Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer
debian-doc@lists.debian.org