Inhaltsverzeichnis
Wir empfehlen, dass Sie vor dem Upgrade auch die Informationen in Kapitel 5, Dinge, die Sie über Jessie wissen sollten lesen. Das Kapitel behandelt mögliche Probleme, die mit dem Upgrade-Prozess nicht direkt zusammenhängen, aber dennoch vor dem Upgrade für Sie wichtig sein könnten.
Wir empfehlen Ihnen nachdrücklich, vor dem Upgrade Ihres Systems ein komplettes Backup durchzuführen oder zumindest alle Daten und Konfigurationsinformationen zu sichern, die Sie nicht verlieren möchten. Die Upgrade-Werkzeuge und der zugehörige Prozess sind recht zuverlässig, aber ein Versagen der Hardware während des Upgrades könnte zu einem schwer beschädigten System führen.
Am wichtigsten für das Backup sind die Inhalte von
/etc
, /var/lib/dpkg
,
/var/lib/apt/extended_states
und die Ausgabe von
dpkg --get-selections "*"
(die Anführungszeichen sind
wichtig). Falls Sie aptitude verwenden, um die Pakete auf
Ihrem System zu verwalten, sollten Sie auch
/var/lib/aptitude/pkgstates
sichern.
Der Upgrade-Prozess ändert nichts im Verzeichnisbaum
/home
. Allerdings ist bekannt, dass einige Anwendungen
(z.B. Teile der Mozilla-Suite und die GNOME- und KDE-Desktop-Umgebungen)
existierende Benutzereinstellungen mit neuen Vorgaben überschreiben, wenn
eine neue Version der Anwendung das erste Mal von einem Benutzer gestartet
wird. Zur Vorsicht sollten Sie überlegen, die versteckten Dateien und
Verzeichnisse (Dateien und Verzeichnisse, die mit einem Punkt beginnen, auch
„dotfiles“ genannt) in den Home-Verzeichnissen der Benutzer zu
sichern. Dieses Backup könnte Ihnen dabei helfen, die alten Einstellungen
wiederherzustellen. Auch sollten Sie die Benutzer des Systems darüber
informieren.
Jede Paketinstallation muss mit den Rechten des Superusers ausgeführt
werden, melden Sie sich daher als root
an oder verwenden
Sie su oder sudo, um die notwendigen
Rechte zu erlangen.
Für das Upgrade gibt es ein paar Voraussetzungen; Sie sollten diese überprüfen, bevor Sie das Upgrade durchführen.
Es empfiehlt sich, alle Benutzer vor dem geplanten Upgrade zu informieren, auch wenn Benutzer, die über ssh auf Ihr System zugreifen, wenig von dem Upgrade mitbekommen sollten und es ihnen möglich sein sollte, weiterzuarbeiten.
Falls Sie zusätzliche Vorsichtsmaßnahmen ergreifen möchten, sichern Sie die
Partition /home
vor dem Upgrade oder lösen Sie diese
Einbindung mit umount.
Sie müssen beim Upgrade auf Jessie auch ein Kernel-Upgrade durchführen, daher wird ein Systemneustart notwendig sein. Typischerweise wird dieser stattfinden, nachdem das Upgrade abgeschlossen ist.
Es gibt möglicherweise vom System angebotene Dienste, die Paketen, für die ein Upgrade ansteht, zugeordnet sind. Falls das der Fall ist, beachten Sie bitte, dass diese Dienste während des Upgrades gestoppt werden, wenn die ihnen zugeordneten Pakete ersetzt und konfiguriert werden. Während dieser Zeit werden diese Dienste nicht verfügbar sein.
Die exakte Dauer, für die die Dienste abgeschaltet sind, variiert abhängig von der Anzahl der Pakete, die im System aktualisiert werden und enthält auch die Zeit, die der Systemadministrator benötigt, um Konfigurationsfragen von verschiedenen Paket-Upgrades zu beantworten. Beachten Sie, dass eine hohe Wahrscheinlichkeit für die Nichtverfügbarkeit von Diensten über eine erhebliche Zeitdauer besteht, wenn der Upgrade-Prozess unbeaufsichtigt läuft und das System eine Bedienereingabe während des Prozesses erfordert[1].
Wenn das System, das aktualisiert wird, kritische Dienste für Ihre Nutzer oder für das Netzwerk bereitstellt[2], können Sie die Zeit, während der der Dienst abgeschaltet ist, reduzieren, indem Sie ein minimales System-Upgrade durchführen (wie in Abschnitt 4.4.4, „Minimales System-Upgrade“ beschrieben), gefolgt von einem Kernel-Upgrade und einem Reboot und schließlich dem Upgrade der Pakete, denen Ihre kritischen Dienste zugeordnet sind. Aktualisieren Sie diese Pakete, bevor Sie das eigentliche vollständige Upgrade durchführen, das in Abschnitt 4.4.5, „Upgrade des Systems“ beschrieben ist. So stellen Sie sicher, dass die kritischen Dienste während des ganzen vollständigen Upgrades laufen und verfügbar sind, so dass der Zeitraum, während dem die Dienste abgeschaltet sind, insgesamt reduziert ist.
Obwohl Debian versucht sicherzustellen, dass Ihr System immer startfähig bleibt, gibt es immer die Möglichkeit, dass Sie beim Neustart des Systems nach dem Upgrade Probleme feststellen. Bekannte mögliche Probleme sind in diesem und den nächsten Kapiteln dieser Veröffentlichungshinweise dokumentiert.
Aus diesem Grund ist es sinnvoll, sicherzustellen, dass Sie die Möglichkeit haben, Ihr System wieder zum Laufen zu bringen, falls der Start fehlschlagen sollte oder (bei fernverwalteten Systemen) der Aufbau der Netzwerkverbindung nicht erfolgreich sein sollte.
Falls Sie das Upgrade aus der Ferne über eine ssh-Verbindung durchführen, wird empfohlen, dass Sie die nötigen Vorkehrungen treffen, um den Server über eine serielle Terminalverbindung aus der Ferne erreichen zu können. Es besteht die Möglichkeit, dass Sie nach dem Kernel-Upgrade und anschließenden Neustart die Systemkonfiguration über eine lokale Konsole korrigieren müssen. Auch könnte es sein, dass Sie das System über eine lokale Konsole wiederherstellen müssen, wenn es in der Mitte des Upgrade-Prozesses versehentlich neu gebootet wird.
Normalerweise empfehlen wir die Verwendung vom Rettungsmodus des Debian-Installers für Jessie. Der Vorteil der Verwendung des Installers besteht darin, dass Sie aus den vielen Methoden diejenige aussuchen können, die am besten für Sie passt. Für weitere Informationen lesen Sie bitte den Abschnitt „Ein kaputtes System reparieren“ in Kapitel 8 der Installationsanleitung und die FAQ des Debian-Installers.
Falls dies fehlschlägt, benötigen Sie eine alternative Möglichkeit, Ihr
System zu starten und zu reparieren. Eine Möglichkeit ist, ein spezielles
Rettungs-Image oder eine Linux-Live-CD zu verwenden. Nachdem Sie davon
gebootet haben, sollten Sie die Wurzel Ihres Dateisystems
(/
) einbinden und ein chroot
darauf
ausführen, um das Problem zu untersuchen und zu beheben.
Das initramfs-tools
-Paket integriert
eine Shell zur Fehleranalyse[3] in die
Initrds, die es erzeugt. Falls die Initrd beispielsweise nicht in der Lage
ist, die Wurzel Ihres Dateisystems (/
) einzubinden,
wird Ihnen diese Debug-Shell präsentiert, in der die grundlegenden Befehle
vorhanden sind, um das Problem zu ermitteln und möglicherweise zu beheben.
Folgende wesentliche Dinge sollten Sie prüfen: Vorhandensein der richtigen
Gerätedateien in /dev
, welche Module geladen sind
(cat /proc/modules
) und Fehler beim Laden von Treibern in
der Ausgabe von dmesg. Die Ausgabe von
dmesg wird Ihnen auch zeigen, welche Gerätedateien
welchen Festplatten zugeordnet wurden; Sie sollten das mit der Ausgabe von
echo $ROOT
vergleichen, um sicherzustellen, dass die
Wurzel des Dateisystems (/
) auf dem erwarteten Gerät
liegt.
Falls Sie das Problem beheben können, geben Sie exit
ein,
um die Debug-Shell zu beenden und mit dem Boot-Vorgang an der Fehlerstelle
fortzufahren. Natürlich müssen Sie auch das zu Grunde liegende Problem
beheben und die Initrd neu erzeugen, damit der Systemstart nicht beim
nächsten Mal wieder fehlschlägt.
Falls das Booten unter systemd fehlschlägt, ist es über eine Änderung der
Kernel-Befehlszeile möglich, eine Root-Shell zur Fehlersuche
aufzurufen. Wenn das Booten grundsätzlich funktioniert, aber einige Dienste
nicht starten, könnte es nützlich sein,
systemd.unit=rescue.target
zu den Kernel-Parametern
hinzuzufügen.
In anderen Fällen bringt Ihnen der Kernel-Parameter
systemd.unit=emergency.target
zum frühest möglichen
Zeitpunkt eine Root-Shell. Allerdings muss dazu das root-Dateisystem mit
Lese-/Schreibrechten eingebunden werden. Sie müssen dies händisch erledigen
mittels:
mount -o remount,rw /
Sie finden weitere Informationen zur Fehlersuche bei fehlschlagenden Boot-Vorgängen unter systemd in dem Diagnosing Boot Problems-Artikel.
Sollte alles andere nicht funktionieren, können Sie möglicherweise mit dem
alten sysvinit-System booten. Dazu ist es erforderlich, dass das sysvinit
-Paket noch installiert und die
Binärdatei /lib/sysvinit/init
in Ihrer initramfs
enthalten ist. Sind diese Voraussetzungen gegeben, fügen Sie
init=/lib/sysvinit/init
zur Kernel-Befehlszeile hinzu und
das System wird mit sysvinit starten.
Das Distributions-Upgrade sollte entweder lokal von einer virtuellen Konsole im Textmodus (oder von einem direkt angebundenen seriellen Terminal) oder aus der Ferne über eine ssh-Verbindung erfolgen.
Wichtig | |
---|---|
Wenn Sie VPN-Dienste (wie zum Beispiel |
Für zusätzliche Sicherheit sollten Sie beim Upgrade aus der Ferne den Upgrade-Prozess in einer virtuellen Konsole des Programms screen durchführen, da damit bei möglichen Verbindungsabbrüchen die Verbindung wieder sicher hergestellt werden kann und der Upgrade-Prozess somit nicht fehlschlägt.
Wichtig | |
---|---|
Sie sollten das Upgrade nicht mit telnet, rlogin, rsh durchführen bzw. bei lokalen Upgrades nicht in einer X-Sitzung, die von xdm, gdm, kdm usw. verwaltet wird. Da diese Dienste während des Upgrades möglicherweise beendet werden, könnte dies dazu führen, dass auf das System kein Zugriff mehr möglich ist und somit das Upgrade nicht fertiggestellt werden kann. Von der Nutzung der GNOME-Applikation update-manager für Upgrades auf neue Veröffentlichungen wird dringend abgeraten, da dieses Programm darauf angewiesen ist, dass die Desktop-Sitzung währendddessen nicht abgebrochen wird. |
Der in diesem Kapitel beschriebene Upgrade-Prozess geht davon aus, dass das zu aktualisierende System ein „reines“ Wheezy-System ohne Softwarepakete Dritter ist. Um den Upgrade-Prozess möglichst zuverlässig zu gestalten, sollten Sie überlegen, eventuell installierte Softwarepakete Dritter vor Beginn des Upgrades von Ihrem System zu entfernen.
Direkte Upgrades von Debian-Veröffentlichungen vor Version 7 (Wheezy) werden nicht unterstützt. Bitte befolgen Sie die Anweisungen in den Hinweisen zur Debian-Veröffentlichung Version 7, um zunächst ein Upgrade auf 7 durchzuführen.
Diese Anleitung geht davon aus, dass Ihr System auf die neueste Zwischenveröffentlichung von Wheezy aktualisiert wurde. Falls dies nicht der Fall sein sollte oder Sie sich unsicher sind, folgen Sie den Anweisungen in Abschnitt A.1, „Upgrade Ihres Wheezy-Systems“.
Manchmal führt die Verwendung von apt-get statt aptitude für die Paketinstallation dazu, dass aptitude ein Paket für „unbenutzt“ hält und es zur Entfernung einplant. Grundsätzlich sollten Sie sicherstellen, dass Ihr System vollständig aktuell und „sauber“ ist, bevor Sie mit dem Upgrade fortfahren.
Deshalb sollten Sie kontrollieren, ob noch ausstehende Aktionen im
Paketmanager aptitude vorhanden sind. Falls ein Paket im
Paketmanager zum Entfernen oder Aktualisieren vorgemerkt ist, könnte dies
den Upgrade-Prozess negativ beeinflussen. Beachten Sie, dass Sie eine solche
Situation nur korrigieren können, falls Ihre
sources.list
noch auf
wheezy und nicht auf
stable oder jessie
verweist; siehe dazu Abschnitt A.2, „Überprüfen Ihrer Paketquellen“.
Dann sollten Sie aptitude im „visuellen Modus“ starten und g drücken, um diese Begutachtung zu beginnen. Falls irgendwelche Aktionen angezeigt werden, sollten Sie diese kontrollieren und entweder rückgängig machen/beheben oder die empfohlenen Vorgänge ausführen. Sind keine Aktionen vorgesehen, wird folgende Nachricht angezeigt: „Es wurden keine Pakete zum Installieren, Entfernen oder Aktualisieren ausgewählt.“.
Falls Sie APT so konfiguriert haben, dass bestimmte Pakete aus einer anderen
Debian-Suite als Stable (z.B. aus Testing) installiert werden, müssen Sie
unter Umständen Ihre APT-Pinning-Konfiguration (in
/etc/apt/preferences
und
/etc/apt/preferences.d/
gespeichert) ändern, um das
Upgrade der Pakete aus der neuen Stable-Veröffentlichung zu
erlauben. Weitere Informationen zu APT Pinning finden Sie in apt_preferences(5).
Unabhängig von der Upgrade-Methode wird empfohlen, dass Sie zuerst überprüfen, ob alle Pakete in einem Status sind, der zum Upgrade geeignet ist. Der folgende Befehl wird Ihnen alle Pakete anzeigen, die im Status halb-installiert oder Konfiguration-fehlgeschlagen sind, und solche mit Fehler-Status:
# dpkg --audit
Sie können auch den Status aller Pakete Ihres Systems mittels aptitude oder Befehlen der folgenden Form überprüfen:
# dpkg -l | pager
oder
# dpkg --get-selections "*" > ~/curr-pkgs.txt
Es ist erstrebenswert, alle hold-Markierungen („halten“; Markierung, dass ein Paket in dem Zustand belassen werden soll, in dem es ist; es würde nicht aktualisiert) vor dem Upgrade zu entfernen. Wenn irgendein Paket, das für das Upgrade unverzichtbar ist, auf hold steht, schlägt das Upgrade fehl.
Beachten Sie, dass aptitude verglichen mit apt-get oder dselect eine andere Methode verwendet, um Pakete als auf hold gesetzt zu registrieren. Sie können Pakete, für die die hold-Markierung gesetzt ist, mit aptitude identifizieren, indem Sie diesen Befehl verwenden:
# aptitude search "~ahold"
Um Pakete, die für apt-get auf hold gesetzt worden waren, zu identifizieren, sollten Sie dies verwenden:
# dpkg --get-selections | grep 'hold$'
Falls Sie ein Paket lokal verändert und neu kompiliert haben, und ihm dabei weder einen anderen Namen gegeben noch eine Epoche in die Versionsnummer eingefügt haben, müssen Sie es auf hold setzen, um zu verhindern, dass ein Upgrade für dieses Paket durchgeführt und es damit überschrieben wird.
Der „hold“-Paketstatus für apt-get kann mit
folgenden Befehlen geändert werden: hold
-Status setzen:
# echo package_name
hold | dpkg --set-selections
hold-Status löschen: ersetzen Sie hold
durch
install
.
Falls etwas korrigiert werden muss, sorgen Sie am besten dafür, dass
sources.list
noch auf wheezy verweist, wie
dies in Abschnitt A.2, „Überprüfen Ihrer Paketquellen“ erklärt ist.
Wenn Sie proposed-updates
in Ihrer
/etc/apt/sources.list
-Datei aufgeführt haben, sollten
Sie das entfernen, bevor Sie versuchen, ein Upgrade Ihres Systems
durchzuführen. Dies ist eine Vorsichtsmaßnahme, um die Zahl möglicher
Konflikte zu reduzieren.
Falls auf Ihrem System Debian-fremde Pakete installiert sind, sollten Sie
wissen, dass diese während des Upgrades aufgrund von Konflikten in den
Abhängigkeiten entfernt werden könnten. Falls diese Pakete installiert
wurden, indem ein zusätzliches Paketarchiv in Ihrer
/etc/apt/sources.list
hinzugefügt wurde, sollten Sie
überprüfen, ob das Archiv auch für Jessie übersetzte Pakete anbietet
und die Quellzeile gleichzeitig mit der Quellzeile für die Debian-Pakete
ändern.
Einige Benutzer haben möglicherweise inoffizielle rückportierte „neuere“ Versionen von Paketen, die in Debian enthalten sind, auf ihrem Wheezy-System installiert. Diese Pakete werden wahrscheinlich während des Upgrades zu Problemen führen, da Dateikonflikte auftreten können[4]. Abschnitt 4.5, „Mögliche Probleme während des Upgrades“ enthält Informationen, wie Sie mit Dateikonflikten umgehen, falls diese auftreten.
Bevor Sie das Upgrade beginnen, müssen Sie die apt
-Konfigurationsdatei für die Paketlisten
/etc/apt/sources.list
einrichten.
apt
wird alle Pakete
berücksichtigen, die über eine „deb
“-Zeile
gefunden werden können und das Paket mit der höchsten Versionsnummer
installieren, wobei die Priorität auf die erste Zeile in der Datei gelegt
wird (daher würden Sie bei der Existenz mehrerer Quellen typischerweise
zuerst die Festplatte, dann CD-ROMs und schließlich
HTTP/FTP-Archivspiegel angeben).
Eine Veröffentlichung kann sowohl mit ihrem Codenamen
(z.B. wheezy
, jessie
)
als auch mit ihrem Statusnamen (d.h. oldstable
,
stable
, testing
,
unstable
) benannt werden. Die Verwendung des Codenamens
hat den Vorteil, dass Sie nie von neueren Veröffentlichungen überrascht
werden, und wird daher hier verwandt. Natürlich bedeutet dies, dass Sie
selbst auf Veröffentlichungsankündigungen achten müssen. Falls Sie
stattdessen den Statusnamen verwenden, werden Sie nur eine große Menge an
Aktualisierungen für Pakete sehen, wenn eine Veröffentlichung stattgefunden
hat.
Die Konfiguration ist standardmäßig so eingerichtet, dass Sie von den
Haupt-Internetservern von Debian installieren, aber Sie können
/etc/apt/sources.list
bearbeiten, um andere Spiegel zu
verwenden, bevorzugt solche, die netztopologisch nahe bei Ihnen liegen.
Adressen von HTTP- und FTP-Spiegeln können Sie auf https://www.debian.org/distrib/ftplist finden (suchen Sie nach dem Abschnitt „Liste von Debian-Spiegeln“). HTTP-Spiegel sind im Allgemeinen schneller als FTP-Spiegel.
Im Beispiel nehmen wir an, dass der für Sie am nächsten liegende Spiegel
http://mirrors.kernel.org
sei. Wenn Sie sich den Spiegel mit
einem Webbrowser oder einem FTP-Programm anschauen, werden Sie bemerken,
dass die Hauptverzeichnisse wie folgt organisiert sind:
http://mirrors.kernel.org/debian/dists/jessie/main/binary-amd64/... http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-amd64/...
Um diesen Spiegel mit apt
zu
verwenden, müssen Sie die folgende Zeile zu Ihrer Datei
sources.list
hinzufügen:
deb http://mirrors.kernel.org/debian jessie main contrib
Beachten Sie, dass das „dists
“ implizit
hinzugefügt wird und dass Argumente nach dem Namen der Veröffentlichung
verwendet werden, um den Pfad aufzufächern, so dass er in mehrere
unterschiedliche Verzeichnisse verweist.
Nachdem Sie neue Quellen hinzugefügt haben, deaktivieren Sie die bisher
existierenden „deb
“-Zeilen in der Datei
sources.list
, indem Sie eine Raute
(#
) am Zeilenanfang einfügen.
Statt HTTP- oder FTP-Paketspiegel zu verwenden, können Sie auch Ihre
/etc/apt/sources.list
anpassen, um einen Spiegel auf
einer lokalen Platte zu verwenden (die möglicherweise über
NFS eingebunden ist).
Beispielsweise könnte Ihr Paketspiegel unter
/var/ftp/debian/
liegen und über die folgenden
Hauptverzeichnisse verfügen:
/var/ftp/debian/dists/jessie/main/binary-amd64/... /var/ftp/debian/dists/jessie/contrib/binary-amd64/...
Um diesen Spiegel mit apt
zu
verwenden, fügen Sie die folgende Zeile zu Ihrer Datei
sources.list
hinzu:
deb file:/var/ftp/debian jessie main contrib
Beachten Sie, dass das „dists
“ implizit
hinzugefügt wird und dass Argumente nach dem Namen der Veröffentlichung
verwendet werden, um den Pfad aufzufächern, so dass er in mehrere
unterschiedliche Verzeichnisse verweist.
Nachdem Sie neue Quellen hinzugefügt haben, deaktivieren Sie die bisher
existierenden „deb
“-Zeilen in der Datei
sources.list
, indem Sie eine Raute
(#
) am Zeilenanfang einfügen.
Falls Sie ausschließlich die CDs/DVDs/Blu-ray-Disks
verwenden möchten, kommentieren Sie die existierenden
„deb
“-Zeilen in der
/etc/apt/sources.list
aus, indem Sie am Zeilenanfang
eine Raute (#
) anfügen.
Stellen Sie sicher, dass es eine Zeile in /etc/fstab
gibt, die das Einbinden Ihres CD-ROM-Laufwerks unter
/media/cdrom
bewirkt. Falls Ihr CD-ROM-Laufwerk
beispielsweise /dev/sr0
ist, sollte
/etc/fstab
eine Zeile wie diese enthalten:
/dev/sr0 /media/cdrom auto noauto,ro 0 0
Beachten Sie, dass es keine Leerzeichen zwischen den
Wörtern noauto,ro
im vierten Feld geben darf.
Um zu überprüfen, ob dies funktioniert, legen Sie eine CD/DVD ein und versuchen Sie, Folgendes auszuführen:
# mount /media/cdrom # dies wird die CD/DVD am Einbindungspunkt einbinden # ls -alF /media/cdrom # dies sollte Ihnen das Wurzelverzeichnis der CD/DVD anzeigen # umount /media/cdrom # dies wird die Einbindung der CD/DVD wieder aufheben
Führen Sie als nächstes für jede Binär-CD/-DVD, die Sie von Debian haben, den Befehl
# apt-cdrom add
aus, um die Daten der CD/DVD zu der APT-Datenbank hinzuzufügen.
Die empfohlene Art, ein Upgrade von vorherigen Debian-Veröffentlichungen durchzuführen, ist die Verwendung des Paketverwaltungswerkzeuges apt-get. In früheren Veröffentlichungen wurde aptitude für diesen Zweck empfohlen, jedoch bieten neueste Versionen von apt-get vergleichbare Funktionalitäten und haben zusätzlich gezeigt, dass sie die gewünschten Upgrade-Resultate mit höherer Beständigkeit erreichen.
Vergessen Sie nicht, alle benötigten Partitionen (insbesondere
/
und /usr
) zum Schreiben
einzubinden. Verwenden Sie hierzu einen Befehl der Art:
# mount -o remount,rw /mountpoint
Als nächstes sollten Sie noch einmal überprüfen, dass die Quelleinträge für
APT (in /etc/apt/sources.list
) sich entweder auf
„jessie
“ oder auf
„stable
“ beziehen. Es sollte keine
Quelleinträge geben, die auf
„wheezy
“ verweisen.
Anmerkung | |
---|---|
Quellzeilen für eine CD-ROM könnten sich eventuell auf
„ |
Es wird nachdrücklich empfohlen, dass Sie das Programm /usr/bin/script verwenden, um einen Mitschnitt der Upgrade-Sitzung zu erstellen. Falls dann ein Problem auftritt, haben Sie ein exaktes Protokoll der Ereignisse und können - falls notwendig - genaue Informationen in einem Fehlerbericht angeben. Um die Aufzeichnung zu beginnen, geben Sie
# script -t 2>~/upgrade-jessiestep
.time -a ~/upgrade-jessiestep
.script
oder vergleichbares ein. Falls Sie das Script erneut starten müssen
(z.B. aufgrund eines Systemneustarts), verwenden Sie einen anderen Wert für
step
, um darzustellen, welchen Schritt des
Upgrades Sie gerade aufzeichnen. Legen Sie die Mitschnittdatei nicht in
einem temporären Verzeichnis wie /tmp
oder
/var/tmp
ab (Dateien in diesen Verzeichnissen könnten
während des Upgrades oder eines Systemstarts gelöscht werden).
Der Mitschnitt erlaubt es Ihnen auch, die Informationen durchzuschauen, die
bereits aus dem Bildschirm herausgelaufen sind. Wenn Sie sich auf der
System-Konsole befinden, schalten Sie auf VT2 um (mit Alt+F2) und
verwenden Sie nach dem Anmelden less -R
~root/upgrade-jessie.script
, um die Datei durchzuschauen.
Nach Beendigung des Upgrades können Sie script beenden,
indem Sie exit
an der Eingabeaufforderung eingeben.
Falls Sie den Schalter -t für script verwendet haben, können Sie das Programm scriptreplay zum Abspielen der gesamten Sitzung verwenden:
# scriptreplay ~/upgrade-jessie.time ~/upgrade-jessie.script
Zuerst muss die Liste der verfügbaren Pakete für die neue Veröffentlichung abgerufen werden. Dies erledigen Sie mit dem folgenden Befehl:
# apt-get update
Sie müssen vor dem Upgrade sicherstellen, dass Sie genügend Platz auf Ihrer
Festplatte verfügbar haben, wenn Sie wie in Abschnitt 4.4.5, „Upgrade des Systems“
beschrieben ein Upgrade des kompletten Systems starten. Als erstes wird
jedes Paket, das zur Installation benötigt wird und über das Netz
heruntergeladen werden muss, in /var/cache/apt/archives
gespeichert (bzw. während des Downloads im Unterverzeichnis
partial/
). Sie müssen also sicherstellen, dass Sie auf
der Partition, die /var/
beinhaltet, genügend Platz
haben, um temporär alle Pakete, die installiert werden sollen, herunterladen
zu können. Nach dem Download benötigen Sie möglicherweise mehr Platz in
anderen Partitionen, sowohl um die zu aktualisierenden Pakete zu
installieren (diese könnten größere Binärdateien oder zusätzliche Daten
enthalten) als auch um Pakete zu installieren, die neu hinzukommen. Falls
Sie nicht genügend freien Speicherplatz bereithalten, bleibt vielleicht ein
System mit einem unvollständigen Upgrade zurück, das unter Umständen nur
schwer wiederbelebt werden kann.
apt-get kann Ihnen detaillierte Informationen über den Festplattenplatz anzeigen, der für die Installation benötigt wird. Bevor Sie das Upgrade ausführen, können Sie sich die ungefähren Werte durch folgenden Befehl anschauen:
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade [ ... ] XXX aktualisiert, XXX neu installiert, XXX zu entfernen und XXX nicht aktualisiert. Es müssen xxx.x MB an Archiven heruntergeladen werden. Nach dieser Operation werden xxx MB Plattenplatz zusätzlich benutzt.
Anmerkung | |
---|---|
Das Ausführen dieses Befehls zu Beginn des Upgrade-Prozesses könnte einen Fehler ausgeben (die Gründe sind in den folgenden Abschnitten beschrieben). In diesem Fall müssen Sie mit der Ausführung des Befehls warten, bis Sie das minimale System-Upgrade (wie in Abschnitt 4.4.4, „Minimales System-Upgrade“ beschrieben) durchgeführt haben, bevor Sie diesen Befehl ausführen können, um den Platzbedarf abzuschätzen. |
Falls Sie nicht genügend Platz für das Upgrade haben, wird apt-get Sie mit einer Meldung wie dieser warnen:
F: Sie haben nicht genug Platz in /var/cache/apt/archives/.
In dieser Situation müssen Sie vorher manuell Platz schaffen. Sie können:
Pakete löschen, die früher schon einmal für eine Installation
heruntergeladen worden sind (in
/var/cache/apt/archives
). Durch das Leeren des
Paket-Caches mit apt-get clean werden alle bereits
heruntergeladenen Paketdateien gelöscht.
Vergessene Pakete entfernen. Wenn Sie aptitude oder apt-get verwendet haben, um Pakete in Wheezy manuell zu installieren, werden die Paketwerkzeuge dies registriert haben und können auch andere Pakete als unnötig markieren, die nur aufgrund von Abhängigkeiten installiert wurden und jetzt nicht mehr benötigt werden, weil ein Paket entfernt wurde. Sie werden keine Pakete zur Entfernung vormerken, die Sie manuell installiert haben. Um automatisch installierte und jetzt nicht mehr verwendete Pakete zu entfernen, führen Sie dies aus:
# apt-get autoremove
Sie können deborphan, debfoster oder cruft verwenden, um unnötige Pakete zu finden. Entfernen Sie nicht blind die Pakete, die von diesen Programmen ausgegeben werden, speziell wenn Sie Optionen mit aggressiven Nicht-Standard-Werten verwenden, die dafür bekannt sind, falsch-positive Meldungen zu erzeugen. Es wird dringend empfohlen, dass Sie die Pakete, die zum Entfernen vorgeschlagen werden, kontrollieren (bezüglich Inhalt, Größe und Beschreibung), bevor Sie sie entfernen.
Entfernen Sie Pakete, die viel Speicherplatz belegen und die aktuell nicht
benötigt werden (Sie können sie nach dem Upgrade wieder installieren). Wenn
Sie popularity-contest
installiert
haben, können Sie popcon-largest-unused verwenden, um die
Pakete aufzulisten, die derzeit nicht verwendet werden und den meisten Platz
verbrauchen. Um die Pakete ausfindig zu machen, die schlicht den meisten
Festplattenspeicher in Anspruch nehmen, verwenden Sie
dpigs (aus dem debian-goodies
-Paket) oder
wajig (führen Sie wajig size
aus). Desweiteren können Sie diese Pakete auch mit aptitude
finden. Starten Sie dazu
aptitude im visuellen Modus, wählen
Sie → , drücken Sie l und
geben Sie ~i
ein, drücken Sie dann S und
geben Sie ~installsize
ein. Nun wird Ihnen eine schöne
Liste angezeigt, mit der Sie arbeiten können.
Entfernen von Übersetzungen und Standortanpassungsdateien aus dem System,
falls diese nicht benötigt werden. Sie können das Paket localepurge
installieren und so konfigurieren,
dass nur einige ausgewählte Standortdateien („locales“) im
System verbleiben. Dies wird den unter
/usr/share/locale
benötigten Plattenplatz reduzieren.
System-Protokolldateien (die unter /var/log/
liegen)
vorübergehend auf ein anderes System verschieben oder dauerhaft löschen.
Ein temporäres /var/cache/apt/archives
verwenden: Sie
können vorübergehend ein Cache-Verzeichnis auf einem anderen Dateisystem
benutzen (USB-Speicher, provisorisch angeschlossene
Festplatte, ein bereits anderweitig benutztes Dateisystem ...)
Anmerkung | |
---|---|
Benutzen Sie jedoch kein per NFS eingebundenes Netzlaufwerk, da die Netzwerkverbindung während des Upgrades unterbrochen werden könnte. |
Falls Sie zum Beispiel eine USB-Festplatte haben, die in
/media/usbkey
eingebunden ist:
entfernen Sie die Pakete, die unter Umständen bereits früher für Installationen heruntergeladen worden sind:
# apt-get clean
kopieren Sie das Verzeichnis /var/cache/apt/archives
auf die USB-Festplatte:
# cp -ax /var/cache/apt/archives /media/usbkey/
binden Sie das temporäre Cache-Verzeichnis in dem vorhandenen ein:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
stellen Sie nach dem Upgrade das ursprüngliche
/var/cache/apt/archives
-Verzeichnis wieder her:
# umount /media/usbkey/archives
entfernen Sie das verbleibende /media/usbkey/archives
.
Sie können das temporäre Cache-Verzeichnis auf jedem Dateisystem erstellen, das auf Ihrem System eingebunden ist.
Führen Sie ein minimales Upgrade (siehe Abschnitt 4.4.4, „Minimales System-Upgrade“) oder andere Teil-Upgrades des Systems durch, gefolgt von einem vollständigen Upgrade. Dies schafft die Möglichkeit, das System stückweise zu aktualisieren und erlaubt es Ihnen, den Paket-Cache vor dem vollständigen Upgrade nochmals zu leeren.
Beachten Sie, dass es ratsam ist, die sources.list
zurück auf wheezy zu ändern (wie in Abschnitt A.2, „Überprüfen Ihrer Paketquellen“
beschrieben), um Pakete sicher entfernen zu können.
In einigen Fällen wird durch das direkte Ausführen des vollständigen Upgrades (wie unten beschrieben) eine große Anzahl von Paketen entfernt, die Sie eigentlich behalten möchten. Wir empfehlen deshalb einen zweiteiligen Upgrade-Prozess: als erstes ein minimales Upgrade, um diese Konflikte zu umgehen und anschließend ein vollständiges Upgrade wie in Abschnitt 4.4.5, „Upgrade des Systems“ beschrieben.
Führen Sie dazu zuerst dies aus:
# apt-get upgrade
Anmerkung | |
---|---|
Für den Upgrade-Prozess einiger früherer Veröffentlichungen wurde die Verwendung von aptitude empfohlen. Dieses Werkzeug wird für Upgrades von Wheezy auf Jessie nicht empfohlen. |
Dies hat den Effekt, dass für diejenigen Pakete ein Upgrade durchgeführt wird, für die dies möglich ist, ohne dass irgendwelche anderen Pakete entfernt oder installiert werden müssen.
Solch ein minimales System-Upgrade kann auch nützlich sein, wenn auf dem System freier Festplattenplatz knapp ist und aus diesem Grund ein komplettes Upgrade nicht durchgeführt werden kann.
Falls das apt-listchanges
-Paket
installiert ist, wird es (in seiner Standard-Konfiguration) alle wichtigen
Informationen über aktualisierte Pakete in einem Pager anzeigen. Drücken Sie
q, nachdem Sie alles gelesen haben, um den Pager zu beenden
und das Upgrade fortzusetzen.
Wenn Sie die vorherigen Schritte hinter sich gebracht haben, Sie sind bereit für den eigentlichen Hauptteil des Upgrades. Führen Sie aus:
# apt-get dist-upgrade
Anmerkung | |
---|---|
Für den Upgrade-Prozess einiger früherer Veröffentlichungen wurde die Verwendung von aptitude empfohlen. Dieses Werkzeug wird für Upgrades von Wheezy auf Jessie nicht empfohlen. |
Dadurch wird ein vollständiges Upgrade des Systems durchgeführt, also die Installation der neuesten verfügbaren Versionen aller Pakete und die Auflösung aller möglichen Änderungen bei den Abhängigkeiten zwischen Paketen der verschiedenen Veröffentlichungen. Falls nötig werden einige neue Pakete installiert (üblicherweise neue Bibliotheksversionen oder umbenannte Pakete) sowie veraltete Pakete entfernt, die Konflikte verursachen.
Falls Sie ein Upgrade von einem Satz CD-ROMs (oder DVDs) durchführen, werden Sie an verschiedenen Stellen des Upgrade-Prozesses aufgefordert, bestimmte CDs einzulegen. Sie müssen eventuell ein und dieselbe CD mehrmals einlegen; dies liegt daran, dass einige Pakete mit gegenseitiger Wechselbeziehung zueinander über verschiedene CDs verteilt sind.
Neue Versionen von bereits installierten Paketen, die nicht aktualisiert
werden können, ohne den Installationsstatus eines anderen Pakets zu ändern,
werden in ihrer derzeitigen Version belassen (sie werden als
„zurückgehalten“ angezeigt). Dies kann aufgelöst werden, indem
Sie entweder aptitude verwenden, um diese Pakete zur
Installation vorzumerken, oder indem Sie apt-get install
versuchen.
paketname
Die folgenden Abschnitte beschreiben bekannte Probleme, die während des Upgrades auf Jessie auftreten können.
In einigen Fällen kann der Schritt apt-get dist-upgrade nach dem Heruntergeladen der Pakete fehlschlagen mit der Meldung:
E: Could not perform immediate configuration on 'package
'. Please see man 5 apt.conf under APT::Immediate-Configure for details.
Falls dies passiert, sollte es möglich sein, mit apt-get dist-upgrade -o APT::Immediate-Configure=0 das Upgrade fortzusetzen.
Eine andere Möglichkeit dies zu umgehen ist, vorübergehend sowohl
wheezy- wie auch jessie-Quellen in
sources.list
anzugeben und danach apt-get
update auszuführen.
Der Upgrade-Prozess auf Jessie könnte auch das Entfernen von Paketen im System bedeuten. Die exakte Liste der zu entfernenden Pakete varriert in Abhängigkeit von den Paketen, die Sie installiert haben. Diese Veröffentlichungshinweise geben grundsätzliche Hinweise über diese Paketentfernungen, falls Sie aber Zweifel haben, wird empfohlen, dass Sie die Liste zu entfernender Pakete, die von den einzelnen Upgrade-Methoden vorgeschlagen werden, kontrollieren, bevor Sie fortfahren. Weitere Informationen über veraltete Pakete in Jessie finden Sie in Abschnitt 4.10, „Veraltete Pakete“.
Manchmal ist es nötig, die Option APT::Force-LoopBreak
in
APT zu aktivieren, um die Möglichkeit zu haben, ein zwingend nötiges Paket
vorübergehend entfernen zu können, falls das Problem einer
Conflicts-/Pre-Depends-Schleife besteht. apt-get wird Sie
über solch eine Problematik informieren und das Upgrade abbrechen. Sie
setzen diese Option, indem Sie -o APT::Force-LoopBreak=1
in den apt-get-Befehl einfügen.
Es ist möglich, dass die Abhängigkeitsstruktur eines Systems so beschädigt ist, dass ein manuelles Eingreifen nötig ist. Dies erfordert üblicherweise die Verwendung von apt-get oder
# dpkg --remove paketname
um einige der beschädigten Pakete zu eliminieren, oder
# apt-get -f install # dpkg --configure --pending
In extremen Fällen müssen Sie eventuell die Neuinstallation eines Pakets erzwingen; verwenden Sie dazu einen Befehl wie
# dpkg --install /pfad/zu/paketname.deb
Dateikonflikte sollten nicht auftauchen, wenn Sie ein Upgrade auf einem „reinen“ Wheezy-System durchführen, können aber vorkommen, wenn Sie inoffizielle Backports installiert haben. Ein Dateikonflikt resultiert in einem Fehler wie:
Entpacken von<irgendein-paket1>
(aus<irgendein-paket1-dateiname>
) ... dpkg: Fehler beim Bearbeiten von<irgendein-paket1>
(--install): Versuch, »<name-irgendeiner-datei>
« zu überschreiben, welches auch in Paket<irgendein-paket2>
ist dpkg-deb: Unterprozess paste mit Signal (Broken pipe) getötet Fehler traten auf beim Bearbeiten von:<irgendein-paket1>
Sie können versuchen, einen Dateikonflikt zu lösen, indem Sie zwangsweise das Paket entfernen, das in der letzten Zeile der Fehlermeldung genannt wird:
# dpkg -r --force-depends paketname
Nachdem Sie die Probleme behoben haben, sollte es möglich sein, das Upgrade fortzusetzen, indem Sie die oben beschriebenen apt-get-Befehle nochmals ausführen.
Während des Upgrades werden Ihnen Fragen gestellt, die die Konfiguration
oder Neukonfiguration von verschiedenen Paketen betreffen. Wenn Sie gefragt
werden, ob Dateien in den Verzeichnissen /etc/init.d
oder die Datei /etc/manpath.config
durch die Version
des Paketbetreuers ersetzt werden sollen, ist es für gewöhnlich nötig, mit
„yes“ (ja) zu antworten, um die Konsistenz des Systems
sicherzustellen. Sie können jederzeit zu den alten Versionen der
Konfigurationsdateien zurückkehren, da diese mit der Erweiterung
.dpkg-old
gesichert werden.
Falls 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 die Mitschnittdatei durchsuchen, um die Informationen erneut zu betrachten, die zum Zeitpunkt des Upgrades auf dem Bildschirm angezeigt wurden.
Wenn Sie das Upgrade von der lokalen Systemkonsole aus durchführen, werden Sie vielleicht feststellen, dass in einigen Situationen die Konsole auf eine andere Ansicht umgeschaltet wird, so dass Sie den Status des Upgrade-Prozesses nicht mehr beobachten können. Zum Beispiel könnte dies auf Arbeitsplatz-Systemen passieren, wenn der Displaymanager neu gestartet wird.
Um die Konsole wiederherzustellen, auf der der Upgrade-Prozess läuft, müssen Sie Strg+Alt+F1 betätigen (wenn Sie vom grafischen Startbildschirm zur 1. virtuellen Konsole wechseln möchten) oder Alt+F1 (wenn Sie sich auf einer virtuellen Text-Konsole befinden). Ersetzen Sie dabei F1 durch die Funktionstaste, die der Konsole zugeordnet ist, auf der der Upgrade-Prozess läuft. Sie können auch Alt+Pfeiltaste-Links oder Alt+Pfeiltaste-Rechts verwenden, um zwischen den verschiedenen Textmodus-Konsolen hin- und herzuschalten.
In den meisten Fällen sollte ein Paket-Upgrade von Wheezy auf Jessie reibungslos ablaufen. Es gibt jedoch eine geringe Anzahl von Fällen, in denen ein separater Benutzereingriff erforderlich sein könnte, entweder vor oder nach dem Upgrade. Diese sind hier nach Paketen getrennt aufgeführt.
Das Debian-Upgrade von Wheezy auf Jessie wird Ihr init-System standardmäßig von SysV auf systemd migrieren. Abhängig von Ihrem System und dessen Einstellung müssen Sie eventuell einige manuelle Änderungen durchführen. Bekannte Probleme haben wir in Abschnitt 5.6, „Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert“ aufgeführt.
Wenn Sie LXC installiert haben, müssen Sie bei der Aktualisierung Ihres Systems und Ihrer Container besondere Sorgfalt walten lassen. In Abschnitt 5.8, „Relevante Gesichtspunkte für ein Upgrade von LXC-Hosts und -Containern“ finden Sie Informationen über bekannte Probleme und deren Lösungen.
Dieser Abschnitt beschreibt, wie Sie ein Upgrade des Kernels durchführen und
weist auf potenzielle Probleme hin, die diesen Vorgang betreffen. Sie können
entweder eines der von Debian angebotenen linux-image-*
-Pakete installieren oder einen
eigenen Kernel aus den Quellen selbst kompilieren.
Beachten Sie, dass viele der Informationen in diesem Abschnitt auf der
Annahme basieren, dass Sie einen der modularen Debian-Kernel zusammen mit
initramfs-tools
und udev
verwenden. Falls Sie sich entscheiden,
einen eigenen selbst erstellten Kernel zu benutzen, der keine Initrd
benötigt, oder wenn Sie einen anderen Initrd-Generator verwenden, könnten
einige der Informationen für Sie nicht relevant sein.
Wenn Sie ein Distributions-Upgrade von Wheezy auf Jessie durchführen, wird dringend empfohlen, ein linux-image-*-Metapaket zu installieren, falls noch nicht geschehen. Diese Metapakete werden während des Upgrade-Prozesses automatisch eine neue Kernel-Version installieren. Ob Sie eins installiert haben, können Sie verifizieren mit:
# dpkg -l "linux-image*" | grep ^ii | grep -i meta
Falls nichts angezeigt wird, müssen Sie entweder ein neues linux-image-Paket von Hand installieren oder Sie installieren ein linux-image-Metapaket. Eine Liste verfügbarer linux-image-Metapakete bekommen Sie mit:
# apt-cache search linux-image- | grep -i meta | grep -v transition
Falls Sie bei der Entscheidung, welches Paket Sie wählen sollen, unsicher
sind, führen Sie uname -r
aus und suchen Sie nach einem
Paket mit einem ähnlichen Namen. Falls die Anzeige zum Beispiel
2.6.32-5-amd64
ist, wird empfohlen, dass Sie linux-image-amd64
installieren. Sie können auch
apt-cache benutzen, um eine ausführliche Beschreibung
jedes Pakets zu bekommen, was Ihnen bei der Auswahl des besten Paketes
helfen kann. Zum Beispiel:
# apt-cache show linux-image-amd64
Sie sollten dann apt-get install
verwenden, um es zu
installieren. Sobald dieser neue Kernel installiert ist, sollten Sie sobald
wie möglich einen Neustart durchführen, um von der neuen Kernel-Version zu
profitieren. Lesen Sie aber Abschnitt 4.7, „Dinge, die vor dem Neustart erledigt werden sollten“, bevor Sie nach dem
Upgrade den ersten Reboot durchführen.
Für alle Experimentierfreudigen gibt es einen einfachen Weg, einen eigenen
angepassten Kernel unter Debian zu kompilieren. Installieren Sie die
Kernel-Quellen aus dem linux-source
-Paket. Sie können dann das Target
dep-pkg
zur Erstellung eines Binär-Pakets
verwenden. Weitere Informationen finden Sie im Debian
Linux-Kernel-Handbuch, das es auch als debian-kernel-handbook
-Paket gibt.
Falls möglich, wäre es ein Vorteil, wenn Sie das Kernel-Paket separat vom Rest des Systems aktualisieren, um die Wahrscheinlichkeit eines nicht-bootfähigen Systems zu reduzieren. Beachten Sie, dass Sie dies nur nach dem minimalen System-Upgrade (siehe Abschnitt 4.4.4, „Minimales System-Upgrade“) durchführen sollten.
initramfs-tools
führt jetzt auch
fsck
auf das root-Dateisystem aus, bevor es dies
einbindet. Falls systemd
als init-System läuft und eine
separates /usr
-Dateisystem existiert, wird auch
/usr
überprüft und dann eingebunden.
Ist /usr
ein separates Dateisystem auf einem RAID-Gerät
und die Einstellung INITRDSTART
in
/etc/default/mdadm
ist nicht auf
'all
' gesetzt, müssen Sie die Einstellung so setzen, dass
das RAID-Gerät darin enthalten ist.
Falls /usr
ein separates Dateisystem auf einem
logischen LVM-Volume ist und die Zeile für /usr
in
/etc/fstab
definiert das Gerät über die
UUID
oder das LABEL
(die
Klartext-Bezeichnung, die für dieses Volume gesetzt wurde), müssen Sie diese
Zeile ändern, so dass das Gerät in der Form
/dev/mapper/
oder
VG
-LV
/dev/
angegeben wird.
VG
/LV
Es ist nicht mehr möglich, das /usr
-Dateisytem über
bind-mount einzubinden.
Falls die RTC (Echtzeituhr) auf lokale Zeit gesetzt ist und die lokale Zeit
eilt der UTC-Zeit voraus, wird e2fsck
während des Bootens
eine Warnung ausgeben, dass die Zeit zurückgestellt wurde (Fehlerbericht #767040). Sie
können dies vermeiden, indem Sie folgende Zeilen in
/etc/e2fsck.conf
einfügen:
[options] broken_system_clock=1
Wenn apt-get dist-upgrade
beendet ist, sollte das
„formale“ Upgrade abgeschlossen sein, aber es gibt ein paar
andere Dinge, um die Sie sich vor dem nächsten Neustart
kümmern sollten.
Wenn Sie von Wheezy auf Jessie aktualisieren, könnte es eine gute Idee sein, bei alten Paketen die Konfigurationsdateien zu entfernen, bevor Sie nach dem Upgrade den ersten Neustart durchführen. Speziell veraltete Init-Skripte könnten Probleme verursachen. Lesen Sie bitte Abschnitt 4.8.1, „Vollständiges Löschen entfernter Pakete“, bezüglich näherer Informationen, wie Sie entfernte Pakete finden und deren Konfigurationsdateien löschen.
Nach dem Upgrade gibt es einige Dinge, die Sie tun können, um für die nächste Veröffentlichung vorbereitet zu sein.
Entfernen Sie nicht mehr benötigte und veraltete Pakete wie in Abschnitt 4.4.3, „Sicherstellen, dass genügend Speicherplatz für das Upgrade zur Verfügung steht“ und Abschnitt 4.10, „Veraltete Pakete“ beschrieben. Sie sollten kontrollieren, welche Konfigurationsdateien diese Pakete benutzen und in Betracht ziehen, die Pakete vollständig zu entfernen, um die Konfigurationsdateien loszuwerden. Lesen Sie auch Abschnitt 4.8.1, „Vollständiges Löschen entfernter Pakete“.
Es ist grundsätzlich empfehlenswert, entfernte Pakete vollständig (inkl. der Konfigurationsdateien) zu löschen. Dies ist besonders relevant, wenn sie im Rahmen eines früheren Upgrades entfernt wurden (z.B. bei dem Upgrade auf Wheezy) oder bei Paketen von Drittanbietern. Speziell alte init.d-Skripte sind dafür bekannt, Probleme zu verursachen.
Achtung | |
---|---|
Das vollständige Löschen eines Pakets wird grundsätzlich auch dessen Logdateien vom System entfernen, daher sollten Sie sie eventuell vorher sichern. |
Folgender Befehl zeigt eine Liste aller entfernten Pakete an, deren Konfigurationsdateien noch auf dem System vorhanden sind (falls zutreffend):
# dpkg -l | awk '/^rc/ { print $2 }'
Die Pakete können mittels apt-get purge vollständig gelöscht werden. Wenn wir davon ausgehen, dass Sie alle in einem Rutsch löschen möchten, können Sie folgenden Befehl verwenden:
# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
Wenn Sie aptitude
verwenden, können
Sie alternativ zu obigen Befehlen auch folgendes nutzen:
$ aptitude search '~c' $ aptitude purge '~c'
Ab der nächsten Veröffentlichung von Debian (9, Codename Stretch) werden einige Funktionalitäten als veraltet gelten. Benutzer werden auf andere Alternativen umschwenken müssen, um Probleme beim Upgrade auf 9 zu vermeiden.
Dazu gehören die folgenden Funktionalitäten:
Mit Jessie werden viele neue Pakete eingeführt, jedoch werden auch einige alte Pakete, die in Wheezy noch existierten, ausgelassen oder wegfallen. Es wird keine Möglichkeit eines Upgrades für diese veralteten Pakete geben. Selbst wenn nichts Sie davon abhalten kann, ein veraltetes Paket weiter zu benutzen, falls Sie dies wünschen, wird das Debian-Projekt bei diesen Paketen üblicherweise die Unterstützung für Sicherheitsaktualisierungen ein Jahr nach der Veröffentlichung von Jessie einstellen[5] und auch sonst in der Zwischenzeit keine Unterstützung dafür anbieten. Es wird empfohlen, die Pakete gegen die empfohlenen Alternativen (falls verfügbar) auszutauschen.
Es gibt viele Gründe, warum Pakete aus der Distribution entfernt worden sein könnten: sie wurden von den Originalautoren nicht mehr betreut; es ist kein Debian-Entwickler mehr daran interessiert, sie zu betreuen; die Funktionalität, die sie bieten, ist durch andere Software (oder eine neuere Version) ersetzt worden, oder sie wurden (aufgrund von Fehlern darin) als nicht mehr passend für Jessie angesehen. Im letzten Fall könnten sie trotzdem noch in der „unstable“-Distribution vorhanden sein.
Zu erkennen, welche Pakete in einem aktualisierten System „veraltet“ (obsolete) sind, ist einfach, da die Paketmanagement-Programme sie entsprechend markieren. Wenn Sie aptitude verwenden, werden Sie eine Liste dieser Pakete im Abschnitt „Veraltete und selbst erstellte Pakete“ finden.
Die Debian-Fehlerdatenbank bietet oft zusätzliche Informationen, warum ein Paket entfernt wurde. Sie sollten sowohl die archivierten Fehlerberichte für das Paket selbst als auch für das Pseudo-Paket ftp.debian.org kontrollieren.
Die Liste der veralteten Pakete enthält:
postgresql-9.1
, Nachfolger ist
postgresql-9.4
. Sobald das Upgrade
des Betriebssytems abgeschlossen ist, sollten Sie einen Plan erstellen, auch
Ihre PostgreSQL-9.1 Datenbank-Cluster auf die neue PostgreSQL-Version 9.4
hochzurüsten; nutzen Sie dazu das
pg_upgradecluster-Werkzeug. Für Nutzer der
verfahrensorientierten PL/perl-Sprache bietet Jessie ein aktualisiertes
postgresql-plperl-9.1
-Paket, das
gegen Jessie's Version von libperl gelinkt ist. Dies soll eine
Aktualisierung auf die neue perl-Version in Jessie ermöglichen und
gleichzeitig die alten Datenbankfunktionen von PL/perl nutzbar halten, bis
auch die Datenbank hochgerüstet wurde.
python3.2
, Nachfolger ist
python3.4
(Version 2.7 wird sowohl
in Wheezy wie auch in Jessie unterstützt).
ruby1.8
und ruby1.9.1
; Nachfolger ist ruby2.1
. Bitte installieren Sie das Paket
ruby
, um automatisch die aktuellste
ruby-Version zu erhalten.
mplayer
; Alternativen sind
mplayer2
und mpv
(neu in Jessie). Während mplayer2
bezüglich Befehlszeilenargumenten und Konfiguration überwiegend kompatibel
ist mit mplayer (außerdem fügt er auch ein paar neue Funktionen hinzu), sind
in mpv viele neue Funktionalitäten und Verbesserungen enthalten, außerdem
wird er aktiv von den Upstream-Autoren betreut.
Einige Pakete aus Wheezy sind für Jessie in mehrere Pakete aufgeteilt worden, oft um die System-Wartungsfähigkeit zu erhöhen. Um in solchen Fällen den Upgrade-Prozess zu erleichtern, bietet Jessie oft sogenannte „Dummy“-Pakete an: leere Pakete, die den gleichen Namen haben wie das alte Paket in Wheezy und mit entsprechenden Abhängigkeiten, die dazu führen, dass die neuen Pakete installiert werden. Diese „Dummy“-Pakete werden nach dem Upgrade-Prozess als nicht mehr benötigt angesehen und können problemlos entfernt werden.
Die Paketbeschreibungen der meisten (aber nicht aller) Dummy-Pakete
enthalten einen Hinweis auf ihren Zweck. Die Paketbeschreibungen für
Dummy-Pakete sind jedoch nicht standardisiert, daher ist vielleicht
deborphan mit einer der
--guess-
-Optionen
(z.B. *
--guess-dummy
) für Sie sinnvoll, um diese Pakete
auf Ihrem System zu finden. Beachten Sie, dass einige Dummy-Pakete nicht
dazu gedacht sind, nach einem Upgrade entfernt zu werden, sondern
stattdessen dazu dienen, die gerade verfügbare Version eines Programms über
längere Zeit zu verfolgen.
[1] Wenn die debconf-Priorität auf einen sehr hohen Wert gesetzt ist, können Sie so eventuell Konfigurationsfragen vermeiden, aber Dienste, die auf Standardantworten angewiesen sind, welche jedoch auf Ihrem System nicht zutreffend sind, werden nicht erfolgreich starten.
[2] Zum Beispiel: DNS- oder DHCP-Dienste, besonders wenn keine Redundanz- oder Ersatzsysteme für den Fall eines Ausfalls vorhanden sind. Im Fall von DHCP-Diensten werden die Endbenutzer unter Umständen vom Netzwerk getrennt, wenn die Lease-Zeit niedriger ist als die, die für den Abschluß des Upgrade-Prozesses benötigt wird.
[3] Diese Funktionalität kann deaktiviert werden, indem der Parameter
panic=0
zu den Boot-Parametern hinzugefügt wird.
[4] Das Paketverwaltungssystem von Debian erlaubt es normalerweise nicht, dass ein Paket Dateien anderer Pakete entfernt oder ersetzt, es sei denn, es wurde definiert, dass es das andere Paket ersetzt.
[5] So lange es keine andere Veröffentlichung in diesem Zeitraum gibt. Typischerweise werden zu jeder Zeit nur zwei stabile Veröffentlichungen mit Sicherheitsaktualisierungen unterstützt.