Skip to Content
DocumentationExploitationMise à niveau et migrationListe de contrôle post-mise à niveau

Liste de contrôle post-mise à niveau

Warning

26.10 : ne purgez pas en masse les packages OpenSSH dans l’état rc. Les packages de remplacement peuvent toujours utiliser l’ancienne configuration et la purge peut interrompre SSH. Vérifiez 26.10 problèmes connus et conservez l’accès à la récupération avant la maintenance à distance.

Une fois la mise à niveau du système terminée et le système redémarré, suivez cette liste de contrôle élément par élément pour vous assurer que tous les services et fonctionnalités fonctionnent correctement.

1. Vérification de base du système

Confirmer les informations sur la version

# Confirm system version lsb_release -a cat /etc/os-release # Confirm kernel version uname -r # Confirm architecture uname -m dpkg --print-architecture

Vérifier le démarrage du système

# View boot time uptime systemd-analyze # Check for errors during boot systemd-analyze blame journalctl -b -p err # Check dmesg for errors dmesg --level=err,warn | tail -30

2. Vérification de la gestion des colis

Résoudre les problèmes potentiels de package

# Check for broken packages sudo dpkg --audit # Fix broken dependencies sudo apt --fix-broken install # Complete any interrupted configuration sudo dpkg --configure -a # Check for held-back packages apt list --upgradable

Mise à jour complète

# Update package lists and install remaining updates sudo apt update sudo apt upgrade -y sudo apt dist-upgrade -y

Nettoyer les anciens paquets

# Remove packages that are no longer needed sudo apt autoremove --purge -y # Clean package cache sudo apt clean # View installed old kernels dpkg --list | grep linux-image | grep -v $(uname -r) # Old kernels will be handled by autoremove; you can also remove them manually # sudo apt purge linux-image-x.x.x-xx-generic

3. Vérification de l’état du service

Afficher l’état d’exécution du service

# Check for failed services systemctl --failed # If there are failed services, view details # systemctl status failed-service-name # journalctl -u failed-service-name # View all running services systemctl list-units --type=service --state=running

Comparez avec la liste des services de pré-mise à niveau

# If you saved the service list before upgrading diff <(cat /backup/services-running-*.txt | awk '{print $1}' | sort) \ <(systemctl list-units --type=service --state=running | awk '{print $1}' | sort)

Chèques de service communs

# SSH sudo systemctl status ssh ssh localhost # Web server sudo systemctl status nginx 2>/dev/null || sudo systemctl status apache2 2>/dev/null curl -I http://localhost # Database sudo systemctl status mysql 2>/dev/null || sudo systemctl status postgresql 2>/dev/null # Docker sudo systemctl status docker docker ps # Check all auto-start services systemctl list-unit-files --state=enabled --type=service

4. Vérification du réseau

Connectivité réseau de base

# Check network interfaces ip addr # Check routing table ip route # Check DNS resolution resolvectl status 2>/dev/null || cat /etc/resolv.conf dig ubuntu.com +short nslookup ubuntu.com # Test external connectivity ping -c 3 8.8.8.8 ping -c 3 ubuntu.com # Check listening ports ss -tlnp

Comparer les modifications du réseau

# Check Netplan configuration cat /etc/netplan/*.yaml # Confirm network management tool systemctl status systemd-networkd 2>/dev/null systemctl status NetworkManager 2>/dev/null

Pare-feu

# Check UFW status sudo ufw status verbose # Confirm rules are intact sudo ufw status numbered

5. Stockage et système de fichiers

# Check disk space df -h # Check inode usage df -i # Check for filesystem errors sudo dmesg | grep -i "ext4\|xfs\|btrfs" | grep -i error # Check LVM status (if using LVM) sudo lvs sudo vgs sudo pvs # Check mount points mount | column -t cat /etc/fstab

6. Contrôle de sécurité

Configuration de SSH

