Debian GNU/Linux Unstable

Installiere einmalig das Paket apt-listbugs. Es informiert während den Aktualisierungen über aktuell gemeldete Fehler.

apt update
apt install apt-listbugs

Achtung: Mache neue Paketinstallationen und Systemaktualisierungen in Debian Unstable/Sid niemals in der grafischen Benutzeroberfläche, auch nicht im grafischen Terminal, sondern verwende immer die Textkonsole!

Während Debian Testing sich nach strengen programmiertechnischen Regeln immer neu zusammensetzt, fehlt in Debian Unstable diese Vorauswahl.

Daher unterscheidet sich der Aktualisierungsprozess unter Debian Unstable deutlich von Debian Testing:

apt update
apt full-upgrade

… und erst mal die Textausgabe lesen!

Wichtig ist die Zeile mit den statistischen Angaben am Ende der Textausgabe (Beispiel)

...
32 aktualisiert, 5 neu installiert, 8 zu entfernen und 0 nicht aktualisiert.
...

… genauer gesagt interessiert die Anzahl der vorgeschlagenen zu entfernenden Pakete (hier im Beispiel: 8).

Beispiel-Textausgabe:

Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut....
Statusinformationen werden eingelesen....
Paketaktualisierung (Upgrade) wird berechnet...
Die folgenden NEUEN Pakete werden installiert:
  linux-headers-5.9.0-5-amd64 linux-headers-5.9.0-5-common
  linux-image-5.9.0-5-amd64
Die folgenden Pakete werden aktualisiert (Upgrade):
  binutils binutils-common binutils-source binutils-x86-64-linux-gnu
  doc-debian gir1.2-rest-0.7 javascript-common libalgorithm-diff-perl
  libauthen-sasl-perl libbinutils libboost-filesystem1.74.0
  libboost-iostreams1.74.0 libboost-locale1.74.0
  libboost-program-options1.74.0 libboost-regex1.74.0 libboost-thread1.74.0
  libctf-nobfd0 libctf0 libedit2 libencode-locale-perl libglib2.0-0
  libglib2.0-bin libglib2.0-data libglib2.0-doc libgraphicsmagick-q16-3
  libhtml-format-perl libio-html-perl libllvm11 liblz4-1 librest-0.7-0
  libtie-ixhash-perl libwww-perl libx11-protocol-perl libxaw7 libxext6
  linux-headers-amd64 linux-image-amd64 netcat-openbsd python3-cupshelpers
  python3-debian python3-debianbts sudo system-config-printer
  system-config-printer-common system-config-printer-udev texlive-bibtex-extra
  texlive-extra-utils texlive-font-utils texlive-formats-extra
  texlive-latex-extra texlive-plain-generic texlive-pstricks texlive-science
  xbitmaps xfonts-encodings
55 aktualisiert, 3 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 316 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 344 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]

… in diesem Fall kann mit der Aktualisierung fortgefahren werden.

Gekürzte Beispiel-Ausgabe

Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut....
Statusinformationen werden eingelesen....
Paketaktualisierung (Upgrade) wird berechnet...
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  freecad-runtime libclang1-9 libcroco3 libllvm9 linux-headers-5.9.0-3-amd64
  linux-headers-5.9.0-3-common linux-image-5.9.0-3-amd64
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  libexo-helpers libfreecad-python3-0.18 libocct-data-exchange-7.4
  libocct-foundation-7.4 libocct-modeling-algorithms-7.4
  libocct-modeling-data-7.4 libocct-ocaf-7.4 libocct-visualization-7.4
Die folgenden NEUEN Pakete werden installiert:
  libclang1-11 libfreecad-python3-0.19 libgepub-0.6-0 libgtop-2.0-11
  libgtop2-common libocct-data-exchange-7.5 libocct-foundation-7.5
  libocct-modeling-algorithms-7.5 libocct-modeling-data-7.5 libocct-ocaf-7.5
  libocct-visualization-7.5 libqt5xmlpatterns5 xfce4-helpers
