apt upgrade / autoremove schlägt fehl

  • Hi,


    auf meinem Raspberry Pi 3 kann ich keine Updates mehr durchführen, das Teil läuft seit Monaten headless und verrichtet seinen Job, wird eigentlich nie etwas Neues installiert außer Updates.

    Habe leider heute festgestellt, dass mein letztes verfügbares Full-Backup aus dem Mai diesen Fehler schon enthält...


    Hier mal ein paar Infos:



    uname -a

    Linux rpi3rack 5.4.72-v7+ #1356 SMP Thu Oct 22 13:56:54 BST 2020 armv7l GNU/Linux


    $cat /etc/issue

    Raspbian GNU/Linux 10 \n \l


    $cat /proc/version

    Linux version 5.4.72-v7+ (dom@buildbot) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #1356 SMP Thu Oct 22 13:56:54 BST 2020


    Was ich finden konnte, ist ich nicht ganz alleine bin, und es könnte etwas mit python zu tun haben:


    $which python

    /usr/bin/python


    $python -V

    Python 2.7.16


    $update-alternatives --config python

    Selection Path Priority Status

    ------------------------------------------------------------

    0 /usr/bin/python3 20 auto mode

    * 1 /usr/bin/python2 10 manual mode

    2 /usr/bin/python3 20 manual mode



    Sieht für mich relativ schlüssig aus, aber ich bin nun irgendwie mit meinem Latein am Ende..

    Würde mich wirklich über Hilfe freuen

  • auf meinem Raspberry Pi 3 kann ich keine Updates mehr durchführen, ...

    Wie hast Du die Updates immer gemacht?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Sirel

    Changed the title of the thread from “apt update / autoremove schlägt fehl” to “apt upgrade / autoremove schlägt fehl”.
  • apt-get upgrade

    Poste mal die Ausgabe von:

    Code
    apt-get -s upgrade --with-new-pkgs

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • die ist ziemlich lang, kann keinen Fehler erkennen, allerdings wüsste ich auch nicht wie es 100% beim Fehler ausschauen würde:


  • die ist ziemlich lang, kann keinen Fehler erkennen, ...

    OK, dann mach mal:

    Code
    sudo apt-get upgrade --with-new-pkgs
    sudo dpkg --configure -a
    sudo shutdown -r now

    und nach dem reboot:

    Code
    sudo apt autoremove

    und poste danach, nach "sudo apt update", die Ausgabe von:

    Code
    sudo apt-get -f install
    uname -a

    BTW: Wenn ich sudo nicht schreiben, dann solltest Du sudo auch nicht benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • beim ersten Code - Block kommen direkt wieder die Fehler:



    Habe dann trotzdem die restlichen Schritte ausgeführt, aber hat an der Situation auch nichts geändert leider.


    Bzgl. der sudo Geschichte: Habe noch mal ohne sudo gemacht, sieht (ohne line 2 line Vergleich) gleich aus von der Ausgabe her

  • beim ersten Code - Block kommen direkt wieder die Fehler:


    Code
    Fatal Python error: initfsencoding: Unable to get the locale encoding
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x76f57ad0 (most recent call first):
    Aborted
    E: Sub-process /usr/bin/apt-listchanges --apt || test $? -lt 10 returned an error code (1)
    E: Failure running script /usr/bin/apt-listchanges --apt || test $? -lt 10

    Poste mal von deinem PI, die Ausgaben von:

    Code
    apt-cache policy python python3
    head -n 3 /usr/bin/apt-listchanges
    ls -la /usr/bin/apt-listchanges

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Code
    unset PYTHONHOME

    Dann nochmal probieren.

    Dann sollte m. E. der TE vor dem "unset" schon nachschauen ob und wie diese Variable gesetzt ist. Oder würde es dich nicht interessieren?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden


  • Code
    $ head -n 3 /usr/bin/apt-listchanges
    #!/usr/bin/python3
    # vim:set fileencoding=utf-8 et ts=4 sts=4 sw=4:


    Code
    $ ls -la /usr/bin/apt-listchanges
    -rwxr-xr-x 1 root root 10868 Mar 17  2019 /usr/bin/apt-listchanges



    Danach habe ich "unset PYTHONHOME" gemacht, gab keinen Output, habe noch mal "sudo apt autoremove" probiert, immer noch der Fehler:




    Danke schon mal für deine ganzen Mühen, wirklich sehr nett!

  • Danach habe ich "unset PYTHONHOME" gemacht, gab keinen Output, habe noch mal "sudo apt autoremove" probiert, immer noch der Fehler:


    Code
    Fatal Python error: initfsencoding: Unable to get the locale encoding
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x76f67ad0 (most recent call first):
    Aborted
    E: Sub-process /usr/bin/apt-listchanges --apt || test $? -lt 10 returned an error code (1)
    E: Failure running script /usr/bin/apt-listchanges --apt || test $? -lt 10

    Versuch mal mit einem reinstall von python3.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • hmm, hast du dazu evtl. einen Tipp?


    Code
    sudo apt-get --reinstall install python3

    Wirft halt auch den gleichen Fehler :

  • Wirft halt auch den gleichen Fehler :

    Code
    Fatal Python error: initfsencoding: Unable to get the locale encoding
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x76f5ead0 (most recent call first):
    Aborted
    E: Sub-process /usr/bin/apt-listchanges --apt || test $? -lt 10 returned an error code (1)
    E: Failure running script /usr/bin/apt-listchanges --apt || test $? -lt 10

    Wie sind die Ausgaben (im spoiler zeigen) von:

    Code
    ls -la /usr/lib/python3.7/encodings
    echo $PYTHONPATH

    ?


    EDIT:


    Was Du noch probieren kannst, ist:

    Code
    sudo apt-get install --reinstall apt-listchanges

    und wenn das nicht funktioniert, dann (auf eigene Gefahr) mit:

    Code
    sudo dpkg --purge apt-listchanges
    sudo apt-get install apt-listchanges
    sudo dpkg --configure -a

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Edited once, last by rpi444 ().

  • hmm, evtl. ist das eine Spur:


    Code
     $ ls -la /usr/lib/python3.7/encodings
    ls: cannot access '/usr/lib/python3.7/encodings': No such file or directory
    
    $ echo $PYTHONPATH
  • hmm, evtl. ist das eine Spur:


    Code
     $ ls -la /usr/lib/python3.7/encodings
    ls: cannot access '/usr/lib/python3.7/encodings': No such file or directory

    Ja, das ist eine Spur, aber "apt-listchanges" lässt ja kein reinstall von python3 zu. Deshalb mal schauen/versuchen, ob Du python3 mit dpkg reinstallieren kannst.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Code
    $ ls -dl /usr/lib/python*/encodings/
    drwxr-xr-x 2 root root 12288 May 27  2020 /usr/lib/python2.7/encodings/
    
    
    $ readlink -f $(which python3)
    /usr/bin/python3.7
  • Evtl einen Versuch wert (ohne Gewähr):

    apt download libpython3.7-minimal

    sudo dpkg -i libpython3.7-minimal*.deb


    Erklärung:

    - libpython3.7-minimal - ist das Paket, welches die /usr/lib/python3.7/encodings/* zur Verfügung stellt (apt-file, dpkg -S etc. um es herauszufinden)

    - Installation per dpkg nach manuellem Download per apt umgeht den automatischen Aufruf von apt-listchanges durch apt.


    Ungeklärt:

    - Warum fehlen die python3-encodings?

    Menschen die keine Ironie verstehen finde ich super!

    Edited 2 times, last by llutz: Erklärung nachgereicht ().

  • ihr seid die Besten!


    Nach dem Ausführen dieser drei Befehle lief es wieder:


    $ apt download libpython3.7-minimal

    $ sudo dpkg -i libpython3.7-minimal*.deb

    $ sudo apt --fix-broken install




    Vielen vielen Dank allen euch für diese tolle Hilfe! Gleich mal ein aktuelles Backup nach der Patch-Orgie machen ;)