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:
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.
/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.
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.
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.
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.
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.
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.
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.
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.
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.
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! :-)
debian-doc@lists.debian.org