Die folgenden Pakete werden aktualisiert (Upgrade):
  autoconf autoconf-doc autopoint autotools-dev binutils binutils-common
  binutils-source binutils-x86-64-linux-gnu blt bluetooth bluez bluez-obexd
  chromium chromium-common chromium-l10n chromium-sandbox cups cups-bsd
  ...
  xfdesktop4-data xfonts-scalable xfwm4 xorg-docs xorg-docs-core
  xorg-sgml-doctools xscreensaver xscreensaver-data xscreensaver-data-extra
  xscreensaver-gl xscreensaver-gl-extra
330 aktualisiert, 13 neu installiert, 8 zu entfernen und 0 nicht aktualisiert.
Es müssen 281 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 62,6 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]

Solche Versionssprünge sind in Rolling Release Distributionen normal, und die Aktualisierung kann im allgemeinen fortgesetzt werden.

Beispiel-Textausgabe:

Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut....
Statusinformationen werden eingelesen....
Paketaktualisierung (Upgrade) wird berechnet...
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  dnsmasq-base libantlr3c-3.4-0 libbctoolbox1 libbelcard1 libbellesip1
  libbelr1 libbluetooth3 libbzrtp0 liblinphone10 libmediastreamer11 libndp0
  libnm0 libnma-common libnma0 libortp15 libteamdctl0 linphone-cli
  linphone-common linphone-nogtk mobile-broadband-provider-info
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  libbellesip0 liblinphone9 libmediastreamer-base10 libmediastreamer-voip10
  libortp13 linphone network-manager network-manager-gnome
Die folgenden NEUEN Pakete werden installiert:
  libbellesip1 liblinphone10 libmediastreamer11 libortp15 linphone-cli
Die folgenden Pakete werden aktualisiert (Upgrade):
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core
  firebird3.0-utils fonts-lmodern fonts-texgyre geoclue-2.0 gir1.2-geoclue-2.0
  gir1.2-goa-1.0 libbctoolbox1 libbelcard1 libbelr1 libbzrtp0
  libdist-checkconflicts-perl libemail-date-format-perl libfbclient2
  libfm-extra4 libgeoclue-2-0 libgoa-1.0-0b libgoa-1.0-common libib-util
  libzstd1 linphone-common linphone-nogtk lmodern lxmenu-data
  mobile-broadband-provider-info ppp tex-gyre tipa ttf-bitstream-vera zstd
32 aktualisiert, 5 neu installiert, 8 zu entfernen und 0 nicht aktualisiert.
Es müssen 51,1 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 22,5 MB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n]

Hier sollte die weitere Aktualisierung immer abgebrochen werden.

Man kann möglicherweise zuerst einzelne Pakete aktualisieren, dann ein „kleines Update“ versuchen.
Ein Paket lässt sich einschließlich Abhängigkeiten einzeln aktualisieren, in dem es neu installiert wird. Dabei wird das Paket auf „Manuell installiert“ gesetzt, weshalb dieser Schritt nur bei bereits manuell installierten Sinn macht. Die Suche nach diesen Paketen kann bei mehreren hundert gelisteten ganz schön mühselig sein. Das folgende kleine Programm mit 2 ineinander geschachtelten Schleifen hilft dabei

echo Möglicherweise manuell installiert wurden:
apt list --upgradable | while read -r u1 u2; do
  apt-mark showmanual  | while read -r p; do
    if [ "$u1" == "$p/unstable" ]; then
      echo gefunden: $p
    fi
  done
done

Die angezeigte Liste wird so lange abgearbeitet

apt install <paketname>

… bis nur noch die Pakete übrig bleiben, die zum nicht erwünschten Entfernen führen würden. Anschließend kann man noch ein „kleines Update“ machen

apt upgrade

und die nicht aktualisierten Pakete belässt man mindestens bis zum jeweils nächsten Tag zurückgehalten.

Allerdings … wenn nicht gerade wichtige Sicherheitsupdates anliegen lohnt es sich meist einfach nur ein oder mehrere Tage auszusitzen. Die vorherige Beispiel-Textausgabe (hier) nur 1 Tag später zeigt neben etlichen zusätzlichen Updates wieder eine Situation wie oben unter dem 2. Fall beschrieben:

Paketlisten werden gelesen...
Abhängigkeitsbaum wird aufgebaut....
Statusinformationen werden eingelesen....
Paketaktualisierung (Upgrade) wird berechnet...
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  linphone-cli linphone-nogtk
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  libbellesip0 liblinphone9 libmediastreamer-base10 libmediastreamer-voip10
  libortp13
Die folgenden NEUEN Pakete werden installiert:
  libbellesip1 libbpf0 liblinphone++10 liblinphone10 libmediastreamer11
  libortp15 linphone-cli linphone-desktop qml-module-qt-labs-platform
Die folgenden Pakete werden aktualisiert (Upgrade):
  courier-authlib fig2dev firebird3.0-common firebird3.0-common-doc
  firebird3.0-server-core firebird3.0-utils fonts-lmodern fonts-texgyre
  geoclue-2.0 gir1.2-geoclue-2.0 gir1.2-goa-1.0 iproute2 iproute2-doc
  libbctoolbox1 libbelcard1 libbelr1 libboost-filesystem1.74.0
  libboost-iostreams1.74.0 libboost-locale1.74.0
  libboost-program-options1.74.0 libboost-regex1.74.0 libboost-thread1.74.0
  libbzrtp0 libdist-checkconflicts-perl libemail-date-format-perl libfbclient2
  libfm-extra4 libgeoclue-2-0 libgoa-1.0-0b libgoa-1.0-common libib-util
  libjs-sphinxdoc libnm0 libnss-systemd libpam-systemd libpyside2-py3-5.15
  libshiboken2-py3-5.15 libsystemd0 libudev1 libwireshark-data libwireshark14
  libwiretap11 libwsutil12 libxcb-composite0 libxcb-damage0 libxcb-doc
  libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0
  libxcb-render0 libxcb-res0 libxcb-shape0 libxcb-shm0 libxcb-sync1
  libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xv0
  libxcb1 libxcb1-dev libzstd1 linphone linphone-common linphone-nogtk lmodern
  lxmenu-data mailcap mobile-broadband-provider-info network-manager ppp
  python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtopengl
  python3-pyside2.qtsvg python3-pyside2.qtuitools python3-pyside2.qtwidgets
  python3-pyside2.qtxml shiboken2 systemd systemd-sysv systemd-timesyncd
  tex-gyre tipa ttf-bitstream-vera udev wireshark wireshark-common
  wireshark-doc wireshark-gtk wireshark-qt zstd
94 aktualisiert, 9 neu installiert, 5 zu entfernen und 0 nicht aktualisiert.
Es müssen 111 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 6.780 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]

… und die Systemaktualisierung konnte vollständig durchgeführt werden.

… kann man die laufende Aktualisierung erst mal abbrechen, setzt die fehlerhaften Pakete auf „Halten“ z. B. mit

echo "<paketname> hold" | dpkg --set-selections

und fährt danach mit dem Aktualisierungsvorgang fort.

Eine Liste mit den gehaltenen Paketen erhält man z. B. mit

dpkg --get-selections | grep hold

Wenn der Fehler behoben ist setzt man den Haltezustand wieder zurück z. B. mit

echo "<paketname> install" | dpkg --set-selections

Nicht mehr benötigte Pakete entfernen

apt autoremove

Den Apt-Zwischenspeicher leeren

apt autoclean
apt clean

Einige Pakete werden von „apt autoremove“ nicht vollständig entfernt. Diese lassen sich finden mit

dpkg --get-selections | grep deinstall

Die so gefundenen Pakete lassen sich vollständig entfernen mit

apt purge <paketname>

Anders als Debian Stable, Testing oder Unstable ist Experimental keine vollständige Distribution. Debian Experimental ist als Erweiterung zu Debian Unstable gedacht und funktioniert nur so richtig.

In der Voreinstellung müssen Pakete aus Debian Experimental explizit installiert / aktualisiert werden

apt update
apt -t experimental install <paketname>

Die zur Zeit aus Debian Experimental installierten Pakete lassen sich auflisten mit

aptitude search ~S~i~Aexperimental
  • rudi/unstable.txt
  • Zuletzt geändert: 2020/12/30 23:32
  • von Rudi