Problème de mise à jour suite à une partition boot pleine

Bonjour,
Vieux Laptop HP qui fonctionne avec yunohost 11.1.19
Roundcube / Custom webapp / Dollibarr / piwigo / Concrete5 / redirect
J’ai accès à mon serveur En SSH | Par la webadmin | En direct avec un clavier/écran |
Je n’ai pas effectué de modifications particulières.

Je n’ai pas fait de mises à jour pendant le mois d’aout.
J’en ai lancé une hier et voici le résultat.

Erreur: "500" Internal Server Error

Action: "PUT" /yunohost/api/update/all

Message d’erreur :

Erreur serveur inattendue

Retraçage

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 457, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 584, in process
    return func(**arguments)
  File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 372, in tools_update
    upgradable_apps = _list_upgradable_apps()
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 2621, in _list_upgradable_apps
    app["notifications"]["PRE_UPGRADE"] = _filter_and_hydrate_notifications(
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 3142, in _filter_and_hydrate_notifications
    return {
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 3148, in <dictcomp>
    or is_version_more_recent_than_current_version(name)
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 3134, in is_version_more_recent_than_current_version
    current_version = str(current_version)
UnboundLocalError: local variable 'current_version' referenced before assignment

L’un de vous peut-il m’aider à résoudre ce problème ?

Ce soucis a sans doute été corrigé depuis en 11.2, si la mise à jour depuis la webadmin n’est pas possible, tu peux la faire à la main depuis le terminal en SSH avec : sudo apt update && sudo apt full-upgrade

Merci Aleks,
En fait je crois que je suis arrivé au bout des capacités de mon disque dur.
Quand il ecrit -tout en bas de mon message- :
« /boot/vmlinuz-5.10.0-25-686.dpkg-new » : échec d’écriture (Aucun espace disponible sur le périphérique)

Ca veut dire qu’il faut que je lui change le disque dur n’est ce pas ?

root@pigeonsrapides:~# apt update && apt full-upgrade
Atteint :1 Index of /debian/ bullseye InRelease
Atteint :2 Index of /debian bullseye InRelease
Atteint :3 http://security.debian.org bullseye-security InRelease
Atteint :4 Index of /debian bullseye-updates InRelease
Atteint :5 Index of /php/ bullseye InRelease
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances… Fait
Lecture des informations d’état… Fait
127 paquets peuvent être mis à jour. Exécutez « apt list --upgradable » pour les voir.
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances… Fait
Lecture des informations d’état… Fait
Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.
Les paquets suivants contiennent des dépendances non satisfaites :
linux-image-686 : Dépend: linux-image-5.10.0-25-686 (= 5.10.191-1) mais il n’est pas installé
E: Dépendances non satisfaites. Essayez « apt --fix-broken install » sans paquet
(ou indiquez une solution).
root@pigeonsrapides:~# apt --fix-broken install
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances… Fait
Lecture des informations d’état… Fait
Correction des dépendances… Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
bind9-utils bind9utils libreadline7 linux-image-4.19.0-18-686 linux-image-4.19.0-21-686 linux-image-5.10.0-17-686 linux-image-5.10.0-18-686 linux-image-5.10.0-19-686 php-gettext php7.3-fpm php7.3-imagick
php7.3-intl php7.3-ldap php7.3-soap python3-ply python3-publicsuffix ttf-dejavu-core
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés :
linux-image-5.10.0-25-686
Paquets suggérés :
linux-doc-5.10 debian-kernel-handbook
Les NOUVEAUX paquets suivants seront installés :
linux-image-5.10.0-25-686
0 mis à jour, 1 nouvellement installés, 0 à enlever et 127 non mis à jour.
130 partiellement installés ou enlevés.
Il est nécessaire de prendre 0 o/46,1 Mo dans les archives.
Après cette opération, 168 Mo d’espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
(Lecture de la base de données… 105366 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de …/linux-image-5.10.0-25-686_5.10.191-1_i386.deb …
Dépaquetage de linux-image-5.10.0-25-686 (5.10.191-1) …
dpkg: erreur de traitement de l’archive /var/cache/apt/archives/linux-image-5.10.0-25-686_5.10.191-1_i386.deb (–unpack) :
impossible de copier les données extraites pour « ./boot/vmlinuz-5.10.0-25-686 » vers « /boot/vmlinuz-5.10.0-25-686.dpkg-new » : échec d’écriture (Aucun espace disponible sur le périphérique)
dpkg-deb: erreur: coller subprocess was killed by signal (Relais brisé (pipe))
Des erreurs ont été rencontrées pendant l’exécution :
/var/cache/apt/archives/linux-image-5.10.0-25-686_5.10.191-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@pigeonsrapides:~#

Non, c’est peut-être juste la partition /boot/ qui est remplie, ça arrive “souvent”, et pour ça il y a moyen de supprimer les vieux kernels qui ne sont plus nécessaires

Du coup regardons ce que raconte df -h -x squashfs -x tmpfs -x devtmpfs

Merci pour l’espoir !

Ca dit ça :

root@pigeonsrapides:~# df -h -x squashfs -x tmpfs -x devtmpfs
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda6 146G 15G 124G 11% /
/dev/sda1 230M 226M 0 100% /boot
root@pigeonsrapides:~#

En effet 100% du boot.
Comment fait-on pour la vider ?

T’as répondu là.
Je vais faire ça

Let’s try cleaning up old, unused kernels: dpkg --get-selections|grep ‘linux-image*’|awk ‘{print $1}’|egrep -v “linux-image-$(uname -r)|linux-image-generic” |while read n;do apt-get -y remove $n;done

EDIT 21h17 : Je ne sais faire que des copiés collés -je ne comprend pas la structure des commandes-.

Voici ce que me répond le serveur quand je lui colle la commande :

root@pigeonsrapides:~# dpkg --get-selections|grep ‘linux-image*’|awk ‘{print $1}’|egrep -v “linux-image-$(uname -r)|linux-image-generic” |while read n;do apt-get -y remove $n;done
-bash: linux-image-generic” : commande introuvable
awk: ligne de commande:1: ‘{print
awk: ligne de commande:1: ^ caractère incorrect « � » dans l’expression
root@pigeonsrapides:~#

EDIT 21h28
J’ai mis ça trouvé sur un tutoriel
root@pigeonsrapides:~# sudo dpkg --list ‘linux-image*’|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r
linux-image-4.19.0-18-686
linux-image-4.19.0-21-686
linux-image-5.10.0-17-686
linux-image-5.10.0-18-686
linux-image-5.10.0-19-686
linux-image-5.10.0-20-686
linux-image-586
root@pigeonsrapides:~# uname -r
5.10.0-21-686
root@pigeonsrapides:~# rm -rf /boot/-4.19.0-{18,21}-.
root@pigeonsrapides:~# rm -rf /boot/-5.10.0-{17,18,19,20}-.

mais j’ai du faire une boulette parcequ’elle est toujours pleine

root@pigeonsrapides:~# df -h -x squashfs -x tmpfs -x devtmpfs
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda6 146G 15G 124G 11% /
/dev/sda1 230M 226M 0 100% /boot
root@pigeonsrapides:~#

Quand je vais dans /boot/ ce ne sont pas les même noms qui apparaissent :

root@pigeonsrapides:~# ls
root@pigeonsrapides:~# cd …
root@pigeonsrapides:/# ls
bin dev home initrd.img.old lost+found mnt proc run srv tmp var vmlinuz.old
boot etc initrd.img lib media opt root sbin sys usr vmlinuz
root@pigeonsrapides:/# cd boot
root@pigeonsrapides:/boot# ls
config-4.19.0-18-686 config-5.10.0-21-686 initrd.img-5.10.0-19-686 System.map-5.10.0-17-686 vmlinuz-4.19.0-21-686
config-4.19.0-21-686 grub initrd.img-5.10.0-20-686 System.map-5.10.0-18-686 vmlinuz-5.10.0-17-686
config-5.10.0-17-686 initrd.img-4.19.0-18-686 initrd.img-5.10.0-21-686 System.map-5.10.0-19-686 vmlinuz-5.10.0-18-686
config-5.10.0-18-686 initrd.img-4.19.0-21-686 lost+found System.map-5.10.0-20-686 vmlinuz-5.10.0-19-686
config-5.10.0-19-686 initrd.img-5.10.0-17-686 System.map-4.19.0-18-686 System.map-5.10.0-21-686 vmlinuz-5.10.0-20-686
config-5.10.0-20-686 initrd.img-5.10.0-18-686 System.map-4.19.0-21-686 vmlinuz-4.19.0-18-686 vmlinuz-5.10.0-21-686
root@pigeonsrapides:/boot#

Edit 21:39 :
Je crois que j’ai confondu un répertoire et une partition.
Y a t’il un truc spécial de yunohost qui met une partition boot séparée ?

J’arrête mon gribouillage et j’attends les conseils des artistes :slight_smile:

La première commande est cheloue mais on peut conclure que tu peux enlever tous les kernels sauf 5.10.0-21 qui est celui que tu utilises actuellement. Par contre faire un rm comme un gros sauvage c’est pas la bonne méthode. Il faut plutot utiliser apt :

sudo apt remove linux-image-4.19.0-18-686 linux-image-4.19.0-21-686 linux-image-5.10.0-17-686 linux-image-5.10.0-18-686 linux-image-5.10.0-19-686 linux-image-5.10.0-20-686

Je retiens de pas faire de RM.

Le apt remove me met toujours la partition pleine à 100% même après un redémarrage du serveur.

root@pigeonsrapides:/boot# apt remove linux-image-4.19.0-18-686 linux-image-4.19.0-21-686 linux-image-5.10.0-17-686 linux-image-5.10.0-18-686 linux-image-5.10.0-19-686 linux-image-5.10.0-20-686
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances… Fait
Lecture des informations d’état… Fait
Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.
Les paquets suivants contiennent des dépendances non satisfaites :
linux-image-686 : Dépend: linux-image-5.10.0-25-686 (= 5.10.191-1) mais ne sera pas installé
E: Dépendances non satisfaites. Essayez « apt --fix-broken install » sans paquet
(ou indiquez une solution).
root@pigeonsrapides:/boot# apt --fix-broken install
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances… Fait
Lecture des informations d’état… Fait
Correction des dépendances… Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
bind9-utils bind9utils libreadline7 linux-image-4.19.0-18-686 linux-image-4.19.0-21-686 linux-image-5.10.0-17-686
linux-image-5.10.0-18-686 linux-image-5.10.0-19-686 php-gettext php7.3-fpm php7.3-imagick php7.3-intl php7.3-ldap php7.3-soap
python3-ply python3-publicsuffix ttf-dejavu-core
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés :
linux-image-5.10.0-25-686
Paquets suggérés :
linux-doc-5.10 debian-kernel-handbook
Les NOUVEAUX paquets suivants seront installés :
linux-image-5.10.0-25-686
0 mis à jour, 1 nouvellement installés, 0 à enlever et 127 non mis à jour.
130 partiellement installés ou enlevés.
Il est nécessaire de prendre 0 o/46,1 Mo dans les archives.
Après cette opération, 168 Mo d’espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
(Lecture de la base de données… 105366 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de …/linux-image-5.10.0-25-686_5.10.191-1_i386.deb …
Dépaquetage de linux-image-5.10.0-25-686 (5.10.191-1) …
dpkg: erreur de traitement de l’archive /var/cache/apt/archives/linux-image-5.10.0-25-686_5.10.191-1_i386.deb (–unpack) :
impossible de copier les données extraites pour « ./boot/vmlinuz-5.10.0-25-686 » vers « /boot/vmlinuz-5.10.0-25-686.dpkg-new » : échec d’éc
riture (Aucun espace disponible sur le périphérique)
dpkg-deb: erreur: coller subprocess was killed by signal (Relais brisé (pipe))
Des erreurs ont été rencontrées pendant l’exécution :
/var/cache/apt/archives/linux-image-5.10.0-25-686_5.10.191-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@pigeonsrapides:/boot# df -h -x squashfs -x tmpfs -x devtmpfs
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda6 146G 15G 124G 11% /
/dev/sda1 230M 226M 0 100% /boot
root@pigeonsrapides:/boot#

Oui il faut lire ce que la machine renvoie, (même si bon, on est d’accord, souvent c’est de la soupe technique en anglais), si la machine explique que elle n’a pas pu faire le remove, alors c’est qu’elle n’a pas fait le remove et donc que la partition est toujours à 100%…

Bref, du coup là on est dans une situation à la con à cause de l’autre paquet qui est à moitié installé, du coup apt râle alors qu’on essaye justement de corriger la situation, et c’est pas trivial de savoir comment dépatouiller le truc

Du coup naivement essayons de remove avec dpkg:

sudo dpkg --remove linux-image-4.19.0-18-686 linux-image-4.19.0-21-686 linux-image-5.10.0-17-686 linux-image-5.10.0-18-686 linux-image-5.10.0-19-686 linux-image-5.10.0-20-686

faire ensuite le apt --fix-broken install
et enfin le apt update et apt full uprgrade

ET VOILA UN SERVEUR EN BONNE SANTE

Merci Aleks !

Salut,
Presque même probléme mais avec Proxmox sous arm64(raspberry)

Erreur: "500" Internal Server Error

Action: "PUT" /yunohost/api/update/all

Message d’erreur :

Erreur serveur inattendue

Retraçage

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 453, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 580, in process
    return func(**arguments)
  File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 368, in tools_update
    upgradable_system_packages = list(_list_upgradable_apt_packages())
  File "/usr/lib/python3/dist-packages/yunohost/utils/system.py", line 157, in _list_upgradable_apt_packages
    upgradable_raw = check_output("LC_ALL=C apt list --upgradable")
  File "/usr/lib/python3/dist-packages/moulinette/utils/process.py", line 29, in check_output
    subprocess.check_output(args, stderr=stderr, shell=shell, **kwargs)
  File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'LC_ALL=C apt list --upgradable' returned non-zero exit status 100.

Pendant le traitement de l’action, le serveur a dit :

Récupération des mises à jour disponibles pour les paquets du système…

Résolu
quand j’ai fait j’ai eu

root@YunoHostBarcelo:/boot# apt update && apt full-upgrade
Hit:1 Index of /debian bullseye InRelease
Hit:2 Index of /debian bullseye-updates InRelease
Hit:3 http://deb.debian.org/debian-security bullseye-security InRelease
Hit:4 Index of /debian/ bullseye InRelease
Hit:5 Index of /php/ bullseye InRelease
Reading package lists… Done
Building dependency tree… Done
Reading state information… Error!
E: Unable to parse package file /var/lib/apt/extended_states (1)

Alors j’ai fait

root@YunoHostBarcelo:/boot# mv /var/lib/apt/extended_states /var/lib/apt/extended_states.sauv

et

root@YunoHostBarcelo:/boot# apt update && apt full-upgrade

A réussi.