Upgrade von Debian 10
auf 11
Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die
Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals
ein - dann drückt man die Eingabetaste. Der upgrade-Prozess von Debian 10 auf Debian 11 ist grundsätzlich recht einfach. Er besteht aus 3 Schritten: Man sagt dem Computer wo die deb-Pakete von Debian 11 zu finden sind. Die deb-Pakete sind die Versandkartons die die Software enthalten. Man sagt dem Computer daß er in einer Liste Informationen hinterlegen soll über alle deb-Pakete von Debian 11 die der aktuellen Version von Debian 10 entsprechen, plus neue Pakete die Debian 11 braucht. Man sagt dem Computer daß er alle deb-Pakete aus der Liste herunterladen soll und in der Paket-Sammelstation /var/cache/apt/archives/ ablegen soll. Und daß er diese anschließend installieren soll, d.h. der Inhalt der Pakete wird kopiert und in den vorgegebenen Ordnern der Rechner-Partition abgelegt. Diese Paket-Installationen sind die Software die auf dem Computer lebt. Alle Dateien im HOME-Bereich werden nicht geändert. Die Änderungen betreffen nur die Rechner-Partition. Allerdings könnte es zu Unglücksfällen kommen, insbesondere durch das vorzeitige Beenden des laufenden upgrade-Prozesses, z.B. durch einen Stromausfall. Danach könnte der Computer evtl. gar nicht mehr starten. Daher sollte man unbedingt über ein backup des HOME-Bereiches nachdenken. Hier schreibe ich als Anfänger über meine Erfahrungen. Es wird ein Debian 10 Desktop-PC (kein server) beschrieben, ohne daß andere Paketquellen eingebunden sind. Wenn jemand andere Paketquellen eingebunden hat so wird das Wissen vorhanden sein was zu tun ist. Das System sollte auf dem aktuellen Stand sein. Also im Terminal mit su (oder auch su -) anmelden und eingeben |
apt update |
Falls updates angezeigt werden, dann |
apt full-upgrade |
Der folgende Befehl durchsucht das System nach unvollständig installierten Paketen und versucht sinnvolle Vorschläge zu machen welche Schritte notwendig sind um diese Pakete in einen funktionsfähigen Zustand zu versetzen. |
dpkg -C |
Wenn keine Probleme gemeldet wurden sollte man überprüfen welche Pakete bewußt zurückgehalten werden |
apt-mark showhold |
Wartende Pakete werden nicht aktualisiert was beim Upgrade zu
Stolpersteinen führen kann. |
apt list --installed 2>&1 | awk -F '/' '/lokal/ {print $1}' |
Bei mir wurde ausgegeben
cpp-6 |
Z.B. ein Compilerpaket das entfernt werden kann wenn man nicht selbst compiliert, sonst Alternativ-Compiler suchen. |
Z.B. ein Übergangspaket das entfernt werden kann wenn es nicht in
(eigenen) scripten verwendet wird. Man kann in Synaptik auf das grüne Quadrat einen Rechtsklick machen und Zum Entfernen vormerken auswählen. |
Manchmal werden weitere Paket-Installationen zum Entfernen angeboten. Wenn diese auch in der Liste enthalten sind und überprüft wurden kann man das bestätigen. Werden aber weitere Pakete außerhalb der Liste zum Löschen mit angeboten so sollte man abbrechen. Hier ein Beispiel bei dem auch grundlegende Systemprogramme angeboten werden: |
Ich habe die Beschreibung der anderen Pakete durchgesehen und alle zum Löschen
vorgemerkt bis auf die beiden epson-Pakete und lsb-compat. Dann habe ich in Synaptik Anwenden gedrückt und die vorgemerkten Paket-Installationen gelöscht. Es gibt eine andere Möglichkeit um an Informationen zu kommen. Man kann aptitude über synaptik installieren, zusammen mit den anderen vorgeschlagenen Paketen. Dann kann man sehen welche Paket-Installationen ein (obsoletes) Paket benötigen. Dazu kann man im Terminal z.B. eingeben: |
aptitude why lsb-compat |
i epson-inkjet-printer-201310w Hängt ab von lsb (>= 3.2) i lsb-compat Liefert lsb Ohne das installierte lsb-compat kann der Drucker nicht drucken! Die epson-Drucker-Pakete und auch lsb-compat bleiben bei mir vorhanden denn der Drucker wird von Debian nicht automatisch erkannt (und diese Pakete wurden auch von mir installiert). Also bei den obsoleten Paketen sehr sehr vorsichtig sein. Das gedankenlose Löschen aller obsoleten Paket-Installationen kann also dazu führen daß der Drucker nicht mehr druckt oder andere Hardware nicht mehr funktioniert. Es besteht keine Notwendigkeit obsolete Pakete zu löschen. Aber es könnte die Aktualisierung anderer Pakete über mögliche vorhandene Paketabhängigkeiten erschweren. |
Als nächstes kann man sich um alte Konfigurationsdateien kümmern. Es
kann vorkommen daß von einer entfernten Paket-Installation noch die
Konfigurationsdateien vorhanden sind. Dies sollte bereinigt werden. Folgender Befehl zeigt eine Liste aller entfernten Paket-Installationen an, deren Konfigurationsdateien noch auf dem System vorhanden sind: Mit su (oder auch su -) einloggen |
dpkg -l | awk '/^rc/ { print $2 }' |
Bei mir wurde ausgegeben
docbook-xml |
apt purge shutter |
Wenn man alle in einem Rutsch löschen möchten, kann man verwenden: |
apt purge $(dpkg -l | awk '/^rc/ { print $2 }') |
Paketlisten werden gelesen... Fertig Bin mit dem Terminal in den Ordner /lib/modules/ gegangen, habe mich mit su angemeldet (eine Anmeldung mit su - führt dazu daß das Terminal nicht mehr im gewählten Ordner geöffnet ist!) und dann den Datei-Ordner manuell gelöscht mit |
rm -r 4.19.0-5-amd64 |
Genauso im Ordner /usr/share/fonts/opentype/ mit su angemeldet und dann den Datei-Ordner manuell gelöscht mit |
rm -r linux-libertine |
Bei einem upgrade ist die Größe der Rechnerpartition wichtig. Eine schnelle Übersicht der Festplattenbelegung erhält man durch df -hl Aber es werden dabei auch Ergebnisse ausgegeben, die recht umfangreich sind und einen Anfänger verwirren. Deshalb kann es helfen die Ausgabe etwas anders zu gestalten |
sL=$(df -hl | grep ^/dev/ | tr -s ' ' | cut -f 5 -d ' ' --complement ) ; sed '1iPartition Größe belegt frei eingehängt_auf' <<< "$sL" | column -t |
Man sieht die Rechner-Partition eingehängt_auf / |
Es ist wichtig freien
Speicherplatz zur Verfügung zu haben. Gewinnen kann man diesen durch: |
tree -isaf | sort -nrk2 | grep log | head |
[ 11337441] ./boot.log Man kann den Computer neu starten und die Festplattenbelegung erneut prüfen. Dann kann man die Paketquellen auf Debian 11 umschreiben. Dazu wird die Datei /etc/apt/sources.list geändert. Zunächst muß man sich mit dem Root-Passwort anmelden, also su (oder auch su -) eintippen und Eingabetaste drücken, dann Passwort eingeben und Eingabetaste drücken. In das Terminal eingeben |
nano /etc/apt/sources.list |
Es öffnet sich der nano-Editor. Man kann den angezeigten Inhalt kopieren und in einer Textdatei in dem HOME-Ordner als backup abspeichern. Dann löscht man den kompletten Inhalt und kopiert hinein |
deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free |
Dann drückt man zum Abspeichern gleichzeitig Strg und O dann drückt man die Eingabetaste um den Dateinamen zu bestätigen dann drückt man zum Verlassen des Editors gleichzeitig Strg und X. Weiter mit su (oder auch su -) angemeldet bleiben und im Terminal eingeben: |
apt update |
Damit werden Paketinformationen heruntergeladen welche Pakete von Debian 11 eingespielt werden sollen. Man kann nun feststellen wieviel Speicherplatz für das upgarde benötigt wird: |
apt-get -o APT::Get::Trivial-Only=true dist-upgrade |
Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paketaktualisierung (Upgrade) wird berechnet... Fertig . . . . . 1812 aktualisiert, 351 neu installiert, 36 zu entfernen und 0 nicht aktualisiert. Es müssen 1.546 MB an Archiven heruntergeladen werden. Nach dieser Operation werden 1.044 MB Plattenplatz zusätzlich benutzt. Der upgrade-Prozess wird in zwei Teilen erfolgen. Ein Vorteil von apt upgrade ist daß die deb-Pakete die heruntergeladen und in /var/cache/apt/archives/ abgelegt werden nach der Installation gleich wieder gelöscht werden. Der Speicherplatz dieser heruntergeladenen Pakete von 1,5G wird also gleich wieder frei und steht den deb-Paketen von apt full-upgrade zur Verfügung. Es könnten also 3G zusätzlicher Speicherplatz für den upgrade-Prozess ausreichen. Bei dem folgenden Installations-upgrade auf Debian 11 werden alle bereits installierten Programme betroffen sein, also auch diejenigen die Fenster auf dem Bildschirm erzeugen. Deshalb ist es vorteilhaft auf ein virtuelles Terminal auszuweichen. Die folgenden Befehle sollte man sich notieren damit man diese später im virtuellen Terminal eintippen kann: apt upgrade apt full-upgrade reboot Um ein virtuelles Terminal aufzurufen kann man die Tastenkombination Strg + Alt +F4 verwenden. Man muß sich nun im virtuellen Terminal als Administrator anmelden. Dies geht aber nicht mit su Man muß eintippen root und Eingabe-Taste drücken und das Administrator-Passwort eingeben und Eingabe-Taste drücken. Dann der Reihe nach jeweils einen der auf Papier notierten Terminal-Befehle eingeben und Eingabe-Taste drücken. Die Bearbeitung jedes Befehles benötigt eine längere Zeit. Bei mir hat alles ca. 1,5 Stunden gedauert. Im virtuellen Terminal wird unten auch ein Zeit-Zähler oder ein Fortschrittsbalken angezeigt. Daher ist es vorteilhaft das Ausschalten des Bildschrimes bei Einstellungen-Energie zu deaktivieren. Während des upgrades den Computer auf keinen Fall ausschalten. Ab und zu werden Warnungen angezeigt, daß Ordner nicht gelöscht werden konnten da diese nicht leer sind. Darum kann man sich nach der Installation kümmern. Es kommt auch vor daß auf dem virtuellen Terminal ein Info auftaucht auf das man reagieren muß, sonst läuft der Prozess nicht weiter. Bei einem angezeigten Text-Info kann man mit der Taste ↓ nach unten scrollen. Durch Drücken der Taste q wird das Info beendet. Es kann auch eine Bestätigung für eine Aktion verlangt werden. |
Konfiguriere libpam0g:amd64 |
Während des upgrades wird auch gefragt ob Konfigurationsdateien durch die Version des Paketbetreuers ersetzt werden sollen. |
Konfigurationsdatei "/etc/services" ==> Geändert (von Ihnen oder von einem Skript) seit der Installation. ==> Paketverteiler hat eine aktualisierte Version herausgegeben. Wie möchten Sie vorgehen? Ihre Wahlmöglichkeiten sind: Y oder I : Die Version des Paket-Betreuers installieren N oder O : Die momentan installierte Version beibehalten D : Die Unterschiede zwischen den Versionen anzeigen Z : Eine Shell starten, um die Situation zu begutachten Der Standardweg ist das Beibehalten der momentanen Version. services (Y/I/N/O/D/Z) [Vorgabe=N] ? y |
Eine neue Version (/usr/share/unattended-upgrades/20auto-upgrades-disabled) |
Dies sollte mit yes (ja) beantwortet werden. Man kann später
überlegen zu den alten Versionen der Konfigurationsdateien zurückkehren, da diese nicht verloren gehen sondern z.B. mit der Erweiterung .dpkg-old oder ucf-old gesichert werden. Wenn man bereit ist kann man alle Programm-Fenster auf dem PC schließen (alle Programme beenden). Dann mit Strg + Alt +F4 das virtuelle Terminal aufrufen und mit root anmelden. Die notierten Befehle der Reihe nach im virtuellen Terminal eintippen und Eingabetaste drücken: apt upgrade apt full-upgrade reboot |
Nach dem Neustart des Computers zeigte sich das gewohnte Desktop-Hintergrundbild und der Persönlicher Ordner war vorhanden. Und auch der Drucker funktionierte. Allerdings war die Erweiterung dash-to-dock nicht funktionsfähig. Dazu war ein zweiter Neustart des Computers nötig. Aber dann funktionierte auch dash-to-dock. Eine Prüfung der Speicherbelegung auf der root-Partition zeigte einen Anstieg von 6,5G vor upgrade auf 7,5G nach upgrade Nun sollte man aber noch aufräumen, denn Debian 10 Elemente sollten nicht mehr vorhanden sein. Dazu muß man sich mit dem Root-Passwort anmelden, also su (oder auch su -) eintippen und Eingabetaste drücken, dann Passwort eingeben und Eingabetaste drücken. In das Terminal eingeben |
apt autoremove |
Anschließend wieder wie oben beschrieben obsolete Pakete überprüfen und löschen (meine Drucker-Pakete bleiben natürlich erhalten) alte Konfigurationsdateien löschen. Dann kann man sich erinnern daß es im virtuellen Terminal Warnungen gegeben hatte. Man kann ein Terminal in dem Ordner /var/log/apt öffnen und sich die Datei term.log anschauen. Diese enthält alles was im virtuellen Terminal ausgegeben wurde. Dazu mit su anmelden (eine Anmeldung mit su - führt dazu daß das Terminal nicht mehr im gewählten Ordner geöffnet ist!) |
cat term.log |
Die Ausgabe ist umfangreich. Deshalb ist es vorteilhaft nach Warnung oder warning zu filtern |
cat term.log | grep -i warn | grep dpkg |
dpkg: Warnung: Altes Verzeichnis "/etc/calendar" kann nicht gelöscht werden: Das Verzeichnis ist nicht leer "/etc/calendar" ist jetzt leer und wird gelöscht "/var/lib/initramfs-tools" existiert schon nicht mehr "/usr/share/fonts/truetype/openoffice" enthält eine Datei aus 2019 und wird gelöscht "/etc/apm" enthält einen leeren Ordner und wird gelöscht "/etc/polkit-1/nullbackend.conf.d" existiert schon nicht mehr |
Es ist kein Zufall daß dash-to-dock zunächst nicht funktionierte. Erweiterungen werden beim upgrade nicht berücksichtigt. Bei mir war nur dash-to-dock aktiviert. Aber im System gibt es etliche hinterlegte Erweiterungen die man nach Wunsch ein- oder ausschalten kann. Finden kann man diese durch |
gnome-tweaks |
Oder man ruft das installierte Programm |
auf. Unter dem Reiter Erweiterungen findet man eine Auswahl die auf dem Computer hinterlegt ist. Die meisten kann man jetzt nicht mehr aktivieren und auch nicht löschen. Nur dash-to-dock hat ein Kreuz auf rotem Quadrat. Man kann über den Browser die Seite für Erweiterungen aufrufen |
Dort kann man die Erweiterungen aktivieren wobei dann gefragt wird ob für diese ein upgrade durchgeführt werden soll. Dies sollte man machen damit alles aktuell ist. Anschließend kann man diese wieder deaktivieren oder auch komplett vom eigenen Computer löschen oder weitere dem eigenen Computer hinzufügen. |