Problèmes de compatibilité courants
Divers problèmes de compatibilité peuvent survenir après une mise à niveau du système. Cet article résume les problèmes courants et leurs solutions.
Éléments de compatibilité de mise à niveau spécifiques à 26.04
Ubuntu 26.04 LTS introduit plusieurs modifications majeures dans les composants de bas niveau. Portez une attention particulière à ceux-ci après la mise à niveau à partir d’une ancienne version.
sudo-rs devient le sudo par défaut
26.04 est par défaut sudo-rs, une réécriture de Rust, à la place du traditionnel sudo. Il est compatible avec la syntaxe courante sudoers, mais certaines options et plugins de cas extrêmes ne sont pas encore implémentés.
# Confirm the current sudo implementation
sudo --version
# If a script relies on a traditional sudo feature and fails, temporarily revert
sudo apt install sudo
# This takes over /usr/bin/sudo; switch back to sudo-rs once you've finished debuggingrust-coreutils devient la valeur par défaut
coreutils est désormais fourni par l’implémentation uutils basée sur Rust. L’utilisation quotidienne est identique, mais quelques options d’extension spécifiques à GNU peuvent ne pas être prises en charge. Si un script repose sur une extension GNU spécifique, installez la version GNU :
sudo apt install gnu-coreutilsAPT 3.1 Supprime la clé apt
apt-key a été entièrement supprimé et les clés restantes dans /etc/apt/trusted.gpg ne sont plus fiables. Migrez les sources tierces vers l’approche signed-by + /etc/apt/keyrings/ :
# Export the key to a dedicated keyring
curl -fsSL https://repo.example.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/example.gpg
# Reference it via Signed-By in the .sources file
# Signed-By: /etc/apt/keyrings/example.gpgDracut remplace les outils initramfs
26.04 utilise dracut pour générer initramfs. Les hooks initramfs-tools personnalisés doivent être migrés vers les modules/config dracut (/etc/dracut.conf.d/) et la commande de reconstruction change :
# Old: sudo update-initramfs -u
# New:
sudo dracut -fsystemd 259 Supprime le groupe de contrôle v1
systemd 259 ne prend plus en charge le groupe de contrôle v1 (groupe de contrôle unifié v2 uniquement). Les anciennes détections de mémoire de conteneur Docker, Kubernetes et Java peuvent être affectées ; mise à niveau vers des versions prenant en charge cgroup v2. De plus, 26.04 est la dernière version à prendre en charge les scripts d’initialisation SysV, donc migrez vers les unités natives systemd dès que possible.
Apache MemoryDenyWriteExecute Affecte mod_php
Le service Apache 2.4.66 dans 26.04 active MemoryDenyWriteExecute=yes par défaut, ce qui provoque le blocage de libapache2-mod-php. La recommandation officielle est de migrer vers PHP-FPM (mod_proxy_fcgi + php-fpm). Consultez les notes de configuration Nginx/Apache dans la section serveur.
Problèmes de PPA et de sources tierces
PPA ne prend pas en charge la nouvelle version
Le problème le plus courant après la mise à niveau est que les PPA n’ont pas encore fourni de packages pour la nouvelle version.
# View disabled PPAs
ls /etc/apt/sources.list.d/*.distUpgrade
# Error example
# E: The repository 'https://ppa.launchpadcontent.net/example/ppa/ubuntu resolute Release' does not have a Release file.
# Check if the PPA supports 26.04
sudo add-apt-repository --list
# Remove incompatible PPAs
sudo add-apt-repository --remove ppa:example/ppa
# Or manually delete
sudo rm /etc/apt/sources.list.d/example-ppa.sources
sudo apt updateIncompatibilité de nom de code de version de référentiel tiers
# Many third-party sources use version codenames (e.g., noble, resolute)
# These need to be updated after upgrading
# Check the current codename
lsb_release -cs
# Output: resolute
# Manually update the version codename in third-party source files
sudo sed -i 's/noble/resolute/g' /etc/apt/sources.list.d/example.list
# For DEB822 format
sudo sed -i 's/noble/resolute/g' /etc/apt/sources.list.d/example.sources
# Update index
sudo apt updateClés GPG expirées
# Error example
# W: GPG error: https://repo.example.com ... EXPKEYSIG
# Re-fetch the key
curl -fsSL https://repo.example.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/example.gpg
# Remove the expired old key
sudo rm /etc/apt/trusted.gpg.d/example.gpgProblèmes de pilote
Pilote graphique NVIDIA
# The NVIDIA driver may need to be reinstalled after upgrading
# Check driver status
nvidia-smi
# If the command is unavailable, reinstall the driver
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
# Let ubuntu-drivers pick the matching driver version automatically
# The exact version number should follow the "recommended" line from ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
# If stuck at low resolution or black screen
# 1. Switch to TTY: Ctrl+Alt+F2
# 2. Reinstall the driver (version per ubuntu-drivers devices)
sudo apt install --reinstall nvidia-driver-XXX
sudo rebootLes modules du noyau doivent être recompilés
Les modules de noyau tiers construits avec DKMS devront peut-être être recompilés :
# Check DKMS status
dkms status
# If modules are not built
sudo dkms autoinstall
# Manually rebuild a specific module
sudo dkms build module-name/version -k $(uname -r)
sudo dkms install module-name/version -k $(uname -r)
# Common modules that require DKMS
# - VirtualBox Guest Additions
# - NVIDIA driver
# - ZFS
# - WireGuard (older kernels)Problèmes Wi-Fi et Bluetooth
# Check wireless devices
rfkill list all
iwconfig
# Install missing firmware
sudo apt install linux-firmware -y
# If a specific network card doesn't work
lspci | grep -i network
lsusb | grep -i wireless
# Check kernel logs for firmware errors
dmesg | grep -i firmware
dmesg | grep -i wifi
# Reload the wireless module
sudo modprobe -r iwlwifi && sudo modprobe iwlwifiProblèmes audio
# Check PipeWire (default in 26.04) or PulseAudio
systemctl --user status pipewire pipewire-pulse
# Restart audio services
systemctl --user restart pipewire pipewire-pulse
# If migrating from PulseAudio to PipeWire
sudo apt install pipewire-audioModifications de la version du logiciel
Changement de version Python
# Check Python version
python3 --version
# The Python minor version may change after upgrading (e.g., 3.12 -> 3.13)
# Note: the 26.04 system Python is protected by PEP 668 and cannot install packages
# directly with pip (including --user). Reinstall dependencies inside a virtual environment —
# after a minor version change the old venv usually needs to be rebuilt:
rm -rf venv/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# For global command-line application tools, install/reinstall with pipx instead:
# sudo apt install pipx
# pipx reinstall-allChangement de version PHP
# Check PHP version
php -v
# The PHP version may change from 8.3 to 8.5 after upgrading
# Web server configurations need to be updated
# Nginx - update PHP-FPM socket path
# Old: fastcgi_pass unix:/run/php/php8.3-fpm.sock;
# New: fastcgi_pass unix:/run/php/php8.5-fpm.sock;
sudo grep -r "php8." /etc/nginx/
# Apache - update modules
sudo a2dismod php8.3
sudo a2enmod php8.5
sudo systemctl restart apache2
# Reinstall PHP extensions
sudo apt install php8.5-mysql php8.5-curl php8.5-mbstring php8.5-xml -yMise à niveau MySQL / MariaDB
# Check version
mysql --version
# Note: MySQL 8.4 removed the mysql_upgrade command;
# the data dictionary upgrade is now performed automatically when mysqld starts,
# so no manual step is needed. Only MariaDB still requires a manual upgrade:
sudo mariadb-upgrade -u root -p
# Check table compatibility
sudo mysqlcheck -u root -p --all-databases --check-upgrade
# If errors occur, try repair
sudo mysqlcheck -u root -p --all-databases --auto-repairPostgreSQL Mise à niveau
# PostgreSQL may need data directory migration after upgrade
# Check version
pg_lsclusters
# If there are multiple cluster versions (e.g., upgrading from 16 on 24.04 to 18 on 26.04)
# The old cluster is preserved after upgrade
sudo pg_upgradecluster 16 main 18
# After confirming the new cluster works, drop the old one
sudo pg_dropcluster 16 mainVersion Node.js
# If installed via system packages
node --version
# It is recommended to use nvm for version management, unaffected by system upgrades
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
nvm install --ltsConflits de fichiers de configuration
Recherche de configurations remplacées
# Configuration files where you chose "install the package maintainer's version"
# during the upgrade -- old versions are backed up as .dpkg-old
find /etc -name "*.dpkg-old" 2>/dev/null
find /etc -name "*.dpkg-dist" 2>/dev/null
find /etc -name "*.ucf-dist" 2>/dev/null
# Compare differences
diff /etc/ssh/sshd_config /etc/ssh/sshd_config.dpkg-oldFusion des modifications de configuration
# Use diff3 for a three-way merge
# Requires the original config, your modifications, and the new version config
# For debconf-managed configs
sudo dpkg-reconfigure package-name
# Reconfigure all ucf-managed configuration files
sudo ucf --purge /etc/some/config
sudo apt install --reinstall package-nameProblèmes de service systemd
Modifications des fichiers de service
# Check if there are services that need reloading
sudo systemctl daemon-reload
# View overridden service files
systemd-delta
# Check if custom overrides are still effective
systemctl cat your-service.serviceChangements de nom de service
# Some service names may change in the new version
# For example:
# iptables -> nftables
# isc-dhcp-server -> kea-dhcp4-server
# Check if a service exists
systemctl list-unit-files | grep service-nameGRUB et problèmes de démarrage
Échec de la mise à jour d’GRUB
# Reinstall GRUB
sudo grub-install /dev/sda # or your boot disk
sudo update-grub
# View GRUB configuration
cat /boot/grub/grub.cfg | grep menuentryImpossible de nettoyer les anciens noyaux
# If autoremove cannot remove old kernels
dpkg --list | grep linux-image
# Manually remove a specific old kernel
sudo apt purge linux-image-5.15.0-xx-generic
sudo apt purge linux-headers-5.15.0-xx-generic
sudo update-grubProblèmes d’environnement de bureau
GNOME Extensions non compatibles
# GNOME Shell version may change after upgrading
gnome-shell --version
# Disable all extensions
gsettings set org.gnome.shell disable-user-extensions true
# Enable one at a time and test
gnome-extensions list
gnome-extensions enable extension-name@example.com
# Update extensions
# Visit https://extensions.gnome.org to reinstallProblèmes Wayland / X11
# Check current display protocol
echo $XDG_SESSION_TYPE
# Some apps don't support Wayland; force X11 backend
GDK_BACKEND=x11 application-nameLa session de bureau Ubuntu par défaut est Wayland uniquement dans 26.04. Si votre flux de travail nécessite une session X.org complète, évaluez un autre environnement de bureau qui fournit toujours X.org, tel que Xfce, MATE ou i3.
Docker Compatibilité
# Check Docker service status
sudo systemctl status docker
# If the Docker repository codename hasn't been updated
# Reconfigure the Docker source
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install --only-upgrade docker-ce docker-ce-cli -y
# Verify
docker run hello-world
docker compose versionApproche générale de dépannage
# 1. View system logs
sudo journalctl -b -p err
sudo journalctl -b -p warning | head -50
# 2. View specific service logs
sudo journalctl -u service-name --since "1 hour ago"
# 3. Check package integrity
sudo debsums -c # check modified configuration files
sudo debsums -s # silent mode, show errors only
# 4. Reconfigure a package
sudo dpkg-reconfigure package-name
# 5. View upgrade logs
less /var/log/dist-upgrade/main.log
less /var/log/dist-upgrade/apt.log