# Confirm SSH configuration was not overwritten sudo sshd -t grep -E "^(PermitRootLogin|PasswordAuthentication|Port)" /etc/ssh/sshd_config grep -rE "^(PermitRootLogin|PasswordAuthentication|Port)" /etc/ssh/sshd_config.d/ # Confirm custom SSH configuration is still in effect sudo systemctl restart ssh

Utilisateurs et autorisations

# Check user list cat /etc/passwd | grep -v nologin | grep -v /bin/false # Check sudo permissions sudo cat /etc/sudoers.d/* # Check SSH authorized keys cat ~/.ssh/authorized_keys

Mises à jour de sécurité automatiques

# Check auto-update configuration cat /etc/apt/apt.conf.d/20auto-upgrades cat /etc/apt/apt.conf.d/50unattended-upgrades # Ensure unattended-upgrades is running sudo systemctl status unattended-upgrades

7. Vérification de la candidature

Applications Web

# Check web server configuration syntax sudo nginx -t 2>/dev/null sudo apache2ctl configtest 2>/dev/null # Check PHP version and modules (if using PHP) php -v php -m # Check SSL certificates sudo certbot certificates 2>/dev/null

Docker Conteneurs

# Check Docker service docker info # Check running containers docker ps # Check stopped containers docker ps -a --filter "status=exited" # Restart Docker Compose projects cd /path/to/project && docker compose up -d docker compose ps

Bases de données

# MySQL/MariaDB mysql -u root -p -e "SHOW DATABASES;" mysql -u root -p -e "SELECT VERSION();" # PostgreSQL sudo -u postgres psql -c "SELECT version();" sudo -u postgres psql -l

8. Sources tierces et PPA

Vérifier les sources désactivées

# Third-party sources disabled during the upgrade ls /etc/apt/sources.list.d/*.distUpgrade 2>/dev/null # View currently active sources apt-cache policy | head -30 grep -r "^Types:" /etc/apt/sources.list.d/*.sources 2>/dev/null grep -r "^deb " /etc/apt/sources.list.d/*.list 2>/dev/null

Restaurer les sources tierces nécessaires

# Restore after confirming the source supports 26.04 # For example, restoring the Docker source # sudo mv /etc/apt/sources.list.d/docker.list.distUpgrade /etc/apt/sources.list.d/docker.list # Or re-add # sudo add-apt-repository ppa:example/ppa # Update sources sudo apt update

9. Tâches planifiées

# Check user cron crontab -l # Check system cron cat /etc/crontab ls /etc/cron.d/ ls /etc/cron.daily/ ls /etc/cron.weekly/ # Check systemd timers systemctl list-timers --all

10. Journaux et surveillance

Vérifier les journaux de mise à niveau

# Upgrade log directory ls -la /var/log/dist-upgrade/ # View main log cat /var/log/dist-upgrade/main.log | grep -E "(ERROR|WARNING)" # View APT log cat /var/log/dist-upgrade/apt.log | tail -50

Nettoyer les journaux

# Clean old logs to free space sudo journalctl --vacuum-time=7d sudo journalctl --vacuum-size=500M

Résumé de la liste de contrôle

  • Version du système confirmée comme 26.04 LTS
  • Aucun colis cassé ou retenu
  • Tous les services critiques fonctionnent normalement
  • La connectivité réseau est normale (interne et externe)
  • Les règles du pare-feu sont intactes
  • L’espace disque est suffisant
  • L’accès à distance SSH fonctionne
  • Les applications Web répondent normalement
  • Les services de base de données sont normaux
  • Conteneurs Docker fonctionnant normalement
  • Les tâches planifiées fonctionnent
  • Les mises à jour de sécurité automatiques sont activées
  • Sources tierces restaurées si nécessaire
  • Anciens noyaux et paquets inutiles nettoyés
  • Stratégie de mise à niveau définie sur lts
# Final confirmation grep Prompt /etc/update-manager/release-upgrades # Should output: Prompt=lts