diff --git a/script/install/install_arch_linux.sh b/script/install/install_arch_linux.sh index 0cfad1d..3289b17 100755 --- a/script/install/install_arch_linux.sh +++ b/script/install/install_arch_linux.sh @@ -14,10 +14,14 @@ EL_USER=${USER} # pacman résilient : --needed saute ce qui est déjà là, --noconfirm en non -# interactif. On rafraîchit d'abord la base (best-effort : le remote cmd de -# todo a déjà pu lancer reflector + -Syy). +# interactif. PAC="sudo pacman -S --needed --noconfirm" -sudo pacman -Sy --noconfirm || true +# Mise à jour COMPLÈTE obligatoire : Arch est en rolling release et NE SUPPORTE +# PAS les mises à jour partielles. Sur une image cloud dont la glibc est +# ancienne, un « pacman -S » lie le binaire à une glibc plus +# récente que celle installée -> « /usr/bin/postgres: GLIBC_2.44 not found ». +# « -Syu » met à jour glibc (et tout le système) pour rester cohérent. +sudo pacman -Syu --noconfirm || true #-------------------------------------------------- # Outils de compilation — CRITIQUE (build Python via pyenv, extensions Python) diff --git a/script/todo/todo.py b/script/todo/todo.py index cf07683..18e7d1e 100755 --- a/script/todo/todo.py +++ b/script/todo/todo.py @@ -1754,11 +1754,13 @@ class TODO: "pgrep -x pacman >/dev/null 2>&1 " "|| sudo rm -f /var/lib/pacman/db.lck; " # Arch : reflector sélectionne les miroirs HTTPS les plus rapides, - # puis rafraîchit la base et installe. + # puis MISE À JOUR COMPLÈTE (-Syu) : Arch (rolling) ne supporte pas + # les màj partielles ; sur une image cloud à la glibc ancienne, un + # « pacman -S » casse avec « GLIBC_x.yy not found ». "sudo pacman -Sy --needed --noconfirm reflector || true; " "sudo reflector --latest 20 --protocol https --sort rate " "--save /etc/pacman.d/mirrorlist || true; " - "sudo pacman -Syy --noconfirm || true; " + "sudo pacman -Syu --noconfirm || true; " "sudo pacman -S --needed --noconfirm $PKGS; " "elif command -v yum >/dev/null 2>&1; then " "sudo yum makecache -q || true; sudo yum install -y $PKGS; "